Function at 0x402e5f
Capabilities:
Print debug messages

Disassembly:
jmp 0x47a530
mov eax, dword [esp + 4]
push ebx
push ebp
push esi
push edi
mov edi, dword [eax]
mov esi, ecx
mov eax, dword [edi]
sub eax, 3
je 0x47a818
sub eax, 2
je 0x47a6a0
sub eax, 0xfc
jne 0x47a872
mov eax, dword [0x546a6c]
test eax, eax
je 0x47a872
mov edx, dword [0x552b84]
or edi, 0xffffffff
xor eax, eax
test edx, edx
jle 0x47a595
mov ebx, dword [0x551de4]
mov ecx, 0x552dd0
cmp dword [ecx], ebx
je 0x47a593
inc eax
add ecx, 0x10c
cmp eax, edx
jl 0x47a582
jmp 0x47a595
mov edi, eax
mov eax, dword [0x5537f0]
mov ebp, 1
cmp eax, ebp
jne 0x47a5c6
mov ecx, dword [0x5538dc]
mov eax, dword [ecx + 0x990]
test eax, eax
jne 0x47a5dd
mov ecx, dword [0x5469ac]
push edi
mov edx, dword [ecx]
call dword [edx + 0x3c]
pop edi
pop esi
pop ebp
pop ebx
ret 4
test eax, eax
jne 0x47a5b3
mov edx, edi
shl edx, 5
add edx, edi
lea eax, [edi + edx*2]
cmp dword [eax*4 + 0x552dd4], ebp
jne 0x47a5b3
mov dword [esi + 0x3b8], ebp
call fcn.00402531
mov ecx, eax
push 0xc
shl ecx, 5
add ecx, eax
lea edx, [eax + ecx*2]
mov eax, dword [edx*4 + 0x552dd0]
mov dword [esi + 0x3bc], eax
call fcn.0050ef5f
add esp, 4
test eax, eax
je 0x47a625
mov ecx, dword [esi + 0x3bc]
mov dword [eax + 4], 0x411
mov dword [eax + 8], ecx
mov dword [eax], 0x52972c
jmp 0x47a627
xor eax, eax
add esi, 8
push 0
push esi
mov ecx, eax
call fcn.00401df7
cmp dword [0x5537f0], ebp
jne 0x47a662
mov ecx, dword [0x553c68]
mov eax, dword [ecx + 0xd6c]
test eax, eax
mov eax, dword [0x5538dc]
jne 0x47a65a
cmp dword [eax + 0x25c], 0x4a
jne 0x47a679
inc dword [eax + 0x1a4]
jmp 0x47a66d
mov ecx, dword [0x5468ac]
call fcn.00402cd9
cmp dword [0x5537f0], ebp
jne 0x47a872
mov edx, edi
shl edx, 5
add edx, edi
lea eax, [edi + edx*2]
pop edi
pop esi
pop ebp
mov dword [eax*4 + 0x552dd4], 2
mov eax, dword [0x552b80]
dec eax
pop ebx
mov dword [0x552b80], eax
ret 4
mov eax, dword [edi + 4]
mov ebp, 1
cmp eax, ebp
jne 0x47a872
push str._nMAD_:_Player_just_quit_game.
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x546a6c]
test eax, eax
jne 0x47a701
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x3bc]
cmp eax, ecx
jne 0x47a6e2
mov ecx, 0x551ed0
call fcn.00403bde
pop edi
pop esi
pop ebp
pop ebx
ret 4
mov eax, dword [0x551de0]
test eax, eax
je 0x47a872
mov ecx, dword [0x552530]
call fcn.00403855
pop edi
pop esi
pop ebp
pop ebx
ret 4
mov esi, dword [0x5537f0]
mov ebx, dword [0x5538dc]
test esi, esi
jne 0x47a732
mov ecx, dword [0x5468ac]
mov eax, dword [ecx + 0x260]
cmp eax, 0x1b
je 0x47a872
cmp eax, 0x1d
jne 0x47a752
pop edi
pop esi
pop ebp
pop ebx
ret 4
cmp esi, ebp
jne 0x47a872
mov eax, dword [ebx + 0x25c]
cmp eax, 0x3a
je 0x47a872
cmp eax, 0x3b
je 0x47a872
mov edx, dword [0x552b84]
xor eax, eax
test edx, edx
jle 0x47a872
mov edi, dword [edi + 8]
mov ecx, 0x552dd0
cmp dword [ecx], edi
je 0x47a780
inc eax
add ecx, 0x10c
cmp eax, edx
jl 0x47a76a
pop edi
pop esi
pop ebp
pop ebx
ret 4
cmp dword [0x551de4], edi
jne 0x47a7d4
cmp esi, ebp
jne 0x47a872
mov ecx, dword [ebx + 0x990]
test ecx, ecx
je 0x47a7d4
cmp esi, ebp
jne 0x47a872
test ecx, ecx
je 0x47a872
mov edx, eax
mov ecx, 2
shl edx, 5
add edx, eax
lea eax, [eax + edx*2]
cmp dword [eax*4 + 0x552dd4], ecx
je 0x47a872
pop edi
pop esi
pop ebp
mov dword [eax*4 + 0x552dd4], ecx
pop ebx
ret 4
mov ecx, eax
shl ecx, 5
add ecx, eax
lea ecx, [eax + ecx*2]
mov edx, dword [ecx*4 + 0x552dd4]
test edx, edx
jne 0x47a872
mov edi, dword [0x552b80]
mov dword [ecx*4 + 0x552dd4], 2
mov ecx, dword [0x5469ac]
dec edi
mov dword [0x552b80], edi
push eax
mov edx, dword [ecx]
call dword [edx + 0x3c]
pop edi
pop esi
pop ebp
pop ebx
ret 4
mov eax, dword [esi + 0x3b8]
test eax, eax
je 0x47a872
push 0xb0
call fcn.0050ef5f
add esp, 4
test eax, eax
je 0x47a857
lea edi, [eax + 8]
mov ecx, 0x2a
mov esi, 0x5537f0
mov dword [eax + 4], 0x3ec
mov dword [eax], 0x529408
rep movsd dword es:[edi], dword [esi]
mov dword [eax], 0x529728
jmp 0x47a859
xor eax, eax
push 0
push 0x551a30
mov ecx, eax
call fcn.00401df7
mov ecx, dword [0x552530]
call fcn.00403855
pop edi
pop esi
pop ebp
pop ebx
ret 4