Function at 0x100075a4
Capabilities:
Get file size

Disassembly:
mov eax, 0x10063bc4
call fcn.10063318
sub esp, 0x15c
cmp byte [ebp + 0x1c], 0
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x50], esi
je 0x10007ecd
mov eax, dword [esi]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x64], ecx
cmp eax, dword [esi + 4]
je 0x10007ec5
lea eax, [ebp - 0xa4]
xor ebx, ebx
push eax
push 0x1000
lea ecx, [ebp - 0x60]
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
call fcn.10008e37
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x60]
push dword [ebp - 0x60]
sar eax, 1
push eax
push 0x5a19
push 0x8479
call fcn.10043bd9
pop ecx
pop ecx
call eax
push dword [ebp - 0x60]
lea ecx, [ebp - 0x84]
call fcn.100081e2
push 0xaed9
mov byte [ebp - 4], 1
call fcn.10021ed6
cmp dword [ebp - 0x70], 8
pop ecx
movzx edx, ax
lea ecx, [ebp - 0x84]
cmovae ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x68], edx
cmp word [ecx + eax*2 - 2], dx
je 0x10007766
push 0x70bb
push 0x1345
push 1
push 1
push 0x449e
push 1
push 0x5e84
push 0x4de2
push 0xdb1
push 0x45fe
push 0x3133
push 0x2879
lea eax, [ebp - 0x84]
mov edx, 0x632
push eax
push 0x2c61
push 0x6bb3
push 0x12e6
lea ecx, [ebp - 0x68]
call fcn.10006cd4
mov dword [ebp - 0x14], 0x5bf
add esp, 0x40
cmp dword [ebp - 0x14], 0x695
jle 0x1000774b
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov eax, edi
mov dword [ebp - 0x18], 0xc7b
mov dword [ebp - 0x28], eax
mov edi, eax
mov dword [ebp - 0x48], 0x36c1
mov ecx, edi
mov eax, esi
sar eax, cl
lea ecx, [ebp - 0x150]
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10007709
mov eax, dword [eax]
push eax
call fcn.1004b116
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x150]
call fcn.100022d2
dec edi
dec dword [ebp - 0x48]
jne 0x100076eb
mov eax, dword [ebp - 0x28]
dec eax
dec dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
jne 0x100076e2
mov edi, dword [ebp - 0x1c]
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x5fa8
jl 0x100076d6
inc esi
cmp esi, 0x2f77
jl 0x100076d1
mov esi, dword [ebp - 0x50]
cmp dword [ebp - 0x14], 0x295
jge 0x1000775f
push str.srxqz_tulxmrz_qwbjfjl_wgfy_ylwhybqk_gvqk_mnmx_idqco_rkupapmov_zxmymgk
call fcn.1004b116
pop ecx
mov dword [ebp - 4], 1
push 0x4e32
push 0x13e9
push 0x5fa6
push 1
push 0x674d
push 0x53c9
lea eax, [ebp - 0x84]
mov edx, 0x641b
push 1
push eax
mov ecx, 0x10c6
call fcn.10007102
add esp, 0x20
lea eax, [ebp - 0x84]
cmp dword [ebp - 0x70], 8
cmovae eax, dword [ebp - 0x84]
push ebx
push eax
push 0x5a19
push 0x54cd
call fcn.10043bd9
pop ecx
pop ecx
call eax
mov dword [ebp - 0x18], 0x4556
cmp dword [ebp - 0x18], 0x489b
jle 0x1000781e
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], 0x1c60
mov esi, ebx
mov ebx, dword [ebp - 0x14]
mov eax, ebx
mov ecx, 0x10081838
or eax, esi
cdq
push edx
push eax
call fcn.10001e6d
inc esi
cmp esi, 0x6863
jl 0x100077eb
add ebx, edi
dec dword [ebp - 0x1c]
push 0
mov dword [ebp - 0x14], ebx
pop ebx
jne 0x100077e6
inc edi
cmp edi, 0x4a76
jl 0x100077dc
mov esi, dword [ebp - 0x50]
push dword [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x84]
call fcn.10008902
mov byte [ebp - 4], 4
cmp dword [ebp - 0x18], 0x44fe
jge 0x1000786a
mov edx, str.nggmvliex_uxloju_pxptcjd_ufrpuvwwm_hzf_wcdhrcz
mov ecx, 0x10081838
call fcn.100038af
jmp 0x1000786a
mov dword [ebp - 4], 1
lea eax, [ebp - 0x6c]
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
mov edx, dword [esi]
push eax
mov dword [ebp - 0x6c], ebx
call fcn.1000c009
pop ecx
mov dword [ebp - 0x28], 0x670c
mov cl, bl
cmp dword [ebp - 0x28], 0x6773
mov byte [ebp - 0x1d], cl
mov dword [ebp - 0xa0], str.cpv_hhm_qspjsxlg
jle 0x10007916
mov esi, ebx
mov dword [ebp - 0x18], ebx
mov edi, esi
mov dword [ebp - 0x1c], 0x4762
mov dword [ebp - 0x14], edi
mov esi, edi
mov edi, 0x2940
mov eax, esi
lea ecx, [ebp - 0x138]
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100078d6
mov eax, dword [eax]
push eax
call fcn.1004b116
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x138]
call fcn.100022d2
dec esi
dec edi
jne 0x100078bc
mov edi, dword [ebp - 0x14]
dec edi
dec dword [ebp - 0x1c]
mov dword [ebp - 0x14], edi
jne 0x100078b5
mov esi, dword [ebp - 0x18]
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x4698
jl 0x100078a9
push ebx
push 0x2c
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
mov cl, byte [ebp - 0x1d]
mov eax, ebx
mov dword [ebp - 0x18], ebx
cmp eax, 0x12c
jae 0x10007ea5
test cl, cl
jne 0x10007ea5
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xbc]
call fcn.100081a7
push 0x10
pop edx
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 6
call fcn.1001275a
push 0x5ae8
push ecx
lea eax, [ebp - 0x120]
mov byte [ebp - 4], 7
push eax
push ecx
lea eax, [ebp - 0xbc]
mov edx, 0x74e8
push eax
mov cl, 1
call fcn.10007283
add esp, 0x14
mov word [ebp - 0x38], 0x7101
mov byte [ebp - 0x36], bl
mov dword [ebp - 0x35], 0x24b034b
mov byte [ebp - 0x31], 0x1d
push 0x65
pop eax
push 2
mov word [ebp - 0x8e], ax
pop esi
movzx eax, byte [ebp + esi - 0x3a]
movzx edx, byte [ebp + esi - 0x37]
mov ecx, edx
movzx eax, word [ebp + eax*2 - 0x90]
or ecx, eax
and edx, eax
movzx eax, byte [ebp + esi - 0x38]
sub ecx, edx
add esi, 2
mov word [ebp + eax*2 - 0x90], cx
cmp esi, 8
jb 0x1000799b
xor eax, eax
mov dword [ebp - 0xdc], 7
mov word [ebp - 0x88], ax
lea ecx, [ebp - 0xf0]
mov word [ebp - 0xf0], ax
lea eax, [ebp - 0x90]
push eax
mov dword [ebp - 0xe0], ebx
call fcn.10008a0e
push ecx
push ecx
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0xbc]
call fcn.10008eeb
push ebx
push 1
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 7
call fcn.10008b6b
xor eax, eax
lea edi, [ebp - 0x90]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x1c], 0x6e34
cmp dword [ebp - 0x1c], 0x6f24
jle 0x10007aa5
push ebx
push 0x1799
push 0x254b
push ebx
call dword [sym.imp.GDI32.dll_GetPaletteEntries]
mov edi, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov dword [ebp - 0x48], ebx
mov ecx, esi
mov ebx, edi
mov edi, dword [ebp - 0x48]
shl ebx, cl
mov ecx, edi
mov eax, ebx
shl eax, cl
mov ecx, 0x10081838
cdq
push edx
push eax
call fcn.10001e6d
inc edi
cmp edi, 0x1cf8
jl 0x10007a67
mov edi, dword [ebp - 0x14]
inc esi
push 0
pop ebx
cmp esi, 0x427f
jl 0x10007a5b
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x7c8e
jl 0x10007a59
push ebx
call dword [sym.imp.KERNEL32.dll_EncodePointer]
cmp dword [ebp - 0xa8], 8
lea eax, [ebp - 0xbc]
push ebx
cmovae eax, dword [ebp - 0xbc]
push 0x80
push 2
push ebx
push ebx
push 0x40000000
push eax
push 0x5a19
push 0x99a9
call fcn.10043bd9
pop ecx
pop ecx
call eax
mov esi, eax
mov byte [ebp - 4], 9
cmp dword [ebp - 0x1c], 0x6da5
mov dword [ebp - 0x14], esi
jge 0x10007b1e
mov edx, str.slvfgxpx_qkp_edihsy_ojwtt_lzfm_etxl
mov ecx, 0x10081838
call fcn.100038af
jmp 0x10007b1e
mov dword [ebp - 4], 7
cmp esi, 0xffffffff
je 0x10007e76
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0xd8]
push ebx
push ecx
push dword [ebp - 0x6c]
push dword [eax]
push esi
push 0x5a19
push 0xa98d
call fcn.10043bd9
pop ecx
pop ecx
call eax
push esi
test eax, eax
push 0x5a19
push 0xde85
setne bl
call fcn.10043bd9
pop ecx
pop ecx
call eax
test bl, bl
je 0x10007e74
push 0x22
pop eax
xor ebx, ebx
mov dword [ebp - 0x30], 0x15034b00
push 2
mov word [ebp - 0x2c], 0x1c90
mov ecx, ebx
mov word [ebp - 0x24], ax
pop esi
cmp esi, 2
jne 0x10007c00
push 4
pop ecx
push ecx
mov dword [ebp - 0x4c], 0x42ba
cmp dword [ebp - 0x4c], 0x43ff
pop esi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], esi
jle 0x10007c29
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x14], 0x2440
mov eax, esi
lea ecx, [ebp - 0x168]
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10007bd3
mov eax, dword [eax]
push eax
call fcn.1004b116
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x168]
call fcn.100022d2
add esi, edi
dec dword [ebp - 0x14]
jne 0x10007bb9
inc edi
cmp edi, 0x8a8
jl 0x10007bb0
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
jmp 0x10007c29
movzx edx, byte [ebp + esi - 0x2f]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x32]
movzx ecx, word [ebp + eax*2 - 0x24]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x30]
add ecx, edx
mov word [ebp + eax*2 - 0x24], cx
mov ecx, ebx
add esi, 2
cmp esi, 6
jb 0x10007b8e
xor eax, eax
mov dword [ebp - 0xc0], 7
mov word [ebp - 0x22], ax
lea ecx, [ebp - 0xd4]
mov word [ebp - 0xd4], ax
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0xc4], ebx
call fcn.10008a0e
push 1
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0xbc]
mov dword [ebp - 0x24], ebx
push eax
push 1
push 1
push 0xb4e
mov edx, 0x2bd6
mov ecx, 0x155c
call fcn.1000742d
add esp, 0x18
mov dword [ebp - 0x44], 0x7e011100
mov ecx, ebx
mov dword [ebp - 0x40], 0x7c027103
mov word [ebp - 0x3c], 0xf01
mov dword [ebp - 0x54], ecx
push 0x22
pop eax
push 2
mov word [ebp - 0x9c], ax
pop esi
cmp esi, 2
jne 0x10007cc5
push esi
pop ecx
mov dword [ebp - 0x54], ecx
jmp 0x10007d14
movzx edx, byte [ebp + esi - 0x43]
mov eax, esi
sub eax, ecx
push 1
movzx eax, byte [ebp + eax - 0x46]
movzx ecx, word [ebp + eax*2 - 0x9c]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x44]
add ecx, edx
mov edx, 0x3a7f
mov word [ebp + eax*2 - 0x9c], cx
lea eax, [ebp - 0x54]
push eax
push ecx
push 0x51e9
push 0x633e
push ecx
call fcn.10007537
mov ecx, dword [ebp - 0x54]
add esp, 0x18
add esi, 2
cmp esi, 0xa
jb 0x10007cb9
xor eax, eax
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x94], ax
lea ecx, [ebp - 0x108]
mov word [ebp - 0x108], ax
lea eax, [ebp - 0x9c]
push eax
mov dword [ebp - 0xf8], ebx
call fcn.10008a0e
push ecx
push ecx
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0xd4]
call fcn.10008eeb
push ebx
push 1
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0xd
call fcn.10008b6b
mov dword [ebp - 0x14], 0xbec
cmp dword [ebp - 0x14], 0xcb0
jle 0x10007dcc
push ebx
push 0xdd9
push ebx
push 0x98c
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x10081838
or eax, esi
cdq
push edx
push eax
call fcn.10001e6d
inc edi
cmp edi, 0xc12
jl 0x10007d9e
inc esi
cmp esi, 0x71de
jl 0x10007d9c
push 0x3ea
call dword [sym.imp.USER32.dll_MessageBeep]
xor eax, eax
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x14], 0xb4d
lea edi, [ebp - 0x9c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
jge 0x10007e12
mov edx, str.ojkbv_quuardo_wighif_vwnidpq_bgtq_uhvs_dxvass_txnpntm_ipzuolj_mvqupvmrq_wzxbh_hxj_atr_pdt
mov ecx, 0x10081838
call fcn.100038af
jmp 0x10007e12
lea edx, [ebp - 0x84]
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0xd4]
call fcn.1000650c
mov ecx, dword [ebp - 0x64]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [ebp - 0xd4]
call fcn.10008b6b
push ebx
push 1
lea ecx, [ebp - 0x120]
call fcn.10008b6b
push ebx
push 1
lea ecx, [ebp - 0xbc]
call fcn.10008b6b
push ebx
push 1
lea ecx, [ebp - 0x84]
call fcn.10008b6b
lea ecx, [ebp - 0x60]
call fcn.10008ec8
jmp 0x10007f09
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x120]
call fcn.10008b6b
push ebx
push 1
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 1
call fcn.10008b6b
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x1d]
inc eax
mov dword [ebp - 0x18], eax
jmp 0x1000791b
cmp dword [ebp - 0x28], 0x6325
jge 0x10007eba
push dword [ebp - 0xa0]
call fcn.1004b116
pop ecx
mov eax, dword [ebp - 0x64]
mov dword [eax], 2
jmp 0x10007e59
mov dword [ecx], 1
jmp 0x10007f09
mov eax, dword [ebp + 0x18]
mov esi, dword [eax]
mov eax, dword [ebp + 0x20]
mov edx, dword [eax]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [edx + esi*4]
cmp eax, dword [ecx + esi*4]
jge 0x10007f09
mov ecx, dword [ebp + 0x10]
mov edx, 0x6a8c
push 1
push 0x1874
push 0x39fe
push 1
push 0
push 0x2de2
call fcn.1000742d
add esp, 0x18
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret