Function at 0x4299d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5dee9e
mov eax, dword fs:[0]
push eax
sub esp, 0xec
mov eax, dword [0x658aa8]
xor eax, esp
mov dword [esp + 0xe8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x658aa8]
xor eax, esp
push eax
lea eax, [esp + 0x100]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x114]
mov eax, dword [esp + 0x118]
mov ebx, dword [esp + 0x110]
mov edi, ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], eax
test ebp, ebp
je 0x429a3a
push 0xffffffffffffffff
push ebp
mov esi, ebx
call fcn.00428e20
jmp 0x429a51
mov eax, dword [ebx]
lea esi, [ebx + 4]
cmp eax, esi
je 0x429a4c
push eax
call fcn.0049b045
add esp, 4
mov dword [ebx], esi
mov byte [esi], 0
lea esi, [ebx + 0x44]
test edi, edi
je 0x429a62
push 0xffffffffffffffff
push edi
call fcn.00428e20
jmp 0x429a79
mov eax, dword [esi]
lea edi, [esi + 4]
cmp eax, edi
je 0x429a74
push eax
call fcn.0049b045
add esp, 4
mov dword [esi], edi
mov byte [edi], 0
lea edi, [ebx + 0x88]
mov dword [esp + 0x28], edi
test ebp, ebp
je 0x429a93
push 0xffffffffffffffff
push ebp
mov esi, edi
call fcn.00428e20
jmp 0x429aaa
mov eax, dword [edi]
lea esi, [edi + 4]
cmp eax, esi
je 0x429aa5
push eax
call fcn.0049b045
add esp, 4
mov dword [edi], esi
mov byte [esi], 0
lea ecx, [esp + 0x34]
mov dword [esp + 0x30], ecx
mov byte [esp + 0x34], 0
xor eax, eax
mov dword [esp + 0x108], eax
lea edx, [esp + 0x78]
mov dword [esp + 0x74], edx
mov byte [esp + 0x78], al
mov byte [esp + 0x108], 1
mov edi, dword [sym.imp.USER32.dll_CharNextA]
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], eax
cmp eax, 1
jne 0x429aeb
mov ebp, dword [esp + 0x2c]
test ebp, ebp
je 0x42a12c
cmp byte [ebp], 0
je 0x42a12c
jmp 0x429b04
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x34]
cmp ecx, eax
je 0x429b15
push ecx
call fcn.0049b045
add esp, 4
mov eax, dword [esp + 0x74]
lea edx, [esp + 0x78]
lea ecx, [esp + 0x34]
mov dword [esp + 0x30], ecx
mov byte [esp + 0x34], 0
cmp eax, edx
je 0x429b37
push eax
call fcn.0049b045
add esp, 4
lea eax, [esp + 0x78]
mov dword [esp + 0x74], eax
mov byte [esp + 0x78], 0
mov al, byte [ebp]
test al, al
jle 0x429b60
jmp 0x429b50
cmp al, 0x20
jg 0x429b60
push ebp
call edi
mov ebp, eax
mov al, byte [ebp]
test al, al
jg 0x429b50
mov al, byte [ebp]
test al, al
je 0x429b9f
cmp al, 0x3d
je 0x429b9f
cmp al, 0x20
jle 0x429b9f
push ebp
call edi
mov esi, eax
cmp ebp, esi
jae 0x429b98
mov cl, byte [ebp]
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x34]
push eax
mov byte [esp + 0x28], cl
mov byte [esp + 0x29], 0
call fcn.00428d20
inc ebp
cmp ebp, esi
jb 0x429b78
mov al, byte [ebp]
test al, al
jne 0x429b67
mov al, byte [ebp]
test al, al
jle 0x429bb6
cmp al, 0x20
jg 0x429bb6
push ebp
call edi
mov ebp, eax
mov al, byte [ebp]
test al, al
jg 0x429ba6
mov cl, byte [ebp]
inc ebp
cmp cl, 0x3d
jne 0x42a128
mov al, byte [ebp]
test al, al
jle 0x429be0
lea ebx, [ebx]
cmp al, 0x20
jg 0x429be0
push ebp
call edi
mov ebp, eax
mov al, byte [ebp]
test al, al
jg 0x429bd0
mov dl, byte [ebp]
inc ebp
cmp dl, 0x27
jne 0x42a128
mov al, byte [ebp]
test al, al
je 0x429c28
cmp al, 0x27
je 0x429c28
push ebp
call edi
mov esi, eax
cmp ebp, esi
jae 0x429c21
mov al, byte [ebp]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x78]
push edx
mov byte [esp + 0x24], al
mov byte [esp + 0x25], 0
call fcn.00428d20
inc ebp
cmp ebp, esi
jb 0x429c01
mov al, byte [ebp]
test al, al
jne 0x429bf4
mov al, byte [ebp]
inc ebp
cmp al, 0x27
jne 0x42a128
mov ecx, dword [esp + 0x74]
cmp byte [ecx], 0
je 0x42a115
mov edx, dword [esp + 0x30]
push 0x639968
push edx
call fcn.00499e1e
add esp, 8
test eax, eax
je 0x42a105
mov eax, dword [esp + 0x30]
push 0x639970
push eax
call fcn.00499e1e
add esp, 8
test eax, eax
je 0x42a105
mov ecx, dword [esp + 0x30]
push str.restype
push ecx
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x429c9d
mov edx, dword [esp + 0x74]
push 0xffffffffffffffff
lea esi, [ebx + 0xcc]
push edx
jmp 0x42a110
mov eax, dword [esp + 0x30]
push str.dest
push eax
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x429d19
mov edx, dword [esp + 0x74]
push 0xa
lea ecx, [esp + 0x18]
push ecx
push edx
lea esi, [ebx + 0x110]
call fcn.004a4b40
mov ecx, dword [esp + 0x20]
mov dword [esi], eax
push 0xa
lea eax, [esp + 0x24]
push eax
inc ecx
push ecx
call fcn.004a4b40
mov dword [ebx + 0x114], eax
mov eax, dword [esp + 0x2c]
push 0xa
lea edx, [esp + 0x30]
push edx
inc eax
push eax
call fcn.004a4b40
mov edx, dword [esp + 0x38]
push 0xa
lea ecx, [esp + 0x3c]
push ecx
inc edx
push edx
mov dword [ebx + 0x118], eax
call fcn.004a4b40
mov dword [ebx + 0x11c], eax
jmp 0x429e0d
mov eax, dword [esp + 0x30]
push str.source
push eax
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x429d92
mov edx, dword [esp + 0x74]
push 0xa
lea ecx, [esp + 0x18]
push ecx
push edx
lea esi, [ebx + 0x120]
call fcn.004a4b40
mov ecx, dword [esp + 0x20]
mov dword [esi], eax
push 0xa
lea eax, [esp + 0x24]
push eax
inc ecx
push ecx
call fcn.004a4b40
mov dword [ebx + 0x124], eax
mov eax, dword [esp + 0x2c]
push 0xa
lea edx, [esp + 0x30]
push edx
inc eax
push eax
call fcn.004a4b40
mov edx, dword [esp + 0x38]
push 0xa
lea ecx, [esp + 0x3c]
push ecx
inc edx
push edx
mov dword [ebx + 0x128], eax
call fcn.004a4b40
mov dword [ebx + 0x12c], eax
jmp 0x429e0d
mov eax, dword [esp + 0x30]
push str.corner
push eax
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x429e37
mov edx, dword [esp + 0x74]
push 0xa
lea ecx, [esp + 0x18]
push ecx
push edx
lea esi, [ebx + 0x130]
call fcn.004a4b40
mov ecx, dword [esp + 0x20]
mov dword [esi], eax
push 0xa
lea eax, [esp + 0x24]
push eax
inc ecx
push ecx
call fcn.004a4b40
mov dword [ebx + 0x134], eax
mov eax, dword [esp + 0x2c]
push 0xa
lea edx, [esp + 0x30]
push edx
inc eax
push eax
call fcn.004a4b40
mov edx, dword [esp + 0x38]
push 0xa
lea ecx, [esp + 0x3c]
push ecx
inc edx
push edx
mov dword [ebx + 0x138], eax
call fcn.004a4b40
mov dword [ebx + 0x13c], eax
add esp, 0x30
cmp dword [esp + 0x18], 0
je 0x42a115
mov edi, dword [esp + 0x18]
push esi
call fcn.0042e900
mov edi, eax
call fcn.00434360
mov edi, dword [sym.imp.USER32.dll_CharNextA]
jmp 0x42a115
mov eax, dword [esp + 0x30]
push str.mask
push eax
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x429e8b
mov eax, dword [esp + 0x74]
cmp byte [eax], 0x23
push 0x10
jne 0x429e72
lea ecx, [esp + 0x18]
push ecx
inc eax
push eax
call fcn.004a4b6b
add esp, 0xc
mov dword [ebx + 0x140], eax
jmp 0x42a115
lea edx, [esp + 0x18]
push edx
push eax
call fcn.004a4b6b
add esp, 0xc
mov dword [ebx + 0x140], eax
jmp 0x42a115
mov eax, dword [esp + 0x30]
push str.fade
push eax
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x429ec0
mov edx, dword [esp + 0x74]
push 0xa
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.004a4b6b
add esp, 0xc
mov dword [ebx + 0x144], eax
jmp 0x42a115
mov eax, dword [esp + 0x30]
push str.rotate
push eax
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x429efc
mov edx, dword [esp + 0x74]
push 0xa
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.004a4b6b
add esp, 0xc
mov dword [ebx + 0x148], eax
mov byte [ebx + 0x150], 1
jmp 0x42a115
mov eax, dword [esp + 0x30]
push str.gdiplus
push eax
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x429f34
mov ecx, dword [esp + 0x74]
push str.true
push ecx
call fcn.0049a488
add esp, 8
test eax, eax
sete dl
mov byte [ebx + 0x150], dl
jmp 0x42a115
mov eax, dword [esp + 0x30]
push str.hole
push eax
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x429f6c
mov ecx, dword [esp + 0x74]
push str.true
push ecx
call fcn.0049a488
add esp, 8
test eax, eax
sete dl
mov byte [ebx + 0x14c], dl
jmp 0x42a115
mov eax, dword [esp + 0x30]
push str.xtiled
push eax
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x429fa4
mov ecx, dword [esp + 0x74]
push str.true
push ecx
call fcn.0049a488
add esp, 8
test eax, eax
sete dl
mov byte [ebx + 0x14d], dl
jmp 0x42a115
mov eax, dword [esp + 0x30]
push str.ytiled
push eax
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x429fdc
mov ecx, dword [esp + 0x74]
push str.true
push ecx
call fcn.0049a488
add esp, 8
test eax, eax
sete dl
mov byte [ebx + 0x14e], dl
jmp 0x42a115
mov eax, dword [esp + 0x30]
push 0x6399d4
push eax
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x42a014
mov ecx, dword [esp + 0x74]
push str.true
push ecx
call fcn.0049a488
add esp, 8
test eax, eax
sete dl
mov byte [ebx + 0x14f], dl
jmp 0x42a115
mov eax, dword [esp + 0x30]
push str.size
push eax
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x42a061
mov edx, dword [esp + 0x74]
push 0xa
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.004a4b40
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x154], eax
push 0xa
lea eax, [esp + 0x24]
push eax
inc ecx
push ecx
call fcn.004a4b40
add esp, 0x18
mov dword [ebx + 0x158], eax
jmp 0x42a115
mov edx, dword [esp + 0x30]
push str.align
push edx
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x42a089
mov eax, dword [esp + 0x74]
push 0xffffffffffffffff
lea esi, [ebx + 0x16c]
push eax
jmp 0x42a110
mov ecx, dword [esp + 0x30]
push str.padding
push ecx
call fcn.00499e1e
add esp, 8
test eax, eax
jne 0x42a115
mov eax, dword [esp + 0x74]
push 0xa
lea edx, [esp + 0x18]
push edx
push eax
lea esi, [ebx + 0x15c]
call fcn.004a4b40
mov edx, dword [esp + 0x20]
push 0xa
lea ecx, [esp + 0x24]
push ecx
inc edx
push edx
mov dword [esi], eax
call fcn.004a4b40
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 0x160], eax
push 0xa
lea eax, [esp + 0x30]
push eax
inc ecx
push ecx
call fcn.004a4b40
mov dword [ebx + 0x164], eax
mov eax, dword [esp + 0x38]
push 0xa
lea edx, [esp + 0x3c]
push edx
inc eax
push eax
call fcn.004a4b40
mov dword [ebx + 0x168], eax
jmp 0x429e0d
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x28]
push 0xffffffffffffffff
push ecx
call fcn.00428e20
mov dl, byte [ebp]
inc ebp
cmp dl, 0x20
jne 0x42a128
cmp byte [ebp], 0
jne 0x429b00
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
inc eax
cmp eax, 2
mov dword [esp + 0x24], eax
jl 0x429ae2
cmp dword [esp + 0x18], 0
je 0x42a1f3
mov edi, dword [esp + 0x18]
call fcn.0042e900
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x42a1f3
cmp ecx, 1
jne 0x42a167
mov eax, dword [eax + 4]
jmp 0x42a169
mov eax, dword [eax]
cmp eax, 0x64
je 0x42a1f3
lea eax, [esp + 0xbc]
mov dword [esp + 0xb8], eax
mov byte [esp + 0xbc], 0
mov byte [esp + 0x108], 2
call fcn.0042e900
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x42a1a1
lea eax, [ecx + 0x64]
jmp 0x42a1ad
cmp ecx, 1
jne 0x42a1ab
mov eax, dword [eax + 4]
jmp 0x42a1ad
mov eax, dword [eax]
push eax
push str.__d.
lea edx, [esp + 0xc0]
call fcn.00429400
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xc0]
add esp, 8
push ecx
mov ecx, 0x6399f8
call fcn.00429240
mov eax, dword [esp + 0xb8]
lea edx, [esp + 0xbc]
cmp eax, edx
je 0x42a1f3
push eax
call fcn.0049b045
add esp, 4
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x78]
cmp eax, ecx
je 0x42a208
push eax
call fcn.0049b045
add esp, 4
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x34]
cmp eax, edx
je 0x42a21d
push eax
call fcn.0049b045
add esp, 4
mov ecx, dword [esp + 0x100]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xe8]
xor ecx, esp
call fcn.00499a1c
add esp, 0xf8
ret 0xc