Function at 0x1002d648
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100643a4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x118
push esi
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x1002d6a6
lea eax, [ebp + 0xc]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
movzx eax, byte [eax]
test eax, eax
je 0x1002d691
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetFileSize]
jmp 0x1002d6a1
push 0x11c2
push 0x33a
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
jmp 0x1002de25
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x104], eax
push 1
lea ecx, [ebp - 0xcc]
call fcn.1001a8b6
and dword [ebp - 4], 0
push 3
lea ecx, [ebp - 0x2c]
call fcn.1001a8b6
mov byte [ebp - 4], 1
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x30], 0xedda5659
mov dword [ebp - 0xf4], 0x4942beba
mov dword [ebp - 0x14], 0
jmp 0x1002d6ff
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jge 0x1002d71b
push dword [ebp - 0x14]
lea ecx, [ebp - 0xcc]
call fcn.1001a954
mov dword [eax], 0x55683450
jmp 0x1002d6f8
mov dword [ebp - 0x14], 0
jmp 0x1002d72b
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1002d744
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2c]
call fcn.1001a954
mov dword [eax], 0xde713a47
jmp 0x1002d724
push 0
lea ecx, [ebp - 0x2c]
call fcn.1001a954
and dword [eax], 0
jmp 0x1002d774
push 0
lea ecx, [ebp - 0x2c]
call fcn.1001a954
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0xac]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x2c]
call fcn.1001a954
cmp dword [eax], 0
jl 0x1002ddf4
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x3c], 0xae8b0121
push 2
lea ecx, [ebp - 0xec]
call fcn.1001a8b6
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], 0
jmp 0x1002d7b6
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002d7cc
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd4], 0xfffffffe
jmp 0x1002d7af
mov dword [ebp - 0x10], 0
jmp 0x1002d7dc
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002d7f8
push dword [ebp - 0x10]
lea ecx, [ebp - 0xec]
call fcn.1001a954
mov dword [eax], 0x3062a4b1
jmp 0x1002d7d5
mov dword [ebp - 0x10], 0
jmp 0x1002d808
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002d81e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x118], 0x7f6a191a
jmp 0x1002d801
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xd4]
dec eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0xd4], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xd4], 0xfffffffb
jl 0x1002d855
mov dword [ebp - 0xf8], 1
jmp 0x1002d85c
and dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x11c], eax
push 0
lea ecx, [ebp - 0x2c]
call fcn.1001a954
mov esi, dword [ebp - 0x18]
push 0
lea ecx, [ebp - 0x2c]
call fcn.1001a954
mov eax, dword [eax]
lea eax, [esi + eax - 1]
cmp eax, 7
jl 0x1002d893
mov dword [ebp - 0xb4], 1
jmp 0x1002d89a
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xb4], eax
jne 0x1002d8b1
mov dword [ebp - 0x88], 1
jmp 0x1002d8b8
and dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x3c], eax
mov esi, dword [ebp - 0x3c]
push 1
lea ecx, [ebp - 0xec]
call fcn.1001a954
imul esi, dword [eax]
mov dword [ebp - 0x44], esi
push 0
lea ecx, [ebp - 0x2c]
call fcn.1001a954
push dword [eax]
lea ecx, [ebp - 0xcc]
call fcn.1001a954
cmp dword [ebp - 0x18], 0xffff
ja 0x1002d900
mov dword [ebp - 0x58], 1
jmp 0x1002d904
and dword [ebp - 0x58], 0
cmp dword [ebp - 0x58], 0x4c7b
jg 0x1002d919
mov dword [ebp - 0x90], 1
jmp 0x1002d920
and dword [ebp - 0x90], 0
push 0
lea ecx, [ebp - 0x2c]
call fcn.1001a954
mov ecx, dword [ebp - 0x90]
imul ecx, dword [eax]
imul eax, ecx, 0x7d64
push 4
pop ecx
shl ecx, 0
sub eax, dword [ebp + ecx - 0x118]
je 0x1002d989
mov byte [ebp - 0x19], 0
movzx eax, byte [ebp - 0x19]
test eax, eax
je 0x1002d95e
push 0
push 0
call dword [sym.imp.USER32.dll_LoadMenuW]
push 1
lea ecx, [ebp - 0xec]
call fcn.1001a954
cmp dword [eax], 0
je 0x1002d984
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xec]
call fcn.1001a938
jmp 0x1002ddf4
jmp 0x1002dde0
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x34], 0
cmp dword [ebp - 0x3c], 0
jne 0x1002d9c6
push 0
lea ecx, [ebp - 0x2c]
call fcn.1001a954
push dword [eax]
lea ecx, [ebp - 0xcc]
call fcn.1001a954
cmp dword [eax], 0
jne 0x1002d9c6
and dword [ebp - 0x78], 0
jmp 0x1002d9cd
mov dword [ebp - 0x78], 1
cmp dword [ebp - 0x30], 0x5452
jl 0x1002d9df
mov dword [ebp - 0x60], 1
jmp 0x1002d9e3
and dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x60], eax
je 0x1002d9f7
mov dword [ebp - 0x98], 1
jmp 0x1002d9fe
and dword [ebp - 0x98], 0
cmp dword [ebp - 0x98], 0xbe945d4
je 0x1002da16
cmp dword [ebp - 0x3c], 0
jne 0x1002da16
and dword [ebp - 0x68], 0
jmp 0x1002da1d
mov dword [ebp - 0x68], 1
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x68]
jle 0x1002da31
mov dword [ebp - 0xa0], 1
jmp 0x1002da38
and dword [ebp - 0xa0], 0
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x118]
cmp dword [ebp - 0xa0], eax
jge 0x1002da56
mov dword [ebp - 0x70], 1
jmp 0x1002da5a
and dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x70], eax
jge 0x1002da6e
mov dword [ebp - 0xb0], 1
jmp 0x1002da75
and dword [ebp - 0xb0], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0xb0]
sub ecx, dword [ebp + eax - 0xd4]
cmp ecx, 0x84ebf8c3
jae 0x1002da9c
mov dword [ebp - 0xb8], 1
jmp 0x1002daa3
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0xb8]
jne 0x1002daba
mov dword [ebp - 0xc0], 1
jmp 0x1002dac1
and dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0xc0]
jl 0x1002dad9
xor eax, eax
jne 0x1002dad9
and dword [ebp - 0x84], 0
jmp 0x1002dae3
mov dword [ebp - 0x84], 1
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x38]
jne 0x1002db09
push 0
lea ecx, [ebp - 0x2c]
call fcn.1001a954
cmp dword [eax], 0
jne 0x1002db09
mov dword [ebp - 0xa8], 1
jmp 0x1002db10
and dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x44], 0x2b4b20f9
jne 0x1002db2e
mov dword [ebp - 0x8c], 1
jmp 0x1002db35
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x8c]
add eax, 0xfff9
cmp eax, dword [ebp - 0x38]
je 0x1002db51
cmp dword [ebp - 0x38], 0
jne 0x1002db51
and dword [ebp - 0x4c], 0
jmp 0x1002db58
mov dword [ebp - 0x4c], 1
cmp dword [ebp - 0x4c], 0xfffffff9
jg 0x1002db6a
mov dword [ebp - 0x94], 1
jmp 0x1002db71
and dword [ebp - 0x94], 0
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x30], eax
jle 0x1002db8e
mov dword [ebp - 0xbc], 1
jmp 0x1002db95
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0xbc], eax
jge 0x1002dbac
mov dword [ebp - 0x9c], 1
jmp 0x1002dbb3
and dword [ebp - 0x9c], 0
mov esi, dword [ebp - 0x20]
sub esi, dword [ebp - 0x9c]
push 0
lea ecx, [ebp - 0x2c]
call fcn.1001a954
push dword [eax]
lea ecx, [ebp - 0xcc]
call fcn.1001a954
cmp esi, dword [eax]
je 0x1002dbe3
mov dword [ebp - 0x100], 1
jmp 0x1002dbea
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x30]
push 4
pop ecx
shl ecx, 1
sub eax, dword [ebp + ecx - 0x118]
imul esi, eax, 0xfffffffd
add esi, 0x5e6b711a
push 1
lea ecx, [ebp - 0x2c]
call fcn.1001a954
cmp esi, dword [eax]
jg 0x1002dc25
mov dword [ebp - 0xa4], 1
jmp 0x1002dc2c
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0xa4]
je 0x1002dd30
mov dword [ebp - 0x48], 0xbf2dcfcb
mov dword [ebp - 0xf0], 0xffffffff
mov dword [ebp - 0xe0], 8
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x48], 0
jne 0x1002dc74
cmp dword [ebp - 0x48], 0
jne 0x1002dc74
and dword [ebp - 0x108], 0
jmp 0x1002dc7e
mov dword [ebp - 0x108], 1
push 2
lea ecx, [ebp - 0x2c]
call fcn.1001a954
push 4
pop ecx
shl ecx, 0
mov esi, dword [eax]
add esi, dword [ebp + ecx - 0x118]
push 0
lea ecx, [ebp - 0x2c]
call fcn.1001a954
push dword [eax]
lea ecx, [ebp - 0xcc]
call fcn.1001a954
imul esi, dword [eax]
sub esi, dword [ebp - 0xf0]
cmp esi, 0xffffffff
jg 0x1002dcc5
mov dword [ebp - 0x7c], 1
jmp 0x1002dcc9
and dword [ebp - 0x7c], 0
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x7c]
jne 0x1002dcda
mov dword [ebp - 0x80], 1
jmp 0x1002dcde
and dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x38]
neg eax
add eax, dword [ebp - 0x80]
je 0x1002dcf8
push 7
pop eax
test eax, eax
je 0x1002dcf8
mov dword [ebp - 0x50], 1
jmp 0x1002dcfc
and dword [ebp - 0x50], 0
push 0
lea ecx, [ebp - 0xcc]
call fcn.1001a954
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [eax]
jne 0x1002dd19
mov dword [ebp - 0x54], 1
jmp 0x1002dd1d
and dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x54]
add eax, 0x1a1ccc58
mov dword [ebp - 0xe0], eax
jmp 0x1002dde0
mov dword [ebp - 0x40], 0
jmp 0x1002dd40
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 1
jge 0x1002dd56
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0xfc], 0x400d43e6
jmp 0x1002dd39
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x118], 0
jne 0x1002dd73
push 0xfffffffffffffffe
pop eax
test eax, eax
jne 0x1002dd73
and dword [ebp - 0x5c], 0
jmp 0x1002dd7a
mov dword [ebp - 0x5c], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x5c]
jg 0x1002dd8b
mov dword [ebp - 0x64], 1
jmp 0x1002dd8f
and dword [ebp - 0x64], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xfc]
neg eax
cmp eax, dword [ebp - 0x64]
je 0x1002ddbb
push 1
lea ecx, [ebp - 0x2c]
call fcn.1001a954
cmp dword [eax], 0
je 0x1002ddbb
mov dword [ebp - 0x6c], 1
jmp 0x1002ddbf
and dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0xf4]
cmp eax, 1
jb 0x1002ddd6
mov dword [ebp - 0x74], 1
jmp 0x1002ddda
and dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xec]
call fcn.1001a938
jmp 0x1002d753
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.1001a938
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xcc]
call fcn.1001a938
push dword [ebp - 0x104]
push 0
push dword [ebp - 0xdc]
call fcn.1004697a
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret