Function at 0x10020555
Capabilities:
Get file size

Disassembly:
mov eax, 0x10058fff
call fcn.10057e90
sub esp, 0x58
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x1c], edi
je 0x1002064e
cmp byte [ebp + 0x18], 0
je 0x10020599
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x10020802
push 0
call dword [sym.imp.ADVAPI32.dll_GetLengthSid]
jmp 0x10020802
mov dword [ebp + 0xc], 0xb78
xor esi, esi
cmp dword [ebp + 0xc], 0xb9d
jle 0x100205d3
mov ebx, esi
mov edi, ebx
mov esi, 0x7f32
mov eax, edi
mov ecx, 0x10073038
cdq
push edx
push eax
call fcn.10004272
dec edi
dec esi
jne 0x100205b4
inc ebx
cmp ebx, 0x77d4
jl 0x100205ad
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 4], esi
cmp dword [ebp + 0xc], 0xae3
jge 0x1002060f
mov edx, str.asotzx_jhrtv_glcxhka_kxmrtl
mov ecx, 0x10073038
call fcn.100062fd
jmp 0x1002060f
mov dword [edi], 2
cmp dword [edi], esi
jl 0x10020802
mov edx, dword [ebp + 0x28]
mov dword [ebp + 0xc], 0xfffffffa
mov dword [ebp + 0xc], esi
jmp 0x1002063b
mov ecx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0xe1dfe009
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], 3
jl 0x1002062c
mov eax, dword [edi]
dec dword [edi]
cmp dword [edi], esi
jge 0x10020620
jmp 0x10020802
mov dword [ebp + 0xc], 0x1622
cmp dword [ebp + 0xc], 0x6dc
jge 0x100206f3
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
push str._ld__ld
call fcn.10041362
add esp, 0xc
lea eax, [ebp - 0x34]
xor esi, esi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x4c], esi
push eax
push dword [ebp - 0x18]
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], esi
call fcn.10023937
mov edi, dword [ebp - 0x4c]
mov ebx, esi
cmp dword [ebp - 0x20], ebx
jle 0x100206dd
lea eax, [ebp - 0x38]
push eax
push 0x10063540
call fcn.10041362
mov eax, dword [ebp - 0x38]
cdq
idiv dword [ebp - 0x18]
pop ecx
pop ecx
lea eax, [edi + edx*4]
inc dword [eax]
jmp 0x100206bd
inc ebx
mov eax, ebx
cdq
idiv dword [ebp - 0x18]
cmp dword [edi + edx*4], eax
jg 0x100206bc
push ebx
push str._ld_n
call fcn.10040c20
inc esi
pop ecx
pop ecx
cmp esi, dword [ebp - 0x20]
jl 0x1002069e
xor esi, esi
test edi, edi
je 0x100206f5
push edi
call fcn.10040cf1
pop ecx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], esi
jmp 0x100206f5
xor esi, esi
mov dword [ebp - 0x30], 0x693f
cmp dword [ebp - 0x30], 0x6c20
jle 0x1002079e
push 0xe09
push esi
push esi
push 0x13ed
call dword [sym.imp.GDI32.dll_PolyPolyline]
mov dword [ebp + 0xc], esi
mov edi, esi
mov dword [ebp - 0x2c], esi
mov ebx, esi
mov dword [ebp - 0x28], esi
mov eax, edi
mov dword [ebp - 0x24], 0x667e
cdq
idiv ebx
mov edi, dword [ebp + 0xc]
mov ebx, edx
mov eax, ebx
lea ecx, [ebp - 0x64]
and eax, edi
cdq
push edx
push eax
call fcn.10001331
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10020752
mov eax, dword [eax]
push eax
call fcn.10040c20
pop ecx
push esi
push 1
lea ecx, [ebp - 0x64]
call fcn.10001542
inc ebx
dec dword [ebp - 0x24]
jne 0x10020739
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x2c]
inc ebx
mov dword [ebp - 0x28], ebx
cmp ebx, 0x7a12
jl 0x10020728
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x43be
jl 0x10020723
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, 0x644
jl 0x1002071e
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp dword [ebp - 0x30], 0x684b
jge 0x100207b2
push str.zamrlu_rsgflinvu_zcly_llrjro
call fcn.10040c20
pop ecx
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x2c], 0
je 0x100207cd
mov ecx, dword [ebp + 0x1c]
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x3c], esi
call fcn.100237df
jmp 0x10020802
mov esi, dword [ebp + 0x14]
xor ecx, ecx
mov eax, dword [ebp + 0x20]
mov dword [eax], 0x8e5161e3
mov eax, dword [esi]
mov edx, dword [esi]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp edx, eax
mov edx, dword [ebp - 0x40]
setle cl
mov dword [edx], ecx
mov eax, dword [esi]
mov eax, dword [esi]
mov eax, dword [edx]
mov eax, dword [ebp + 0x10]
mov ecx, dword [esi]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x93f04518
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret