Function at 0x1002cc67
Capabilities:
Get file size
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1005964e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x160
push ebx
push esi
push edi
mov dword [esp + 0xac], ecx
mov eax, 0xcd509978
push 3
pop esi
mov dword [esp + 0x28], 0x7fb0
xor ebx, ebx
mov dword [esp + 0x28], 0xc1ec2db2
mov edi, edx
push 1
mov dword [esp + 0x2c], esi
mov edx, 0x7ccf
push 0x3889
mov dword [esp + 0x30], 0xaa39ed0
mov ecx, 0x488f
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
push 0x10c1
mov dword [esp + 0x70], eax
push 0x3cc9
mov dword [esp + 0x78], eax
lea eax, [esp + 0x9c]
push 0x3339
mov dword [esp + 0x3c], 0xb64fda7e
push 0x325e
mov dword [esp + 0x40], 4
mov dword [esp + 0x40], 0xef99
push ebx
mov dword [esp + 0x44], 0x5169ff4c
push eax
mov dword [esp + 0xac], 0xab83
call fcn.1002c92f
add esp, 0x20
cmp byte [edi], 0x50
jne 0x1002d822
cmp byte [edi + 1], 0x4b
jne 0x1002d822
mov dword [esp + 0x10], ebx
jmp 0x1002cd57
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x118], 0xfffffffc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1002cd44
push 0x5051
push 0x431d
push 0x7952
push 0x4387
push 1
push 0x2092
push 1
push 0x7564
push 0x6903
mov dl, 1
mov ecx, 0x35ce
call fcn.1002c859
mov eax, dword [esp + 0x13c]
add esp, 0x24
mov dword [esp + 0x118], eax
xor esi, esi
inc esi
push 2
pop ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], 0xdf3d37a5
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], 0xfd43ddca
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x10], ebx
jmp 0x1002cddd
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x6c], 0xffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1002cdcd
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x1002cdf5
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov eax, dword [esp + 0x6c]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], 0x72d9ee1c
cmp dword [esp + 0x20], ebx
jne 0x1002ce2d
mov ecx, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + 0x20]
cmp eax, ecx
mov eax, dword [esp + 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, dword [esp + 0x24]
mov ecx, ebx
jg 0x1002ce2f
mov ecx, esi
mov eax, dword [esp + 0x18]
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x6c]
setne dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x20], ebx
je 0x1002ce53
mov eax, dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x90]
mov al, byte [edi + 2]
push 4
mov byte [esp + 0x35], al
mov al, byte [edi + 3]
mov dword [esp + 0x30], esi
pop esi
mov byte [esp + 0x32], al
mov dword [esp + 0x34], esi
mov dword [esp + 0x10], 5
push esi
call fcn.100048ce
mov dword [esp + 0x174], ebx
mov dword [esp + 0x28], 0x68d2
mov dword [esp + 0x48], ebx
jmp 0x1002ceaa
mov eax, dword [esp + 0x48]
mov dword [esp + eax*4 + 0x1c], 0x188e17b8
inc dword [esp + 0x48]
cmp dword [esp + 0x48], 1
jl 0x1002ce9a
push 0xe34
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x50]
push eax
push ecx
push ecx
push 0x13dd
xor cl, cl
call fcn.1002cb93
add esp, 0x18
cmp dword [esp + 0x10], ebx
jne 0x1002cede
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
imul eax, dword [esp + 0x10]
test eax, eax
je 0x1002cef1
cmp dword [esp + 0x10], ebx
jne 0x1002cef5
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x90]
mov dword [eax + 0xc], ecx
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], ebx
jg 0x1002d008
mov dword [esp + 0x24], 0xfffffff7
mov dword [esp + 0x24], 0xd1b4b1c2
mov dword [esp + 0x2c], 0xffffffff
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x1c], ebx
jne 0x1002d005
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x1c], 0x3a6d7d04
jl 0x1002cf65
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x1c]
xor ecx, ecx
inc ecx
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x1c], 0xffffffff
jl 0x1002cf8d
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x1c], ebx
jne 0x1002cf8f
mov ecx, ebx
xor eax, eax
test ecx, ecx
setg al
cmp eax, 0xb10079d6
sbb eax, eax
xor edx, edx
neg eax
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x1c]
mov ecx, dword [esp + 0x24]
sub ecx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x1c]
cmp eax, ecx
mov eax, dword [esp + 0x90]
setl dl
imul edx, dword [eax + esi*4]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x1c]
mov dword [esp + 0x2c], edx
xor edx, edx
cmp dword [esp + 0x2c], eax
mov eax, dword [esp + 0x90]
setle dl
xor ecx, ecx
cmp edx, dword [eax + 4]
setne cl
mov dword [esp + 0x2c], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x1002cf29
push 4
pop esi
or dword [esp + 0x174], 0xffffffff
lea ecx, [esp + 0x90]
call fcn.10004951
lea eax, [esp + 0x31]
push eax
push 0x6027
push 0x3690
push ecx
push ecx
lea eax, [esp + 0x48]
mov cl, 1
push eax
call fcn.1002cb93
mov dword [esp + 0x64], 0x399841b3
add esp, 0x18
mov dword [esp + 0x88], 0x749efede
mov dword [esp + 0x4c], esi
jmp 0x1002d132
push dword [esp + 0x58]
movdqa xmm0, xmmword [0x100658a0]
lea eax, [esp + 0x148]
push eax
lea eax, [esp + 0x13c]
mov dword [esp + 0x48], 5
push eax
push ebx
lea ecx, [esp + 0x84]
mov dword [esp + 0x84], ebx
movdqu xmmword [esp + 0x144], xmm0
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
call fcn.10007538
xor ecx, ecx
inc ecx
mov dword [esp + 0x174], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x40], ebx
jmp 0x1002d116
push ecx
lea eax, [esp + 0x44]
mov dword [esp + 0x58], 0x6b9dd952
push eax
push 0x17ab
lea eax, [esp + 0x94]
mov edx, 0x3471
push eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
push ecx
push 0x6bbf
lea ecx, [esp + 0x94]
call fcn.1002c92f
mov eax, dword [esp + 0x94]
add esp, 0x20
mov eax, dword [eax]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
push 1
mov dword [esp + 0x30], eax
inc dword [esp + 0x44]
pop ecx
cmp dword [esp + 0x40], 2
jg 0x1002d0bb
or dword [esp + 0x174], 0xffffffff
lea ecx, [esp + 0x74]
call fcn.10004951
dec dword [esp + 0x4c]
cmp dword [esp + 0x4c], 3
jg 0x1002d058
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0x108]
mov dword [esp + 0x28], 5
mov dword [esp + 0x28], ebx
mov dword [esp + 0x28], 3
push 2
call fcn.100048ce
mov dword [esp + 0x174], 2
mov dword [esp + 0x28], 0xe65251c6
mov dword [esp + 0x28], 0x25062d7b
mov dword [esp + 0x24], 0x415fb57a
mov dword [esp + 0x3c], ebx
jmp 0x1002d19f
mov eax, dword [esp + 0x3c]
mov dword [esp + eax*4 + 0x114], 0xfe01bd97
inc dword [esp + 0x3c]
cmp dword [esp + 0x3c], 1
jl 0x1002d18c
push ebx
push 0x2bef
lea eax, [esp + 0x110]
mov ecx, 0x7e4f
push eax
push 0x1725
push 0x79ce
push 0x57a4
push 1
push 0x1736
lea edx, [esp + 0x5c]
call fcn.1002c92f
mov byte [esp + 0x37], bl
add esp, 0x20
cmp byte [esp + 0x17], 0
je 0x1002d1f9
push ebx
push ecx
mov edx, 0x2cc6
mov ecx, 0x33a4
call fcn.1002ca71
pop ecx
pop ecx
dec dword [esp + 0x24]
lea ecx, [esp + 0x108]
or dword [esp + 0x174], 0xffffffff
call fcn.10004951
push 0x4690
push 0x7be9
push 0x6eb6
push 0x10b
push ebx
push 0x6b6f
push ebx
push 0x608b
push 0x1a1e
mov dl, 1
lea ecx, [esp + 0x58]
call fcn.1002c859
add esp, 0x24
lea ecx, [esp + 0xc4]
push 3
call fcn.100048ce
lea eax, [esp + 0xc4]
mov dword [esp + 0x174], 3
push eax
push ebx
lea edx, [esp + 0xa4]
call fcn.1002cacf
pop ecx
lea edx, [esp + 0xc8]
xor cl, cl
call fcn.1002cb30
mov dword [esp], 0x260b
mov edx, 0x273a
push 0x72ce
push 1
push ebx
push 1
mov ecx, 0x7262
call fcn.1002c999
or dword [esp + 0x188], 0xffffffff
lea ecx, [esp + 0xd8]
add esp, 0x14
call fcn.10004951
push 0x4adc
push 0x848
push ebx
push 1
push ebx
lea edx, [esp + 0x48]
lea ecx, [esp + 0x46]
call fcn.1002c999
mov ecx, dword [esi + edi + 0x14]
add esp, 0x14
mov edx, dword [esi + edi]
call fcn.1002c7d6
mov dword [esp + 0x50], eax
mov ecx, 0x8ecb302a
mov dword [esp + 0x10], 1
mov dword [esp + 0x18], 0x1e28
mov dword [esp + 0x20], 0x96e6c8ca
mov eax, dword [esp + 0x10]
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x63d1
setg cl
cmp ecx, 0x1cf04157
jl 0x1002d322
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp eax, ecx
setne dl
mov dword [esp + 0x20], edx
cmp dword [esp + 0x20], ebx
jne 0x1002d34d
cmp dword [esp + 0x18], ebx
jne 0x1002d34d
mov edx, ebx
jmp 0x1002d350
xor edx, edx
inc edx
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x10]
setg cl
sub eax, ecx
xor ecx, ecx
cmp eax, 0xe60f
setl cl
cmp ecx, dword [esp + 0x18]
jge 0x1002d3b7
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1002d390
sub esp, 0xc
mov dl, 1
push 0x7d32
push ecx
push ecx
call fcn.1002c907
add esp, 0x18
push 0x39e2
push 0x5ce8
push 1
push 1
push 1
mov edx, 0x2131
mov ecx, 0x19e
call fcn.1002c999
add esp, 0x14
jmp 0x1002d4fd
push dword [esp + 0x9c]
movdqa xmm0, xmmword [0x10065860]
lea eax, [esp + 0x158]
push eax
lea eax, [esp + 0x14c]
mov dword [esp + 0xb8], ebx
push eax
push ebx
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc4], ebx
movdqu xmmword [esp + 0x154], xmm0
mov dword [esp + 0xc8], ebx
call fcn.10007538
push 8
pop eax
mov dword [esp + 0x174], 4
lea ecx, [esp + 0xd0]
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], eax
push 3
call fcn.100048ce
push 3
mov byte [esp + 0x178], 5
mov dword [esp + 0x48], ebx
pop ecx
jmp 0x1002d459
mov eax, dword [esp + 0x44]
mov dword [esp + eax*4 + 0xa0], ecx
inc dword [esp + 0x44]
cmp dword [esp + 0x44], ecx
jl 0x1002d44a
lea eax, [esp + 0xd0]
push eax
push ebx
push ecx
lea edx, [esp + 0x50]
mov ecx, 0x1f64
call fcn.1002ca31
mov eax, dword [esp + 0xb0]
xor ecx, ecx
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xa4]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xb0]
mov dword [eax + 8], edx
mov eax, dword [esp + 0xa4]
cmp eax, 1
mov eax, dword [esp + 0x20]
setge cl
imul eax, dword [esp + 0x10]
imul eax, ecx
mov ecx, dword [esp + 0xa8]
sub ecx, eax
mov eax, dword [esp + 0xd0]
imul edx, ecx
mov dword [esp + 0x100], ecx
lea ecx, [esp + 0xd0]
mov dword [eax + 8], edx
call fcn.10004951
or dword [esp + 0x174], 0xffffffff
lea ecx, [esp + 0xb0]
call fcn.10004951
mov eax, dword [esp + 0x34]
mov edx, 0x3829
push ecx
push ecx
add eax, edi
mov ecx, 0x61bb
push ebx
mov dword [esp + 0x2c], eax
call fcn.1002cbd4
add esp, 0xc
lea edx, [ebp + 8]
push 1
push ecx
lea ecx, [esp + 0x58]
call fcn.1002ca71
pop ecx
push 1
push 0x23e1
lea edx, [esp + 0x5c]
mov ecx, 0x798c
call fcn.1002ca96
add esp, 0xc
mov dword [esp + 0x10], 0x76f5020f
or eax, 0xffffffff
push 0xfffffffffffffffb
pop ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x10], ebx
jmp 0x1002d57b
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x124], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1002d56c
mov dword [esp + 0x10], ebx
jmp 0x1002d59b
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x160], 0x40ee
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1002d588
mov dword [esp + 0x10], 3
cmp dword [esp + 0x10], ebx
jl 0x1002d67d
mov eax, 0xcbedfa90
mov dword [esp + 0x18], 0xc3ad3b31
mov dword [esp + 0x24], 1
mov dword [esp + 0x38], 0x11a796d4
mov dword [esp + 0x2c], 5
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x2c], 0x6f85a06c
mov dword [esp + 0x18], 3
cmp dword [esp + 0x18], ebx
jl 0x1002d66f
mov dword [esp + 0x38], 0xc9214a9b
mov edx, 0x11dd
mov dword [esp + 0x38], 0x858905b8
mov dword [esp + 0x38], ebx
mov eax, dword [esp + 0x10]
push 0xa73
push 1
mov eax, dword [esp + eax*4 + 0x12c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x12c]
mov eax, dword [esp + 0x2c]
inc dword [esp + 0x2c]
mov dword [esp + 0x40], 0xfffffffe
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x40], ebx
call fcn.1002cacf
dec dword [esp + 0x20]
pop ecx
pop ecx
jns 0x1002d5ff
mov eax, 0xcbedfa90
dec dword [esp + 0x2c]
dec dword [esp + 0x10]
jns 0x1002d5b9
push 0x2a57
push 0x2438
push 0x1f6d
lea eax, [esp + 0x3f]
mov byte [esp + 0x3f], bl
push eax
push ebx
push 0x2c8c
push 1
push 0x1a23
push 0x12b1
mov dl, 1
mov ecx, 0x5cfa
call fcn.1002c859
mov eax, dword [esi + edi]
add esp, 0x24
mov dword [esp + 0xe8], eax
mov eax, dword [esi + edi + 4]
mov dword [esp + 0xec], eax
mov eax, dword [esi + edi + 8]
mov dword [esp + 0xf0], eax
mov eax, dword [esi + edi + 0xc]
mov esi, ebx
mov dword [esp + 0xf4], eax
cmp dword [esp + 0x50], esi
jbe 0x1002d87f
sub edi, dword [esp + 0x20]
mov dword [esp + 0x58], 0x8fc558ba
lea ecx, [esp + 0xdc]
mov dword [esp + 0xc0], 0x7822e6e
mov dword [esp + 0xbc], 0x19adb821
mov dword [esp + 0x80], 0xca3691f6
push 3
call fcn.100048ce
mov dword [esp + 0x174], 6
mov dword [esp + 0x84], 0x91b76e1e
push 3
mov dword [esp + 0x30], 0x20410224
mov dword [esp + 0x14], ebx
pop edx
jmp 0x1002d765
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xdc]
mov dword [eax + ecx*4], 0x2c40a98c
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1002d74f
mov dword [esp + 0x10], ebx
jmp 0x1002d784
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x154], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1002d771
lea eax, [esp + 0x84]
xor dl, dl
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0xc4]
push eax
push 0x1c6b
push 1
lea eax, [esp + 0xd4]
push eax
push 1
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x78]
push eax
push 0x39
pop ecx
call fcn.1002c859
mov eax, dword [esp + 0x17c]
lea ecx, [esp + 0x100]
sub eax, dword [esp + 0x50]
add esp, 0x24
mov dword [esp + 0x2c], eax
or dword [esp + 0x174], 0xffffffff
call fcn.10004951
mov eax, dword [esp + 0x20]
mov edx, esi
and edx, 3
mov ecx, dword [eax]
mov edx, dword [esp + edx*4 + 0xe8]
call fcn.1002c7d6
mov ecx, dword [esp + 0x20]
mov dword [edi + ecx], eax
add ecx, 4
inc esi
mov dword [esp + 0x20], ecx
cmp esi, dword [esp + 0x50]
jb 0x1002d6f1
jmp 0x1002d87f
mov dword [esp + 0x18], 1
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x1002d842
push ecx
mov edx, 0x110c
mov cl, 1
call fcn.1002cb30
pop ecx
mov dword [esp + 0x18], ebx
jmp 0x1002d862
push 0x18bb
push ecx
push ecx
push 1
mov ecx, 0x65dd
call fcn.1002cb46
add esp, 0x10
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffe2
jg 0x1002d848
push ecx
push ecx
push 1
lea edx, [esp + 0xb8]
lea ecx, [ebp + 8]
call fcn.1002cbd4
add esp, 0xc
mov ecx, dword [esp + 0x16c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret