Function at 0x4095a0
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov ecx, dword [0x46a7c4]
mov eax, dword [esp + 0x34]
xor ecx, esp
mov dword [esp + 0x1c], ecx
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebp, dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [esp + 8], eax
mov eax, 0x9e75fd22
mov dword [esp + 4], ecx
mov dword [esp], ecx
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
mov edi, 0x88934ac3
cmp edx, 0xffffffff
cmovne eax, edi
cmp ecx, 0xa
cmovge eax, edi
nop word cs:[eax + eax]
cmp eax, 0x8688afe
jle 0x409670
cmp eax, 0x404821ca
jg 0x4096d0
cmp eax, 0x16f32140
jg 0x4097b5
cmp eax, 0xd937cf3
jle 0x40993b
cmp eax, 0x137e06e7
jg 0x409b7e
cmp eax, 0xd937cf4
je 0x40a372
cmp eax, 0x10bdcf6d
jne 0x409610
mov eax, 0x87b5aab2
cmp eax, 0x8688afe
jg 0x409617
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0xb7c6d71b
jg 0x409740
cmp eax, 0xa074c834
jg 0x409806
cmp eax, 0x93c7df96
jle 0x409997
cmp eax, 0x9b90febe
jg 0x409bd2
cmp eax, 0x93c7df97
je 0x409d81
cmp eax, 0x990bf763
jne 0x409610
mov eax, 0x62b0688f
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
cmp eax, 0x62b0688e
jg 0x40986d
cmp eax, 0x4a2f2701
jle 0x4099cd
cmp eax, 0x5f0c21f0
jg 0x409c0f
cmp eax, 0x4a2f2702
je 0x409da3
cmp eax, 0x506e25ed
jne 0x409610
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov ebx, 0xf7f74623
lea edx, [eax - 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xf7f74623
je 0x409931
jmp 0x409fd8
cmp eax, 0xd4aeca35
jg 0x4098d2
cmp eax, 0xc8f01223
jle 0x409a0b
cmp eax, 0xceff45c4
jg 0x409c3a
cmp eax, 0xc8f01224
je 0x409dcb
cmp eax, 0xc97d7f91
jne 0x409610
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0xd1e038b7
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xd1e038b7
jne 0x4095fa
mov edi, 0x6104c478
jmp 0x4095fa
cmp eax, 0x371e4355
jle 0x409a49
cmp eax, 0x3dfb434c
jg 0x409c8a
cmp eax, 0x371e4356
je 0x409de9
cmp eax, 0x3a13b464
jne 0x409610
cmp byte [esp + 0x13], 0
mov eax, 0x6a9bedf8
jne 0x409610
mov eax, 0x871bf6be
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
cmp eax, 0xa71b03a0
jle 0x409a8b
cmp eax, 0xb3a03127
jg 0x409cdb
cmp eax, 0xa71b03a1
je 0x409e26
cmp eax, 0xa88962a5
jne 0x409610
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0xf5a8197c
lea edx, [eax - 1]
imul edx, eax
mov eax, 0xf5a8197c
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
mov edx, 0xb3a03128
sete bl
je 0x40a293
mov edi, 0xb3a03128
jmp 0x40a293
cmp eax, 0x725a37d9
jle 0x409ae9
cmp eax, 0x770fec88
jg 0x409d2b
cmp eax, 0x725a37da
je 0x409e63
cmp eax, 0x725c7877
jne 0x409610
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0xceff45c5
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xceff45c5
je 0x4095f5
jmp 0x4095fa
cmp eax, 0xf5a8197b
jle 0x409b1f
cmp eax, 0xfa4fcb49
jg 0x409d56
cmp eax, 0xf5a8197c
je 0x409e9d
cmp eax, 0xf7f74623
jne 0x409610
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov ebx, 0x404821cb
lea edx, [eax - 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x404821cb
jne 0x409fd8
mov ebx, 0x725a37da
jmp 0x409fd8
cmp eax, 0x8688aff
je 0x409ed7
cmp eax, 0x903d9c6
je 0x409f15
cmp eax, 0xc7caa94
jne 0x409610
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0x62b0688f
lea edx, [eax - 1]
imul edx, eax
mov eax, 0x62b0688f
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
mov edx, 0x990bf763
sete bl
je 0x40a293
mov edi, 0x990bf763
jmp 0x40a293
cmp eax, 0x871bf6be
je 0x409f2a
cmp eax, 0x87b5aab2
je 0x409f73
cmp eax, 0x88934ac3
jne 0x409610
mov eax, 0xceff45c5
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
cmp eax, 0x404821cb
je 0x409fa4
cmp eax, 0x43ccbe4b
je 0x409ff3
cmp eax, 0x476475f7
jne 0x409610
push 0
push dword [esp + 0xc]
call ebp
mov eax, 0x5f0c21f1
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
cmp eax, 0xb7c6d71c
je 0x40a008
cmp eax, 0xbb9c7d1b
je 0x40a063
cmp eax, 0xc1c8a2aa
jne 0x409610
mov eax, 0xd937cf4
mov dword [esp + 4], 0
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
cmp eax, 0x16f32141
je 0x40a360
cmp eax, 0x2cd39ea4
je 0x40a09d
cmp eax, 0x343368bc
jne 0x409610
push dword [esp + 0x14]
call fcn.0044281c
add esp, 4
mov eax, 0x93c7df97
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
cmp eax, 0xa074c835
je 0x40a0f0
cmp eax, 0xa5af78a9
je 0x40a105
cmp eax, 0xa6e29056
jne 0x409610
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov ebx, 0xc1c8a2aa
lea edx, [eax - 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xc1c8a2aa
jne 0x409fd8
mov ebx, 0x770fec89
jmp 0x409fd8
cmp eax, 0x62b0688f
je 0x40a13f
cmp eax, 0x6a9bedf8
je 0x409d81
cmp eax, 0x6ec53298
jne 0x409610
mov eax, 0xf7f74623
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
cmp eax, 0xd4aeca36
je 0x40a17d
cmp eax, 0xf0c8b47d
je 0x40a192
cmp eax, 0xf312bfae
jne 0x409610
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0x5f0c21f1
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x5f0c21f1
jne 0x4095fa
mov edi, 0x476475f7
jmp 0x4095fa
cmp eax, 0x137e06e8
je 0x40a1a7
cmp eax, 0x15cf3acf
jne 0x409610
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0x4a2f2702
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x4a2f2702
jne 0x4095fa
mov edi, 0x7dcabd80
jmp 0x4095fa
cmp eax, 0x9b90febf
je 0x40a1e0
cmp eax, 0x9e75fd22
jne 0x409610
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
mov eax, 0xb52e52af
je 0x409610
mov eax, 0x725c7877
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
cmp eax, 0x5f0c21f1
je 0x40a21e
cmp eax, 0x6104c478
jne 0x409610
mov eax, 0xd1e038b7
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
cmp eax, 0xceff45c5
je 0x40a261
cmp eax, 0xd1e038b7
jne 0x409610
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0x371e4356
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, 0x371e4356
mov edx, 0x6104c478
sete bl
je 0x40a293
mov edi, 0x6104c478
jmp 0x40a293
cmp eax, 0x3dfb434d
je 0x40a2a9
cmp eax, 0x3eb7ee78
jne 0x409610
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0x15cf3acf
lea edx, [eax - 1]
imul edx, eax
mov eax, 0x15cf3acf
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
mov edx, 0x7dcabd80
sete bl
je 0x40a31f
mov edi, 0x7dcabd80
jmp 0x40a31f
cmp eax, 0xb3a03128
je 0x40a2d8
cmp eax, 0xb52e52af
jne 0x409610
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0xa6e29056
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, 0xa6e29056
mov edx, 0x770fec89
sete bl
je 0x40a293
mov edi, 0x770fec89
jmp 0x40a293
cmp eax, 0x770fec89
je 0x40a2ed
cmp eax, 0x7dcabd80
jne 0x409610
mov eax, 0x15cf3acf
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
cmp eax, 0xfa4fcb4a
je 0x40a342
cmp eax, 0x3943075
jne 0x409610
mov eax, 0x2cd39ea4
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
push dword [esp + 8]
call esi
mov eax, 0xb7c6d71c
mov dword [esp], 0
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0x6ec53298
lea edx, [eax - 1]
imul edx, eax
mov eax, 0x6ec53298
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
jmp 0x409e85
movzx ecx, byte [esp + 0x1b]
mov eax, 0xd937cf4
mov dword [esp + 4], ecx
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov ebx, 0xc8f01224
lea edx, [eax - 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xc8f01224
jne 0x409fd8
mov ebx, 0x43ccbe4b
jmp 0x409fd8
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov ebx, 0x2cd39ea4
lea edx, [eax - 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x2cd39ea4
jne 0x409fd8
mov ebx, 0xf312bfae
jmp 0x409fd8
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0x3eb7ee78
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, 0x3eb7ee78
mov edx, 0x903d9c6
sete bl
je 0x40a31f
mov edi, 0x903d9c6
jmp 0x40a31f
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0x8688aff
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, 0x8688aff
mov edx, 0xa074c835
sete bl
je 0x40a293
mov edi, 0xa074c835
jmp 0x40a293
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0x506e25ed
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x506e25ed
jne 0x4095fa
mov edi, 0xa074c835
jmp 0x4095fa
mov eax, 0x3eb7ee78
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
push dword [esp + 0xc]
call fcn.00442813
add esp, 4
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
push 0
push dword [esp + 0x40]
push dword [esp + 0x14]
push eax
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
mov eax, 0x3dfb434d
je 0x409610
mov eax, 0x16f32141
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov ebx, 0xa5af78a9
lea edx, [eax - 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xa5af78a9
je 0x409fd3
jmp 0x409fd8
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov ebx, 0x87b5aab2
lea edx, [eax - 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x87b5aab2
jne 0x409fd8
mov ebx, 0x10bdcf6d
test edi, edx
cmovne eax, ebx
cmp ecx, 0xa
cmovge eax, ebx
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
mov eax, 0xc97d7f91
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0xa88962a5
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xa88962a5
jne 0x40a03d
mov edi, 0xb3a03128
cmp edx, 0xffffffff
cmovne eax, edi
cmp ecx, 0xa
mov ecx, dword [esp]
cmovge eax, edi
and cl, 1
mov byte [esp + 0x1b], cl
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0xc7caa94
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, 0xc7caa94
mov edx, 0xd4aeca36
sete bl
je 0x40a293
mov edi, 0xd4aeca36
jmp 0x40a293
push 0
push dword [esp + 0xc]
call ebp
mov dword [esp + 0xc], eax
mov edi, 0x3a13b464
mov eax, dword [esp + 0xc]
mov ecx, dword [0x46b4d4]
cmp eax, 0xffffffff
mov eax, dword [0x46b4d0]
sete byte [esp + 0x13]
lea edx, [eax - 1]
imul edx, eax
mov eax, 0x3a13b464
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
mov edx, 0xf312bfae
sete bl
je 0x40a31f
mov edi, 0xf312bfae
jmp 0x40a31f
mov eax, 0x8688aff
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0xc97d7f91
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, 0xc97d7f91
mov edx, 0x43ccbe4b
sete bl
je 0x40a31f
mov edi, 0x43ccbe4b
jmp 0x40a31f
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0xf0c8b47d
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xf0c8b47d
jne 0x4095fa
mov edi, 0x990bf763
jmp 0x4095fa
mov eax, 0xbb9c7d1b
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
mov eax, 0xa6e29056
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0xa71b03a1
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xa71b03a1
jne 0x4095fa
jmp 0x4095f5
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0x137e06e8
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x137e06e8
jne 0x4095fa
mov edi, 0xfa4fcb4a
jmp 0x4095fa
push 0
push dword [esp + 0xc]
call ebp
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0x3943075
lea edx, [eax - 1]
imul edx, eax
mov eax, 0x3943075
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
mov edx, 0x476475f7
sete bl
je 0x40a31f
mov edi, 0x476475f7
jmp 0x40a31f
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0x9b90febf
lea edx, [eax - 1]
imul edx, eax
mov eax, 0x9b90febf
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
mov edx, 0xfa4fcb4a
sete bl
je 0x40a293
mov edi, 0xfa4fcb4a
cmp ecx, 0xa
setl cl
cmovl edx, edi
xor bl, cl
jne 0x409610
jmp 0x40a330
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, 0x93c7df97
cmp dword [esp + 0x14], 0
je 0x409610
mov eax, 0x343368bc
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
mov eax, 0xa88962a5
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
mov eax, dword [0x46b4d0]
mov ecx, dword [0x46b4d4]
mov edi, 0xbb9c7d1b
lea edx, [eax - 1]
imul edx, eax
mov eax, 0xbb9c7d1b
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
mov edx, 0xd4aeca36
sete bl
je 0x40a31f
mov edi, 0xd4aeca36
cmp ecx, 0xa
setl cl
cmovl edx, edi
xor cl, bl
jne 0x409610
mov eax, edx
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
mov eax, 0x9b90febf
cmp eax, 0x8688afe
jg 0x409617
jmp 0x409670
push dword [esp + 8]
call esi
mov eax, 0xb7c6d71c
mov cl, 1
jmp 0x4095e9
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 0x1c]
xor ecx, esp
and bl, 1
call fcn.00442821
mov eax, ebx
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret