Function at 0x10021ae0
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b8021
mov eax, dword fs:[0]
push eax
sub esp, 0x560
mov eax, dword [0x100f51d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, edx
mov dword [ebp - 0x560], ebx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x56c], eax
test ecx, ecx
jne 0x10021b2a
xor eax, eax
jmp 0x10021e1b
mov dword [ebp - 0x558], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x554], 0
mov dword [ebp - 4], 1
sub esp, 8
push 0x80
sub esp, 8
push SysReAllocString
push ecx
lea ecx, [ebp - 0x558]
call fcn.100220e0
test eax, eax
jne 0x10021df5
mov dword [ebx], eax
mov dword [ebp - 0x568], eax
mov dword [ebp - 0x564], eax
lea eax, [ebp - 0x568]
push eax
push dword [ebp - 0x558]
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x10021df5
cmp dword [ebp - 0x564], 0
jne 0x10021df5
mov eax, dword [ebp - 0x568]
cmp eax, 0x11e
jb 0x10021df5
cmp eax, 0x3200000
ja 0x10021df5
push 2
push 0xffffffffffffffff
push 0xfffffee2
lea ecx, [ebp - 0x558]
call fcn.10022240
test eax, eax
jne 0x10021df5
push 0x11e
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x558]
call fcn.100221f0
test eax, eax
jne 0x10021df5
lea ecx, [ebp - 0x150]
mov edx, str._r_n_360signdata__r_nsign
lea esi, [eax + 0x12]
jmp 0x10021c10
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10021df5
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10021c10
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x10021df5
push 0x400
lea eax, [ebp - 0x550]
push 0
push eax
call fcn.10097030
add esp, 0xc
lea ebx, [ebp - 0x139]
xor edi, edi
nop
mov cl, byte [ebx - 1]
movsx edx, cl
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x10021c63
sub cl, 0x30
jmp 0x10021c80
lea eax, [edx - 0x61]
cmp eax, 5
ja 0x10021c70
sub cl, 0x57
jmp 0x10021c80
lea eax, [edx - 0x41]
cmp eax, 5
ja 0x10021c7d
sub cl, 0x37
jmp 0x10021c80
or cl, 0xff
mov dl, byte [ebx]
movsx esi, dl
lea eax, [esi - 0x30]
cmp eax, 9
ja 0x10021c92
sub dl, 0x30
jmp 0x10021caf
lea eax, [esi - 0x61]
cmp eax, 5
ja 0x10021c9f
sub dl, 0x57
jmp 0x10021caf
lea eax, [esi - 0x41]
cmp eax, 5
ja 0x10021cac
sub dl, 0x37
jmp 0x10021caf
or dl, 0xff
cmp cl, 0xff
je 0x10021cd5
cmp dl, 0xff
je 0x10021cd5
shl cl, 4
add ebx, 2
or cl, dl
mov byte [ebp + edi - 0x550], cl
inc edi
cmp edi, 0x84
jl 0x10021c50
mov edx, dword [ebp - 0x568]
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x558]
lea edx, [edx - 0x100]
call fcn.100218f0
add esp, 4
test eax, eax
je 0x10021df5
mov eax, dword [ebp - 0x550]
cmp eax, 1
jne 0x10021d5d
push 0x100e4548
push 0x80
lea eax, [ebp - 0x54c]
mov dword [ebp - 0x55c], 0x10
push eax
lea eax, [ebp - 0x55c]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.1008b04f
add esp, 0x14
test eax, eax
jne 0x10021db8
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x20]
lea esi, [eax + 0xc]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10021db8
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10021d45
mov esi, 1
jmp 0x10021dba
test eax, eax
jne 0x10021de5
push 0x100e4650
push 0x80
lea eax, [ebp - 0x54c]
mov dword [ebp - 0x55c], 0x10
push eax
lea eax, [ebp - 0x55c]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.1008b04f
add esp, 0x14
test eax, eax
jne 0x10021db8
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x20]
lea esi, [eax + 0xc]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10021db8
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10021da0
mov esi, 1
jmp 0x10021dba
xor esi, esi
test esi, esi
je 0x10021de7
mov eax, dword [ebp - 0x560]
mov ecx, dword [ebp - 0x56c]
mov dword [eax], 3
test ecx, ecx
je 0x10021df7
mov eax, dword [ebp - 0x550]
mov dword [ecx], 0
mov dword [ecx + 4], eax
jmp 0x10021df7
xor esi, esi
mov eax, dword [ebp - 0x560]
mov dword [eax], 1
jmp 0x10021df7
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x558]
test eax, eax
je 0x10021e19
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x558], 0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10071699
mov esp, ebp
pop ebp
ret