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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4e303a
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x515854]
xor eax, esp
mov dword [esp + 0x110], eax
push ebx
push esi
push edi
mov eax, dword [0x515854]
xor eax, esp
push eax
lea eax, [esp + 0x128]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
or dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x14], vtable.GameMgr::GMFile.0
push 0x80
push 3
push 1
xor ebx, ebx
push 0x120089
lea esi, [esp + 0x24]
mov dword [esp + 0x140], ebx
call fcn.00430a41
test al, al
je 0x439dfa
xor eax, eax
lea edi, [esp + 0x28]
stosd dword es:[edi], eax
lea eax, [esp + 0x24]
push eax
push 4
lea eax, [esp + 0x30]
push eax
mov ecx, esi
mov dword [esp + 0x30], ebx
call fcn.00430a81
test al, al
je 0x439dfa
cmp dword [esp + 0x24], 4
jne 0x439dfa
push 4
lea eax, [esp + 0x2c]
push str.GMUTP
push eax
call fcn.004ba5ab
add esp, 0xc
test eax, eax
jne 0x439dfa
lea eax, [esp + 0x24]
push eax
push 1
lea eax, [esp + 0x1b]
push eax
mov ecx, esi
mov byte [esp + 0x1f], bl
call fcn.00430a81
test al, al
je 0x439dfa
cmp dword [esp + 0x24], 1
jne 0x439dfa
cmp byte [esp + 0x13], bl
je 0x439dfa
mov dword [esp + 0x30], vtable.GameMgr::GMBuffer_unsigned_char_.0
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
lea eax, [esp + 0x20]
push eax
mov eax, esi
push eax
lea eax, [esp + 0x38]
mov byte [esp + 0x138], 1
call fcn.00436921
test al, al
pop ecx
pop ecx
jne 0x439e29
lea ecx, [esp + 0x30]
call fcn.004010a0
lea esi, [esp + 0x14]
call fcn.00430a2d
xor al, al
mov ecx, dword [esp + 0x128]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x110]
xor ecx, esp
call fcn.004b6e9f
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x130], 2
xor edi, edi
cmp dword [esp + 0x3c], ebx
jbe 0x439e96
mov ebx, dword [esp + 0x38]
mov eax, dword [ebx + edi]
mov dword [esp + 0x20], eax
shr eax, 1
push eax
add edi, 4
lea eax, [ebx + edi]
push eax
lea eax, [esp + 0x7c]
call fcn.0043b67e
lea eax, [esp + 0x74]
push eax
lea esi, [esp + 0x44]
mov byte [esp + 0x134], 3
call fcn.0040a7e0
add edi, dword [esp + 0x20]
lea esi, [esp + 0x74]
mov byte [esp + 0x130], 2
call fcn.00401650
cmp edi, dword [esp + 0x3c]
jb 0x439e49
xor ebx, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x74], vtable.GameMgr::GMBuffer_unsigned_char_.0
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x7c]
mov byte [esp + 0x138], 4
call fcn.00436921
test al, al
pop ecx
pop ecx
jne 0x439ee9
lea ecx, [esp + 0x74]
call fcn.004010a0
lea esi, [esp + 0x40]
call fcn.00407950
jmp 0x439df1
lea ecx, [esp + 0x14]
call fcn.00430afe
push dword [esp + 0x2c]
lea edi, [esp + 0x94]
mov byte [esp + 0x16], 0
call fcn.0043eabf
pop ecx
mov eax, edi
push 0x20
push eax
mov byte [esp + 0x138], 5
call fcn.0043e888
pop ecx
pop ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x1c], ebx
call fcn.00407600
cmp eax, ebx
jbe 0x43a017
sub eax, dword [esp + 0x1c]
dec eax
push eax
lea eax, [esp + 0x44]
call fcn.0043b6f7
mov edi, eax
mov esi, edi
call fcn.0043ea5d
test al, al
jne 0x439f85
lea eax, [esp + 0x90]
push edi
push eax
lea ecx, [esp + 0x60]
call fcn.0043e96d
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov eax, edi
mov byte [esp + 0x13c], 6
call fcn.00401690
lea esi, [esp + 0x58]
mov byte [esp + 0x130], 5
call fcn.00401650
push edi
call fcn.0043ec38
test al, al
pop ecx
je 0x439ff9
push 0x20
push edi
call fcn.0043e888
pop ecx
pop ecx
mov eax, edi
lea ecx, [esp + 0x90]
call fcn.0042f34d
test eax, eax
je 0x43a012
push edi
call fcn.0043ece2
test al, al
pop ecx
je 0x439fc0
push edi
call fcn.0043ed7e
pop ecx
jmp 0x439fc7
mov esi, edi
call fcn.0043ed39
mov eax, fcn.004071b0
test eax, eax
je 0x439ff9
push dword [esp + 0x50]
lea ecx, [esp + 0x44]
call fcn.00407600
push eax
push dword [esp + 0x24]
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x7c], esp
push edi
call fcn.00401620
call fcn.004071b0
add esp, 0x28
inc dword [esp + 0x1c]
lea ecx, [esp + 0x40]
call fcn.00407600
cmp dword [esp + 0x1c], eax
jb 0x439f31
jmp 0x43a017
mov byte [esp + 0x12], 1
cmp dword [esp + 0x20], ebx
jbe 0x43a06d
push ebx
lea eax, [esp + 0xb0]
push eax
call fcn.0044c404
lea eax, [esp + 0x74]
push eax
mov byte [esp + 0x134], 7
call fcn.0044db4c
test al, al
pop ecx
lea eax, [esp + 0xac]
mov byte [esp + 0x130], 5
push eax
jne 0x43a068
call fcn.0044c469
lea esi, [esp + 0x90]
call fcn.00401650
jmp 0x439ed2
call fcn.0044c469
mov esi, dword [esp + 0x2c]
call fcn.0043ed39
cmp byte [esp + 0x12], 0
je 0x43a08b
lea eax, [esp + 0x90]
push eax
call fcn.0043ed7e
pop ecx
lea esi, [esp + 0x90]
call fcn.00401650
lea ecx, [esp + 0x74]
call fcn.004010a0
lea esi, [esp + 0x40]
call fcn.00407950
lea ecx, [esp + 0x30]
call fcn.004010a0
lea esi, [esp + 0x14]
call fcn.00430a2d
mov al, 1
jmp 0x439e05