Function at 0x40ae6c
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, 0x1060
call fcn.00440ea0
mov dword [esp], 0x78a13529
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp]
cmp eax, 0xfbc3114c
jle 0x40af07
cmp eax, 0x3e41e8cc
jg 0x40af5d
cmp eax, 0x1f5e02cc
jg 0x40b01b
cmp eax, 0x13203bfe
jg 0x40b13d
cmp eax, 0xfbc3114d
je 0x40b34a
cmp eax, 0x1249dc0b
je 0x40b377
cmp eax, 0x12ec38b2
jne 0x40ae9e
imul eax, dword [esp + 8], 0x760
add eax, 0xd5e
mov dword [esp + 8], eax
mov dword [esp], 0x1f5e02cd
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
jmp 0x40ae9e
cmp eax, 0xb2a1aad1
jle 0x40afa9
cmp eax, 0xc9db41b3
jg 0x40b070
cmp eax, 0xc12d7979
jg 0x40b1a0
cmp eax, 0xb2a1aad2
je 0x40b393
cmp eax, 0xb8b656b8
je 0x40b3c1
cmp eax, 0xbbaf56f0
jne 0x40ae9e
mov dword [esp], 0x1f5e02cd
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
jmp 0x40ae9e
cmp eax, 0x63c138bf
jg 0x40b0ac
cmp eax, 0x43f3a4c7
jg 0x40b1e5
cmp eax, 0x3e41e8cd
je 0x40b3fb
cmp eax, 0x4034fc6c
je 0x40b431
cmp eax, 0x4131dcee
jne 0x40ae9e
mov eax, dword [0x472c6c]
mov dword [esp + 0x38], eax
mov dword [esp], 0x3e41e8cd
jmp 0x40ae9e
cmp eax, 0xa3f991dd
jg 0x40b0f4
cmp eax, 0x96f251b9
jg 0x40b212
cmp eax, 0x81fa49ba
je 0x40b451
cmp eax, 0x87a2011e
je 0x40b464
cmp eax, 0x8b71f59c
jne 0x40ae9e
mov eax, dword [esp + 8]
mov ecx, 0xd3
add eax, ecx
mov ecx, eax
shr ecx, 6
shr eax, 9
imul ecx, ecx
add eax, 0xfffffffa
imul edx, ecx, 0x1579
dec edx
mov dword [esp + 8], eax
mov eax, 0xc275a18f
cmp edx, ecx
je 0x40b74b
mov eax, 0x22eb69f6
jmp 0x40b74b
cmp eax, 0x2c387bd2
jg 0x40b274
cmp eax, 0x1f5e02cd
je 0x40b495
cmp eax, 0x22eb69f6
je 0x40b4a5
cmp eax, 0x28c86b29
jne 0x40ae9e
mov ecx, dword [esp + 4]
add ecx, 0xffffffc2
shr ecx, 0xc
mov dword [esp + 4], ecx
mov eax, 0x13203bff
cmp ecx, 0xef
je 0x40b74b
mov eax, 0x43f3a4c8
jmp 0x40b74b
cmp eax, 0xe4f922e8
jg 0x40b2a1
cmp eax, 0xc9db41b4
je 0x40b4bb
cmp eax, 0xd2d87be9
je 0x40b4f3
cmp eax, 0xd4622810
jne 0x40ae9e
mov dword [esp], 0x75fa082a
mov dword [esp + 0x14], edi
jmp 0x40ae9e
cmp eax, 0x6a667c0e
jg 0x40b2f1
cmp eax, 0x63c138c0
je 0x40b517
cmp eax, 0x6753933f
je 0x40b533
cmp eax, 0x69962771
jne 0x40ae9e
imul eax, dword [esp + 4], 0xb2
add eax, 0xffffffb9
shr eax, 8
mov dword [esp + 4], eax
call fcn.0040ae6c
jmp 0x40b527
cmp eax, 0xaeaab18c
jg 0x40b317
cmp eax, 0xa3f991de
je 0x40b53f
cmp eax, 0xa5ae260f
je 0x40b560
cmp eax, 0xaa3358b0
jne 0x40ae9e
imul eax, dword [esp + 8], 0x550
add eax, 0xffffff67
mov dword [esp + 8], eax
mov dword [esp], 0xb1bedde3
jmp 0x40ae9e
cmp eax, 0x13203bff
je 0x40b57e
cmp eax, 0x1cb59434
je 0x40b5b2
cmp eax, 0x1e35e006
jne 0x40ae9e
xor eax, eax
push eax
push 0x80
mov ecx, 3
push ecx
push eax
push ecx
push 0x80000000
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
mov eax, 0xd4622810
cmp ecx, 0xffffffff
je 0x40b195
mov eax, 0x6a667c0f
mov dword [esp], eax
xor edi, edi
inc edi
jmp 0x40ae9e
cmp eax, 0xc12d797a
je 0x40b5e0
cmp eax, 0xc275a18f
je 0x40b617
cmp eax, 0xc37141f3
jne 0x40ae9e
mov eax, dword [esp + 8]
shl eax, 0xf
add eax, 0xfffcc400
shr eax, 0xb
add eax, 0xfffffedc
mov dword [esp + 8], eax
mov dword [esp], 0x81fa49ba
jmp 0x40ae9e
cmp eax, 0x43f3a4c8
je 0x40b639
cmp eax, 0x4d070cd3
je 0x40b66d
cmp eax, 0x626988b8
jne 0x40ae9e
mov dword [esp], 0xa5ae260f
jmp 0x40ae9e
cmp eax, 0x96f251ba
je 0x40b679
cmp eax, 0x970e455e
je 0x40b691
cmp eax, 0x9978191a
jne 0x40ae9e
mov ecx, dword [esp + 8]
shr ecx, 8
imul eax, ecx, 0xa1
add eax, 0xffffff90
imul eax, eax
imul ecx, ecx, 0x4209
add ecx, 0xffff883c
imul edx, eax, 0x56db
dec edx
mov dword [esp + 8], ecx
mov ecx, 0x87a2011e
cmp eax, edx
je 0x40b3f3
mov ecx, 0xc275a18f
jmp 0x40b3f3
cmp eax, 0x2c387bd3
je 0x40b6ab
cmp eax, 0x327a55ad
je 0x40b6d4
cmp eax, 0x3de22966
jne 0x40ae9e
mov dword [esp], 0x626988b8
jmp 0x40ae9e
cmp eax, 0xe4f922e9
je 0x40b6ef
cmp eax, 0xecb12a5f
je 0x40b710
cmp eax, 0xedfbd3cf
jne 0x40ae9e
push 0
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x20]
push dword [esp + 0x28]
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp], 0x4131dcee
jmp 0x40ae9e
cmp eax, 0x6a667c0f
je 0x40b720
cmp eax, 0x78a13529
je 0x40b527
cmp eax, 0x75fa082a
jne 0x40ae9e
jmp 0x40b77e
cmp eax, 0xb1345af9
je 0x40b72c
cmp eax, 0xb1bedde3
jne 0x40b753
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov eax, dword [0x472c6c]
mov dword [esp + 0x34], eax
mov dword [esp], 0x4034fc6c
jmp 0x40ae9e
imul ecx, dword [esp + 4], 0x2a300
add ecx, 0x450
mov dword [esp + 4], ecx
mov eax, 0x1e35e006
cmp ecx, 0xec
jb 0x40b74b
mov eax, 0xb1345af9
jmp 0x40b74b
mov eax, dword [esp + 8]
mov ecx, eax
shl ecx, 7
lea eax, [ecx + eax*4]
mov dword [esp + 8], eax
mov dword [esp], 0xaeaab18d
jmp 0x40ae9e
mov eax, dword [esp + 8]
shr eax, 8
imul ecx, eax, 0x5eb4
imul eax, eax
imul edx, eax, 0x792b
dec edx
add ecx, 0x37
mov dword [esp + 8], ecx
mov ecx, 0x28c86b29
cmp edx, eax
je 0x40b3f3
mov ecx, 0x1e35e006
jmp 0x40b3f3
lea esi, [esp + 0x48]
push esi
push 0x1c
push 0x472c68
call fcn.0040c398
add esp, 0xc
push 0x14
push 0x472c84
push esi
call fcn.00441edd
add esp, 0xc
mov ecx, 0x9978191a
test eax, eax
je 0x40b3f3
mov ecx, 0x1249dc0b
mov dword [esp], ecx
jmp 0x40ae9e
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
add eax, ecx
add eax, 8
push 0x14
push 0x472c70
push eax
call fcn.00441edd
add esp, 0xc
mov ecx, 0xc37141f3
test eax, eax
je 0x40b426
mov ecx, 0xecb12a5f
mov dword [esp], ecx
xor ebx, ebx
inc ebx
jmp 0x40ae9e
mov ecx, dword [esp + 0x34]
add ecx, 0x30
mov eax, 0x8b71f59c
cmp ecx, dword [esp + 0x18]
ja 0x40b74b
mov eax, 0x6753933f
jmp 0x40b74b
call fcn.0040b7a0
mov dword [esp], 0xecb12a5f
xor ebx, ebx
jmp 0x40ae9e
mov eax, dword [esp + 4]
lea esi, [eax*8]
sub esi, eax
add esi, 0xffffffe0
mov dword [esp + 4], esi
call fcn.0040b7a0
mov eax, 0x1cb59434
cmp esi, 0x21
jge 0x40b74b
mov eax, 0x2c387bd3
jmp 0x40b74b
mov dword [esp], 0xd4622810
mov edi, dword [esp + 0xc]
jmp 0x40ae9e
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp], 0x12ec38b2
jmp 0x40ae9e
mov eax, dword [esp + 4]
lea ecx, [eax + eax*8]
lea ecx, [ecx + ecx*2]
add ecx, eax
shr ecx, 4
mov edx, ecx
shl edx, 6
sub edx, ecx
add edx, 0xffffe629
mov dword [esp + 4], edx
mov eax, 0xb8b656b8
cmp edx, 0x65
jae 0x40b74b
mov eax, 0xc275a18f
jmp 0x40b74b
push dword [esp + 0x18]
call fcn.0044f6e4
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], 0
mov dword [esp], 0x4d070cd3
jmp 0x40ae9e
mov eax, dword [esp + 4]
shr eax, 8
add eax, 0x182
mov dword [esp + 4], eax
mov dword [esp], 0xb8b656b8
jmp 0x40ae9e
mov dword [esp], 0xd2d87be9
jmp 0x40ae9e
mov eax, dword [esp + 4]
shl eax, 0xe
add eax, 0x4fc090
mov dword [esp + 4], eax
call fcn.0040b7a0
mov dword [esp], 0xc275a18f
jmp 0x40ae9e
push 0x800
lea eax, [esp + 0x60]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [esp], 0xb2a1aad2
jmp 0x40ae9e
mov eax, dword [esp + 4]
lea ecx, [eax + eax*4]
shl ecx, 5
add ecx, 0x9880
mov eax, ecx
shr eax, 0xc
mov dword [esp + 4], eax
mov eax, 0xa5ae260f
cmp ecx, 0x57000
jae 0x40b74b
mov eax, 0xb8b656b8
jmp 0x40b74b
mov eax, dword [esp + 4]
shl eax, 0xa
mov esi, 0xb8b656b8
and eax, 0x7fc00
mov dword [esp + 4], eax
je 0x40b5ce
mov esi, 0x63c138c0
call fcn.0040ae6c
call fcn.0040ae6c
mov dword [esp], esi
jmp 0x40ae9e
mov eax, dword [esp + 4]
shr eax, 6
and eax, 0x3ffff00
or eax, 0x28
imul ecx, eax, 0x5a
lea eax, [ecx + 0xfe]
mov dword [esp + 4], eax
mov eax, 0x970e455e
cmp ecx, 0xffffff42
jl 0x40b74b
mov eax, 0xa3f991de
jmp 0x40b74b
cmp dword [0x472c68], 1
mov eax, 0x75fa082a
je 0x40b62a
mov eax, 0x3de22966
mov dword [esp], eax
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
jmp 0x40ae9e
imul ecx, dword [esp + 4], 0x5c
add ecx, 0xffffc6dc
mov eax, ecx
shr eax, 9
add eax, 0xffffff63
mov dword [esp + 4], eax
mov eax, 0xc9db41b4
cmp ecx, 0x14800
jae 0x40b74b
mov eax, 0xa5ae260f
jmp 0x40b74b
mov dword [esp], 0xedfbd3cf
jmp 0x40ae9e
push dword [esp + 0x1c]
call fcn.0044f33c
add esp, 4
mov dword [esp], 0xbbaf56f0
jmp 0x40ae9e
mov eax, dword [esp + 4]
shl eax, 0x14
or eax, 0xa
mov dword [esp + 4], eax
mov dword [esp], 0x1e35e006
jmp 0x40ae9e
mov eax, dword [esp + 4]
shl eax, 0xb
mov esi, 0x69962771
and eax, 0x3f800
mov dword [esp + 4], eax
je 0x40b6c7
mov esi, 0xb8b656b8
call fcn.0040b7a0
mov dword [esp], esi
jmp 0x40ae9e
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov dword [esp], 0xaa3358b0
jmp 0x40ae9e
mov eax, dword [esp + 4]
shr eax, 0xf
imul ecx, eax, 0x380000
mov dword [esp + 4], ecx
mov eax, 0xc12d797a
test ecx, ecx
je 0x40b74b
mov eax, 0xfbc3114d
jmp 0x40b74b
mov dword [esp + 0x3c], ebx
mov dword [esp], 0x96f251ba
jmp 0x40ae9e
mov dword [esp], 0x327a55ad
jmp 0x40ae9e
mov esi, dword [esp + 4]
add esi, 0xffffffbd
mov dword [esp + 4], esi
call fcn.0040ae6c
mov eax, 0x1e35e006
cmp esi, 0x76
jl 0x40b74b
mov eax, 0x327a55ad
mov dword [esp], eax
jmp 0x40ae9e
cmp eax, 0xaeaab18d
jne 0x40ae9e
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebx
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebx
mov eax, ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret