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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x492609
mov eax, dword fs:[0]
push eax
sub esp, 0x1a0
mov eax, dword [0x4b04dc]
xor eax, esp
mov dword [esp + 0x198], eax
push ebx
push esi
push edi
mov eax, dword [0x4b04dc]
xor eax, esp
push eax
lea eax, [esp + 0x1b0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x74], edx
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x80], edx
test eax, eax
je 0x444c23
test ecx, ecx
je 0x444c23
lea eax, [esp + 0x118]
mov dword [esp + 0x114], eax
push edi
or eax, 0xffffffff
lea esi, [esp + 0x118]
mov byte [esp + 0x11c], 0
call fcn.004543b0
xor eax, eax
mov dword [esp + 0x1b8], eax
lea ecx, [esp + 0x160]
mov dword [esp + 0x15c], ecx
mov byte [esp + 0x160], al
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x2c], edx
mov edx, dword [ebx + 8]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x34], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x24], eax
mov byte [esp + 0x58], 0xff
mov byte [esp + 0x50], al
mov byte [esp + 0x54], al
mov byte [esp + 0x3c], al
mov dword [esp + 0x18], eax
mov dword [esp + 0x84], ecx
mov byte [esp + 0x88], al
lea edx, [esp + 0xd0]
mov dword [esp + 0xcc], edx
mov byte [esp + 0xd0], al
mov byte [esp + 0x1b8], 3
mov dword [esp + 0x14], eax
mov dword [esp + 0x78], eax
mov esi, dword [sym.imp.USER32.dll_CharNextA]
cmp eax, 1
jne 0x444387
mov edi, dword [esp + 0x80]
test edi, edi
je 0x444ae5
cmp byte [edi], 0
je 0x444ae5
jmp 0x4443ad
mov esi, dword [sym.imp.USER32.dll_CharNextA]
mov ecx, dword [esp + 0x84]
lea eax, [esp + 0x88]
cmp ecx, eax
je 0x4443c1
push ecx
call fcn.00476c90
add esp, 4
mov eax, dword [esp + 0xcc]
lea edx, [esp + 0xd0]
lea ecx, [esp + 0x88]
mov dword [esp + 0x84], ecx
mov byte [esp + 0x88], 0
cmp eax, edx
je 0x4443f2
push eax
call fcn.00476c90
add esp, 4
lea eax, [esp + 0xd0]
mov dword [esp + 0xcc], eax
mov byte [esp + 0xd0], 0
mov al, byte [edi]
test al, al
jle 0x44441d
cmp al, 0x20
jg 0x44441d
push edi
call esi
mov edi, eax
mov al, byte [edi]
test al, al
jg 0x44440e
mov al, byte [edi]
test al, al
je 0x444465
cmp al, 0x3d
je 0x44445f
cmp al, 0x20
jle 0x44445f
push edi
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
cmp edi, esi
jae 0x444459
mov cl, byte [edi]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x88]
mov byte [esp + 0x2c], cl
mov byte [esp + 0x2d], 0
call fcn.004542b0
inc edi
cmp edi, esi
jb 0x444438
mov al, byte [edi]
test al, al
jne 0x444423
mov esi, dword [sym.imp.USER32.dll_CharNextA]
mov al, byte [edi]
test al, al
jle 0x44447a
cmp al, 0x20
jg 0x44447a
push edi
call esi
mov edi, eax
mov al, byte [edi]
test al, al
jg 0x44446b
mov al, byte [edi]
inc edi
cmp al, 0x3d
jne 0x444ade
mov al, byte [edi]
test al, al
jle 0x44449a
cmp al, 0x20
jg 0x44449a
push edi
call esi
mov edi, eax
mov al, byte [edi]
test al, al
jg 0x44448b
mov cl, byte [edi]
inc edi
cmp cl, 0x27
jne 0x444ade
mov al, byte [edi]
test al, al
je 0x4444e8
lea esp, [esp]
cmp al, 0x27
je 0x4444e8
push edi
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
cmp edi, esi
jae 0x4444e2
mov dl, byte [edi]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0xd0]
mov byte [esp + 0x24], dl
mov byte [esp + 0x25], 0
call fcn.004542b0
inc edi
cmp edi, esi
jb 0x4444c1
mov al, byte [edi]
test al, al
jne 0x4444b0
mov cl, byte [edi]
inc edi
cmp cl, 0x27
jne 0x444ade
mov edx, dword [esp + 0xcc]
cmp byte [edx], 0
je 0x444acd
mov eax, dword [esp + 0x84]
push 0x49f97c
push eax
call fcn.0047687c
add esp, 8
test eax, eax
je 0x444934
mov ecx, dword [esp + 0x84]
push 0x49f984
push ecx
call fcn.0047687c
add esp, 8
test eax, eax
je 0x444934
mov edx, dword [esp + 0x84]
push str.restype
push edx
call fcn.0047687c
add esp, 8
test eax, eax
jne 0x444639
cmp dword [esp + 0x18], eax
jle 0x44461d
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x54]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x50]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0xa4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
push eax
push ecx
mov ecx, dword [esp + 0xb0]
lea edx, [esp + 0x1a0]
push edx
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x15c]
push eax
push ecx
mov ecx, dword [esp + 0xc0]
call fcn.00444110
mov ebx, dword [esp + 0x6c]
add esp, 0x50
mov edx, dword [esp + 0xcc]
push edx
or eax, 0xffffffff
lea esi, [esp + 0x160]
call fcn.004543b0
jmp 0x444ac9
mov eax, dword [esp + 0x84]
push str.dest
push eax
call fcn.0047687c
add esp, 8
test eax, eax
jne 0x4446e5
mov edx, dword [esp + 0xcc]
push 0xa
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.00479603
add eax, dword [ebx]
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x2c], eax
push 0xa
lea eax, [esp + 0x18]
push eax
inc ecx
push ecx
call fcn.00479603
add eax, dword [ebx + 4]
add esp, 0xc
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
push 0xa
lea edx, [esp + 0x18]
push edx
inc eax
push eax
call fcn.00479603
add eax, dword [ebx]
mov ecx, dword [ebx + 8]
add esp, 0xc
mov dword [esp + 0x34], eax
cmp eax, ecx
jle 0x4446b5
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x14]
push 0xa
lea ecx, [esp + 0x18]
push ecx
inc edx
push edx
call fcn.00479603
add eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
add esp, 0xc
mov dword [esp + 0x38], eax
cmp eax, ecx
jle 0x444acd
mov dword [esp + 0x38], ecx
jmp 0x444acd
mov eax, dword [esp + 0x84]
push str.source
push eax
call fcn.0047687c
add esp, 8
test eax, eax
jne 0x444769
mov edx, dword [esp + 0xcc]
push 0xa
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.00479603
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x40], eax
push 0xa
lea eax, [esp + 0x18]
push eax
inc ecx
push ecx
call fcn.00479603
add esp, 0xc
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x14]
push 0xa
lea edx, [esp + 0x18]
push edx
inc eax
push eax
call fcn.00479603
mov edx, dword [esp + 0x20]
add esp, 0xc
push 0xa
lea ecx, [esp + 0x18]
push ecx
inc edx
push edx
mov dword [esp + 0x54], eax
call fcn.00479603
add esp, 0xc
mov dword [esp + 0x4c], eax
jmp 0x444acd
mov eax, dword [esp + 0x84]
push str.corner
push eax
call fcn.0047687c
add esp, 8
test eax, eax
jne 0x4447ed
mov edx, dword [esp + 0xcc]
push 0xa
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.00479603
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x5c], eax
push 0xa
lea eax, [esp + 0x18]
push eax
inc ecx
push ecx
call fcn.00479603
add esp, 0xc
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x14]
push 0xa
lea edx, [esp + 0x18]
push edx
inc eax
push eax
call fcn.00479603
mov edx, dword [esp + 0x20]
add esp, 0xc
push 0xa
lea ecx, [esp + 0x18]
push ecx
inc edx
push edx
mov dword [esp + 0x70], eax
call fcn.00479603
add esp, 0xc
mov dword [esp + 0x68], eax
jmp 0x444acd
mov eax, dword [esp + 0x84]
push str.mask
push eax
call fcn.0047687c
add esp, 8
test eax, eax
jne 0x444843
mov eax, dword [esp + 0xcc]
cmp byte [eax], 0x23
push 0x10
jne 0x44482c
lea ecx, [esp + 0x18]
push ecx
inc eax
push eax
call fcn.0047962e
add esp, 0xc
mov dword [esp + 0x24], eax
jmp 0x444acd
lea edx, [esp + 0x18]
push edx
push eax
call fcn.0047962e
add esp, 0xc
mov dword [esp + 0x24], eax
jmp 0x444acd
mov eax, dword [esp + 0x84]
push str.fade
push eax
call fcn.0047687c
add esp, 8
test eax, eax
jne 0x44487c
mov edx, dword [esp + 0xcc]
push 0xa
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.0047962e
add esp, 0xc
mov byte [esp + 0x58], al
jmp 0x444acd
mov eax, dword [esp + 0x84]
push str.hole
push eax
call fcn.0047687c
add esp, 8
test eax, eax
jne 0x4448b8
mov ecx, dword [esp + 0xcc]
push str.true
push ecx
call fcn.0047687c
add esp, 8
test eax, eax
sete dl
mov byte [esp + 0x50], dl
jmp 0x444acd
mov eax, dword [esp + 0x84]
push str.xtiled
push eax
call fcn.0047687c
add esp, 8
test eax, eax
jne 0x4448f4
mov ecx, dword [esp + 0xcc]
push str.true
push ecx
call fcn.0047687c
add esp, 8
test eax, eax
sete dl
mov byte [esp + 0x54], dl
jmp 0x444acd
mov eax, dword [esp + 0x84]
push str.ytiled
push eax
call fcn.0047687c
add esp, 8
test eax, eax
jne 0x444acd
mov ecx, dword [esp + 0xcc]
push str.true
push ecx
call fcn.0047687c
add esp, 8
test eax, eax
sete dl
mov byte [esp + 0x3c], dl
jmp 0x444acd
cmp dword [esp + 0x18], 0
jle 0x4449f3
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x54]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x50]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0xa4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
push eax
push ecx
mov ecx, dword [esp + 0xb0]
lea edx, [esp + 0x1a0]
push edx
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x15c]
push eax
push ecx
mov ecx, dword [esp + 0xc0]
call fcn.00444110
add esp, 0x50
mov eax, dword [esp + 0xcc]
mov ecx, eax
mov dword [esp + 0x7c], eax
test eax, eax
jne 0x444a0d
mov ecx, 0x497892
mov dword [esp + 0x7c], ecx
mov eax, ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444a12
sub eax, edx
mov esi, eax
mov eax, dword [esp + 0x114]
cmp esi, 0x3f
jge 0x444a46
lea edx, [esp + 0x118]
cmp eax, edx
je 0x444a92
push eax
call fcn.00476c90
add esp, 4
lea eax, [esp + 0x118]
jmp 0x444a8b
mov ecx, eax
lea ebx, [ecx + 1]
jmp 0x444a50
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x444a50
sub ecx, ebx
cmp esi, ecx
jg 0x444a6a
lea ecx, [esp + 0x118]
cmp eax, ecx
jne 0x444a92
jmp 0x444a75
lea edx, [esp + 0x118]
cmp eax, edx
jne 0x444a7e
xor eax, eax
mov dword [esp + 0x114], eax
lea ecx, [esi + 1]
push ecx
push eax
call fcn.004770e6
add esp, 8
mov dword [esp + 0x114], eax
mov edx, dword [esp + 0x7c]
push esi
push edx
push eax
call fcn.0047792b
mov eax, dword [esp + 0x120]
add esp, 0xc
mov byte [esi + eax], 0
mov ecx, dword [esp + 0x84]
push 0x49f97c
push ecx
call fcn.0047687c
mov ebx, dword [esp + 0x24]
add esp, 8
test eax, eax
jne 0x444acd
inc dword [esp + 0x18]
mov dl, byte [edi]
inc edi
cmp dl, 0x20
jne 0x444ade
cmp byte [edi], 0
jne 0x4443a0
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x18], 0
cmp eax, 2
jl 0x444375
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x54]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x50]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0xa4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
push eax
push ecx
mov ecx, dword [esp + 0xb0]
lea edx, [esp + 0x1a0]
push edx
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x15c]
push eax
push ecx
mov ecx, dword [esp + 0xc0]
call fcn.00444110
mov eax, dword [esp + 0x11c]
lea edx, [esp + 0x120]
add esp, 0x50
cmp eax, edx
je 0x444bce
push eax
call fcn.00476c90
add esp, 4
mov eax, dword [esp + 0x84]
lea ecx, [esp + 0x88]
cmp eax, ecx
je 0x444be9
push eax
call fcn.00476c90
add esp, 4
mov eax, dword [esp + 0x15c]
lea edx, [esp + 0x160]
cmp eax, edx
je 0x444c04
push eax
call fcn.00476c90
add esp, 4
mov eax, dword [esp + 0x114]
lea ecx, [esp + 0x118]
cmp eax, ecx
je 0x444c1f
push eax
call fcn.00476c90
add esp, 4
mov al, 1
jmp 0x444c25
xor al, al
mov ecx, dword [esp + 0x1b0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x198]
xor ecx, esp
call fcn.00475dcc
mov esp, ebp
pop ebp
ret