Function at 0x51cda0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, dword [ebp + 8]
sub esp, 0x74
push ebx
push esi
push edi
push 0x595a2c
push eax
call fcn.0051c620
lea ecx, [esp + 0x50]
mov esi, eax
push ecx
push esi
call fcn.0052db20
add esp, 0x10
test al, al
je 0x51cf7c
mov edi, dword [ebp + 0xc]
mov ebx, 1
lea ebx, [ebx]
mov eax, dword [esp + 0x48]
cmp eax, 2
jne 0x51ce35
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x60]
push ecx
push esi
call fcn.0052db40
add esp, 0x10
test al, al
je 0x51cf8d
mov edx, dword [esp + 0x4c]
fld qword [esp + 0x50]
push edx
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x6c]
fstp qword [esp]
call fcn.00510da0
mov byte [edi], bl
add esp, 0x14
mov byte [0x5f42b8], bl
jmp 0x51cf66
test eax, eax
jne 0x51ceab
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x5c]
push ecx
push esi
call fcn.0052dba0
add esp, 0xc
test al, al
je 0x51cfe7
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x70]
push ecx
push esi
call fcn.0052db70
add esp, 0x10
test al, al
je 0x51d028
mov edx, dword [esp + 0x44]
fld qword [esp + 0x60]
push edx
sub esp, 0x20
fstp qword [esp + 0x18]
fld qword [esp + 0x8c]
fstp qword [esp + 0x10]
fld qword [esp + 0x74]
fstp qword [esp + 8]
fld qword [esp + 0x7c]
fstp qword [esp]
call fcn.00510dc0
add esp, 0x24
jmp 0x51cf64
cmp eax, ebx
je 0x51ceb8
cmp eax, 0xffffffff
jne 0x51d06c
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x5c]
push ecx
push esi
call fcn.0052dba0
add esp, 0xc
test al, al
je 0x51d0b0
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x6c]
push eax
push esi
call fcn.0052dba0
add esp, 0xc
test al, al
je 0x51d0f4
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x80]
push eax
push esi
call fcn.0052db70
add esp, 0x10
test al, al
je 0x51d138
mov ecx, dword [esp + 0x44]
fld qword [esp + 0x70]
mov edx, dword [esp + 0x48]
push ecx
push edx
sub esp, 0x30
fstp qword [esp + 0x28]
fld qword [esp + 0xb0]
fstp qword [esp + 0x20]
fld qword [esp + 0x98]
fstp qword [esp + 0x18]
fld qword [esp + 0xa0]
fstp qword [esp + 0x10]
fld qword [esp + 0x88]
fstp qword [esp + 8]
fld qword [esp + 0x90]
fstp qword [esp]
call fcn.00510ee0
add esp, 0x38
mov byte [edi], bl
lea eax, [esp + 0x48]
push eax
push esi
call fcn.0052db20
add esp, 8
test al, al
jne 0x51cde0
push esi
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x595a30
push 0x595a58
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x595a68
push 0x595a90
call esi
add eax, 0x40
push eax
call edi
call esi
add eax, 0x40
push eax
call ebx
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x595aa0
push 0x595ac8
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x595ad8
push 0x595b00
jmp 0x51cfcc
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x595b10
push 0x595b38
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x595b48
push 0x595b70
jmp 0x51cfcc
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x595cd0
push 0x595cf4
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadSites_____unknown_data_format__n
push 0x595d28
jmp 0x51cfcc
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x595b80
push 0x595ba8
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x595bb8
push 0x595be0
jmp 0x51cfcc
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x595bf0
push 0x595c18
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x595c28
push 0x595c50
jmp 0x51cfcc
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x595c60
push 0x595c88
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadSites_____premature_end_of_file__n
push 0x595cc0
jmp 0x51cfcc