Function at 0x40c818
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.0044a7a0
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 + 0x14], eax
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
mov edi, dword [esi + 0x38]
mov eax, dword [esi]
cmp eax, 0x6f0d1ec
jle 0x40c8c8
cmp eax, 0x4431cd5a
jg 0x40c926
cmp eax, 0x1ceb96f0
jg 0x40c9cd
cmp eax, 0xa3fe075
jg 0x40cade
cmp eax, 0x6f0d1ed
je 0x40cce5
cmp eax, 0x76d9ca6
je 0x40ccf9
cmp eax, 0x80ea686
jne 0x40c84b
mov eax, dword [esi + 4]
shr eax, 4
and eax, 0x3ffff
imul ecx, eax, 0x3800
imul eax, eax
imul edx, eax, 0x610d
dec edx
mov dword [esi + 4], ecx
mov ecx, 0x724743a3
cmp eax, edx
je 0x40c8be
mov ecx, 0x90fbe531
mov dword [esi], ecx
xor eax, eax
inc eax
mov dword [esi + 8], eax
jmp 0x40c84b
cmp eax, 0xccb8bb13
jg 0x40c97a
cmp eax, 0xb2409be5
jg 0x40ca2e
cmp eax, 0x90fbe530
jle 0x40cb0a
cmp eax, 0xa076448c
jg 0x40ccc3
cmp eax, 0x90fbe531
je 0x40cd3a
cmp eax, 0x9d1fe6d8
jne 0x40c84b
push dword [esi + 0x24]
call fcn.0045d564
add esp, 4
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x1c]
mov dword [esi], 0xc7b8ff6d
jmp 0x40c84b
cmp eax, 0x602deeae
jg 0x40ca73
cmp eax, 0x4da77fdd
jg 0x40cb47
cmp eax, 0x4431cd5b
je 0x40cd4b
cmp eax, 0x459792f2
je 0x40cd68
cmp eax, 0x47b9c609
jne 0x40c84b
add ebx, 7
shr ebx, 0xa
imul ebx, ebx, 0x2b0000
or ebx, 0xce
mov dword [esi], 0x6f0d1ed
jmp 0x40c84b
cmp eax, 0xe7dc6a3d
jg 0x40caad
cmp eax, 0xe02f4fe1
jg 0x40cb94
cmp eax, 0xccb8bb14
je 0x40cda0
cmp eax, 0xd85c26d6
je 0x40cdba
cmp eax, 0xdd27e91b
jne 0x40c84b
push 0x800
lea eax, [esi + 0x68]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [esi], 0x7e43d795
jmp 0x40c84b
cmp eax, 0x3179aa01
jg 0x40cbc9
cmp eax, 0x1ceb96f1
je 0x40cdf7
cmp eax, 0x241b1475
je 0x40ce14
cmp eax, 0x2aba2a05
jne 0x40c84b
mov eax, ebx
shl eax, 4
sub eax, ebx
sub eax, ebx
add eax, 0xfffff539
mov ebx, eax
shr ebx, 2
call fcn.0040d133
call fcn.0040c818
mov eax, 0xdd27e91b
cmp ebx, 0x6a
je 0x40d056
mov eax, 0xaa937b77
jmp 0x40d056
cmp eax, 0xc3501d21
jg 0x40cbf5
cmp eax, 0xb2409be6
je 0x40ce58
cmp eax, 0xb244b70c
je 0x40ce8a
cmp eax, 0xbf8677a6
jne 0x40c84b
push dword [esi + 0x28]
call fcn.0045d1bc
add esp, 4
mov eax, dword [esi + 0x1c]
mov dword [esi], 0x459792f2
jmp 0x40c84b
cmp eax, 0x6c9a1992
jg 0x40cc2a
cmp eax, 0x602deeaf
je 0x40ceb6
cmp eax, 0x64ee4232
je 0x40cec1
cmp eax, 0x65a2ab43
jne 0x40c84b
mov dword [esi + 0x50], edi
mov dword [esi], 0xbf8677a6
jmp 0x40c84b
cmp eax, 0xf247de0e
jg 0x40cc80
cmp eax, 0xe7dc6a3e
je 0x40cecf
cmp eax, 0xeb227f65
je 0x40cefd
cmp eax, 0xeee9bf99
je 0x40cfea
jmp 0x40c84b
cmp eax, 0xa3fe076
je 0x40cf10
cmp eax, 0x12caeac5
je 0x40cf23
cmp eax, 0x13d0c0b8
jne 0x40c84b
mov dword [esi], 0xc3501d22
jmp 0x40c84b
cmp eax, 0x88be01a0
je 0x40cf51
cmp eax, 0x8927a85f
je 0x40cf63
cmp eax, 0x895cf966
jne 0x40c84b
mov eax, dword [esi + 4]
and eax, 0xfffffffc
shl eax, 0xa
or eax, 0x400
mov dword [esi + 4], eax
mov dword [esi], 0xf6c5cd5b
jmp 0x40c84b
cmp eax, 0x4da77fde
je 0x40cf93
cmp eax, 0x5ad917fc
je 0x40cfcd
cmp eax, 0x5f257485
jne 0x40c84b
imul ebx, ebx, 0x5e4a0
add ebx, 0xffa875b2
call fcn.0040c818
mov eax, 0x5ad917fc
cmp ebx, 0xc5
jge 0x40d056
mov eax, 0x3179aa02
jmp 0x40d056
cmp eax, 0xe02f4fe2
je 0x40cfde
cmp eax, 0xe04cd1ec
je 0x40cff5
cmp eax, 0xe26df8f2
jne 0x40c84b
imul ebx, ebx, 0xbc
shr ebx, 6
mov dword [esi], 0x241b1475
jmp 0x40c84b
cmp eax, 0x3179aa02
je 0x40d009
cmp eax, 0x3a09e3b4
je 0x40d025
cmp eax, 0x3bc3b379
jne 0x40c84b
mov dword [esi], 0x3a09e3b4
jmp 0x40c84b
cmp eax, 0xc3501d22
je 0x40d044
cmp eax, 0xc71cd4ca
je 0x40d05d
cmp eax, 0xc7b8ff6d
jne 0x40c84b
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov dword [esi], 0xc71cd4ca
jmp 0x40c84b
cmp eax, 0x6c9a1993
je 0x40d08d
cmp eax, 0x724743a3
je 0x40d0b1
cmp eax, 0x7e43d795
jne 0x40c84b
imul eax, dword [esi + 4], 0xef
add eax, 0x92
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x7755
dec edx
shr eax, 8
mov dword [esi + 4], eax
mov eax, 0xe02f4fe2
cmp edx, ecx
je 0x40d056
mov eax, 0x845a74
jmp 0x40d056
cmp eax, 0xf6c5cd5b
je 0x40d0d0
cmp eax, 0x845a74
jne 0x40d0db
xor eax, eax
push eax
push 0x80
mov ecx, 3
push ecx
push eax
push ecx
push 0x80000000
lea eax, [esi + 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esi + 0x10], eax
mov dword [esi], 0x13d0c0b8
jmp 0x40c84b
cmp eax, 0xaa937b77
jne 0x40d0e8
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x18], eax
mov dword [esi], 0x241b1475
jmp 0x40c84b
mov eax, dword [esi + 0x44]
add eax, 0x30
mov dword [esi + 0x48], eax
mov dword [esi], 0x1ceb96f1
jmp 0x40c84b
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 4]
lea edx, [ecx + 0xf5]
mov eax, edx
imul eax, edx
imul edi, eax, 0x4559
shl edx, 6
lea ecx, [edx + ecx*4]
add ecx, 0x3d4
dec edi
shr ecx, 0xc
mov dword [esi + 4], ecx
mov ecx, 0xdd27e91b
cmp edi, eax
je 0x40ce4e
mov ecx, 0xccb8bb14
jmp 0x40ce4e
mov dword [esi], 0xf247de0f
mov eax, dword [esi + 8]
mov dword [esi + 0x14], eax
jmp 0x40c84b
imul eax, dword [esi + 4], 0x4b960
add eax, 0x3c88608
mov dword [esi + 4], eax
mov dword [esi], 0x65a2ab43
xor edi, edi
inc edi
jmp 0x40c84b
mov ecx, dword [esi + 4]
mov eax, ecx
shr eax, 1
shr ecx, 0x10
imul eax, eax
imul edx, eax, 0x265d
dec edx
add ecx, 0x95
mov dword [esi + 4], ecx
mov ecx, 0x2aba2a05
cmp edx, eax
je 0x40cd93
mov ecx, 0xe04cd1ec
mov dword [esi], ecx
mov eax, dword [esi + 0x50]
mov dword [esi + 0xc], eax
jmp 0x40c84b
push dword [esi + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi], 0xe04cd1ec
xor eax, eax
inc eax
mov dword [esi + 0xc], eax
jmp 0x40c84b
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*4]
add eax, 0x1092
mov ecx, eax
shr ecx, 2
imul eax, eax
imul edx, eax, 0x7edb
dec edx
add ecx, 0xffffff22
mov dword [esi + 4], ecx
mov ecx, 0xe7dc6a3e
cmp edx, eax
je 0x40cf8c
mov ecx, 0xa076448d
jmp 0x40cf8c
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x48]
mov eax, 0x76d9ca6
cmp edx, ecx
ja 0x40d056
mov eax, 0x602deeaf
jmp 0x40d056
mov dword [esi + 0x20], edi
push eax
mov eax, esp
mov dword [esi + 0x1c], eax
lea edi, [esi + 0x54]
push edi
push 0x1c
push 0x47dc30
call fcn.0040ded4
add esp, 0xc
push 0x14
push 0x47dc4c
push edi
call fcn.0044b7cd
add esp, 0xc
mov ecx, 0xeee9bf99
test eax, eax
je 0x40ce4e
mov ecx, 0xd85c26d6
mov dword [esi], ecx
mov edi, dword [esi + 0x20]
jmp 0x40c84b
mov eax, dword [esi + 4]
lea ecx, [eax - 0x97]
imul ecx, ecx
imul edx, ecx, 0x2113
dec edx
add eax, 0xffffff02
mov dword [esi + 4], eax
mov eax, 0x5f257485
cmp edx, ecx
je 0x40d056
mov eax, 0x8927a85f
jmp 0x40d056
imul ebx, ebx, 0x7640
add ebx, 0xffffff8a
shr ebx, 0xe
add ebx, 0xffffff87
call fcn.0040d133
mov eax, 0xaa937b77
cmp ebx, 0x1d
je 0x40d056
mov eax, 0xe26df8f2
jmp 0x40d056
mov dword [esi], 0x9d1fe6d8
jmp 0x40c84b
mov eax, dword [esi + 0x18]
mov dword [esi], 0x3bc3b379
jmp 0x40c84b
mov eax, ebx
shl eax, 7
lea ebx, [eax + ebx*8]
add ebx, 0xd8
call fcn.0040d133
mov eax, 0x241b1475
cmp ebx, 0xb4
jae 0x40d056
mov eax, 0xb244b70c
jmp 0x40d056
mov eax, dword [0x47dc30]
mov dword [esi + 0x40], eax
mov dword [esi], 0x724743a3
jmp 0x40c84b
mov eax, dword [0x47dc34]
mov dword [esi + 0x44], eax
mov dword [esi], 0x12caeac5
jmp 0x40c84b
mov ecx, dword [esi + 4]
mov eax, ecx
shr eax, 0xa
shr ecx, 0x12
imul eax, eax
imul edx, eax, 0x8711
dec edx
add ecx, 0xfffffedf
mov dword [esi + 4], ecx
mov ecx, 0x845a74
cmp eax, edx
je 0x40cf8c
mov ecx, 0x6f0d1ed
jmp 0x40cf8c
call fcn.0040d133
mov dword [esi], 0x65a2ab43
xor edi, edi
jmp 0x40c84b
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x4c]
add eax, ecx
add eax, 8
push 0x14
push 0x47dc38
push eax
call fcn.0044b7cd
add esp, 0xc
mov ecx, 0x88be01a0
test eax, eax
je 0x40cf8c
mov ecx, 0x4431cd5b
mov dword [esi], ecx
jmp 0x40c84b
mov eax, dword [esi + 4]
mov ecx, 0xffffff3f
add eax, ecx
mov ecx, eax
shr ecx, 1
imul ecx, ecx
imul edx, ecx, 0x6a65
dec edx
shl eax, 8
and eax, 0xffff0000
mov dword [esi + 4], eax
mov eax, 0xc3501d22
cmp edx, ecx
je 0x40d056
mov eax, 0xa3fe076
jmp 0x40d056
shl ebx, 0xe
add ebx, 0xfffffff3
mov dword [esi], 0x6c9a1993
jmp 0x40c84b
imul ebx, ebx, 0x87000
add ebx, 0xfefa6f38
mov dword [esi], 0xeb227f65
jmp 0x40c84b
mov eax, dword [esi + 0x18]
mov dword [esi], 0x90fbe531
mov eax, dword [esi + 0xc]
mov dword [esi + 8], eax
jmp 0x40c84b
shl ebx, 0xe
call fcn.0040d133
mov eax, 0xeb227f65
and ebx, 0x3fc000
je 0x40d056
mov eax, 0x47b9c609
jmp 0x40d056
push dword [esi + 0x18]
push dword [esi + 0x10]
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x24], eax
mov dword [esi], 0x4da77fde
jmp 0x40c84b
mov ecx, dword [esi + 0x10]
mov eax, 0x80ea686
cmp ecx, 0xffffffff
je 0x40d056
mov eax, 0x64ee4232
mov dword [esi], eax
jmp 0x40c84b
push 0
push dword [esi + 0x1c]
push dword [esi + 0x24]
push dword [esi + 0x28]
push dword [esi + 0x10]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [esi + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x47dc34]
mov dword [esi + 0x4c], eax
mov dword [esi], 0xb2409be6
jmp 0x40c84b
add ebx, 0x1b
shr ebx, 9
imul ebx, ebx, 0x70
add ebx, 0xffffcc60
call fcn.0040c818
call fcn.0040d133
mov dword [esi], 0xa3fe076
jmp 0x40c84b
mov ecx, dword [esi + 0x40]
mov eax, 0xf247de0f
cmp ecx, 1
je 0x40d0c3
mov eax, 0x895cf966
mov dword [esi], eax
xor eax, eax
inc eax
mov dword [esi + 0x14], eax
jmp 0x40c84b
mov dword [esi], 0xdd27e91b
jmp 0x40c84b
cmp eax, 0xf247de0f
jne 0x40c84b
jmp 0x40d113
cmp eax, 0xa076448d
jne 0x40c84b
mov dword [esi + 0x3c], ebx
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], edi
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
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 dword [esi + 0x38], edi
mov eax, dword [esi + 0x14]
mov dword [esi + 0x2c], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret