Function at 0x40b720
Capabilities:
Get file size
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x1070
call fcn.0044a6c0
mov esi, esp
mov dword [esi], 0xaa937b77
mov ebx, dword [esi + 0x3c]
mov eax, dword [esi + 0x30]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x10], eax
xor edi, edi
inc edi
mov eax, dword [esi]
cmp eax, 0xf6c5cd5a
jg 0x40b7c5
cmp eax, 0xc71cd4c9
jle 0x40b812
cmp eax, 0xe04cd1eb
jle 0x40b8db
cmp eax, 0xeb227f64
jg 0x40b9d5
cmp eax, 0xe04cd1ec
je 0x40bbf3
cmp eax, 0xe26df8f2
je 0x40bc1c
cmp eax, 0xe7dc6a3e
jne 0x40b759
imul eax, ebx, 0xcb10000
lea ebx, [eax + eax*4]
call fcn.0040b720
call fcn.0040bf63
mov eax, 0xaa937b77
test ebx, ebx
jne 0x40ba1a
jmp 0x40be96
cmp eax, 0x3a09e3b3
jle 0x40b87c
cmp eax, 0x5f257484
jle 0x40b921
cmp eax, 0x65a2ab42
jg 0x40ba24
cmp eax, 0x5f257485
je 0x40bc4a
cmp eax, 0x602deeaf
je 0x40bc6e
cmp eax, 0x64ee4232
jne 0x40b759
mov dword [esi], 0x3bc3b379
jmp 0x40b759
cmp eax, 0xa076448c
jle 0x40b961
cmp eax, 0xb244b70b
jg 0x40ba96
cmp eax, 0xa076448d
je 0x40bee5
cmp eax, 0xaa937b77
je 0x40bc85
cmp eax, 0xb2409be6
jne 0x40b759
mov ecx, dword [esi + 4]
lea eax, [ecx - 0x80]
imul eax, eax
imul edx, eax, 0x122f
shl ecx, 8
dec edx
add ecx, 0x4100
mov dword [esi + 4], ecx
mov ecx, 0x5f257485
cmp edx, eax
je 0x40bdba
mov ecx, 0x8927a85f
jmp 0x40bdba
cmp eax, 0xa3fe075
jg 0x40b99e
cmp eax, 0x6f0d1ec
jle 0x40baf8
cmp eax, 0x6f0d1ed
je 0x40bca2
cmp eax, 0x76d9ca6
je 0x40bcbe
cmp eax, 0x80ea686
jne 0x40b759
shl ebx, 0x15
call fcn.0040b720
call fcn.0040b720
mov eax, 0xf247de0f
and ebx, 0xffc00000
je 0x40be96
mov eax, 0x7e43d795
jmp 0x40be96
cmp eax, 0xd85c26d5
jg 0x40bace
cmp eax, 0xc71cd4ca
je 0x40bcd7
cmp eax, 0xc7b8ff6d
je 0x40bced
cmp eax, 0xccb8bb14
jne 0x40b759
cmp dword [esi + 0x4c], 0
mov eax, 0x602deeaf
je 0x40b917
mov eax, 0x9d1fe6d8
mov dword [esi], eax
mov dword [esi + 0x10], edi
jmp 0x40b759
cmp eax, 0x4431cd5a
jle 0x40bb19
cmp eax, 0x4431cd5b
je 0x40bcf8
cmp eax, 0x459792f2
je 0x40bd09
cmp eax, 0x4da77fde
jne 0x40b759
push dword [esi + 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi], 0x65a2ab43
jmp 0x40b759
cmp eax, 0x895cf965
jle 0x40bb54
cmp eax, 0x895cf966
je 0x40bd34
cmp eax, 0x90fbe531
je 0x40bd4e
cmp eax, 0x9d1fe6d8
jne 0x40b759
mov eax, dword [esi + 0x10]
mov dword [esi + 0x50], eax
mov dword [esi], 0xc7b8ff6d
jmp 0x40b759
cmp eax, 0x13d0c0b7
jle 0x40bb7e
cmp eax, 0x13d0c0b8
je 0x40bd79
cmp eax, 0x1ceb96f1
je 0x40bd87
cmp eax, 0x241b1475
jne 0x40b759
mov dword [esi], 0xa076448d
jmp 0x40b759
cmp eax, 0xeb227f65
je 0x40bdc1
cmp eax, 0xeee9bf99
je 0x40baed
cmp eax, 0xf247de0f
jne 0x40b759
and ebx, 0xfffffff8
shl ebx, 0x13
or ebx, 0x8e
call fcn.0040bf63
call fcn.0040b720
mov eax, 0xf6c5cd5b
cmp ebx, 0x31
jge 0x40be96
mov eax, 0xa076448d
jmp 0x40be96
cmp eax, 0x65a2ab43
je 0x40bde2
cmp eax, 0x724743a3
je 0x40be18
cmp eax, 0x7e43d795
jne 0x40b759
push 0x800
lea eax, [esi + 0x68]
push eax
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push edi
push 0x80
mov eax, 3
push eax
push edi
push eax
push 0x80000000
lea eax, [esi + 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esi + 0x14], eax
mov ecx, dword [esi + 0x14]
mov eax, 0x4431cd5b
cmp ecx, 0xffffffff
je 0x40ba89
mov eax, 0xc3501d22
mov dword [esi], eax
xor edi, edi
inc edi
mov dword [esi + 8], edi
jmp 0x40b759
cmp eax, 0xb244b70c
je 0x40be2b
cmp eax, 0xc3501d22
jne 0x40becb
imul eax, dword [esi + 4], 0x370
add eax, 0x1e4b0
shr eax, 6
and eax, 0x3fffe00
mov dword [esi + 4], eax
mov dword [esi], 0x13d0c0b8
jmp 0x40b759
cmp eax, 0xdd27e91b
je 0x40be4e
cmp eax, 0xe02f4fe2
jne 0x40bed8
shl ebx, 9
add ebx, 0x49a
mov dword [esi], 0x724743a3
jmp 0x40b759
cmp eax, 0xf6c5cd5b
je 0x40be59
cmp eax, 0x845a74
jne 0x40b759
mov dword [esi], 0x7e43d795
jmp 0x40b759
cmp eax, 0x3a09e3b4
je 0x40be75
cmp eax, 0x3bc3b379
jne 0x40b759
push dword [esi + 0x1c]
push dword [esi + 0x14]
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], eax
mov dword [esi], 0xa3fe076
jmp 0x40b759
cmp eax, 0x88be01a0
je 0x40be9d
cmp eax, 0x8927a85f
jne 0x40b759
mov eax, dword [esi + 0x20]
mov dword [esi], 0x88be01a0
mov eax, dword [esi + 0x50]
mov dword [esi + 0xc], eax
jmp 0x40b759
cmp eax, 0xa3fe076
je 0x40beb1
cmp eax, 0x12caeac5
jne 0x40b759
push dword [esi + 0x24]
call fcn.0045d774
add esp, 4
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x20]
xor ecx, ecx
mov dword [eax], ecx
push ecx
push dword [esi + 0x20]
push dword [esi + 0x24]
push dword [esi + 0x28]
push dword [esi + 0x14]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [esi + 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x47ebd4]
mov ecx, dword [esi + 0x28]
add eax, ecx
add eax, 8
push 0x14
push 0x47ebd8
push eax
call fcn.0044b6ed
add esp, 0xc
mov dword [esi + 0x4c], eax
mov dword [esi], 0x76d9ca6
jmp 0x40b759
imul ebx, ebx, 0x7380000
add ebx, 0xffff8c00
call fcn.0040b720
mov eax, 0xa076448d
cmp ebx, 0x4c
jge 0x40be96
mov eax, 0x459792f2
jmp 0x40be96
imul ecx, ebx, 0xa5
add ecx, 0x7b1b
mov ebx, ecx
shr ebx, 0xc
mov eax, 0xe02f4fe2
cmp ecx, 0x1a5000
jb 0x40bc3f
mov eax, 0xaa937b77
add ebx, 0xffffff0c
jmp 0x40be96
shl ebx, 4
add ebx, 0xfffff9f0
mov eax, 0x724743a3
cmp ebx, 0x99
jb 0x40be96
mov eax, 0x12caeac5
jmp 0x40be96
call fcn.0040bf63
mov dword [esi], 0x9d1fe6d8
mov dword [esi + 0x10], 0
jmp 0x40b759
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x20], eax
mov dword [esi], 0x241b1475
jmp 0x40b759
mov eax, dword [esi + 4]
shl eax, 6
add eax, 0xfffffe99
shr eax, 8
mov dword [esi + 4], eax
mov dword [esi], 0x4da77fde
jmp 0x40b759
mov eax, dword [esi + 4]
shr eax, 6
and eax, 0x1ffffe0
mov dword [esi + 4], eax
mov dword [esi], 0xccb8bb14
jmp 0x40b759
push dword [esi + 0x28]
call fcn.0045d3c9
add esp, 4
mov dword [esi], 0xb2409be6
jmp 0x40b759
mov dword [esi], 0xc71cd4ca
jmp 0x40b759
mov dword [esi], 0xbf8677a6
mov eax, dword [esi + 8]
mov dword [esi + 0x18], eax
jmp 0x40b759
add ebx, 0x74
shr ebx, 5
add ebx, 0xffffff93
call fcn.0040bf63
call fcn.0040b720
mov eax, 0xa076448d
cmp ebx, 0x19
je 0x40be96
mov eax, 0xaa937b77
jmp 0x40be96
imul eax, dword [esi + 4], 0x703a
add eax, 0x149
mov dword [esi + 4], eax
mov dword [esi], 0xf6c5cd5b
jmp 0x40b759
imul eax, ebx, 0x85
shr eax, 0xc
imul ebx, eax, 0xf0
call fcn.0040b720
mov eax, 0xaa937b77
cmp ebx, 0x6f
jae 0x40bd71
mov eax, 0x80ea686
add ebx, 0xfffffffc
jmp 0x40be96
mov eax, dword [esi + 0x1c]
mov dword [esi], 0x64ee4232
jmp 0x40b759
mov ecx, dword [esi + 4]
lea eax, [ecx + 0xeb]
imul eax, eax
imul edx, eax, 0x8099
add ecx, 0xf2
dec edx
shr ecx, 7
add ecx, 0x92
mov dword [esi + 4], ecx
mov ecx, 0xf6c5cd5b
cmp eax, edx
je 0x40bdba
mov ecx, 0x12caeac5
mov dword [esi], ecx
jmp 0x40b759
mov eax, dword [esi + 4]
shl eax, 0xb
add eax, 0x16000
shr eax, 3
and eax, 0x3ffff00
mov dword [esi + 4], eax
mov dword [esi], 0xeee9bf99
jmp 0x40b759
mov eax, dword [esi + 4]
shr eax, 0xd
lea ecx, [eax + 0xb]
imul ecx, ecx
imul edx, ecx, 0x7f43
dec edx
shl eax, 5
add eax, 0x16c0
mov dword [esi + 4], eax
mov eax, 0x4da77fde
cmp ecx, edx
je 0x40be0e
mov eax, 0x88be01a0
mov dword [esi], eax
mov dword [esi + 0xc], edi
jmp 0x40b759
mov eax, dword [0x47ebd0]
mov dword [esi + 0x48], eax
mov dword [esi], 0x895cf966
jmp 0x40b759
shr ebx, 0xa
add ebx, 0xffffffa3
shr ebx, 4
add ebx, 0xffffff85
mov eax, 0xe26df8f2
cmp ebx, 0x2d800
jb 0x40be49
mov eax, 0x724743a3
shr ebx, 0xa
jmp 0x40be96
mov dword [esi], 0x845a74
jmp 0x40b759
mov ecx, dword [esi + 0x48]
mov eax, 0xbf8677a6
cmp ecx, 1
je 0x40be6b
mov eax, 0xdd27e91b
mov dword [esi], eax
mov dword [esi + 0x18], edi
jmp 0x40b759
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x24], eax
mov ecx, dword [0x47ebd4]
add ecx, 0x30
mov eax, 0x6f0d1ed
cmp ecx, dword [esi + 0x24]
ja 0x40be96
mov eax, 0x1ceb96f1
mov dword [esi], eax
jmp 0x40b759
mov eax, dword [esi + 0x1c]
mov dword [esi], 0x4431cd5b
mov eax, dword [esi + 0xc]
mov dword [esi + 8], eax
jmp 0x40b759
imul eax, dword [esi + 4], 0x268
add eax, 0xffffa280
mov dword [esi + 4], eax
mov dword [esi], 0x3a09e3b4
jmp 0x40b759
cmp eax, 0xbf8677a6
jne 0x40b759
jmp 0x40bf1d
cmp eax, 0xd85c26d6
jne 0x40b759
jmp 0x40bf40
lea edi, [esi + 0x54]
push edi
push 0x1c
push 0x47ebd0
call fcn.0040cbc4
add esp, 0xc
push 0x14
push 0x47ebec
push edi
call fcn.0044b6ed
add esp, 0xc
mov ecx, 0xeb227f65
test eax, eax
je 0x40bf16
mov ecx, 0xd85c26d6
mov dword [esi], ecx
jmp 0x40b756
mov dword [esi + 0x3c], ebx
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x2c], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esi + 0x3c], ebx
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x38], eax
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]