Function at 0x10004b72
Capabilities:
Check if file exists

Disassembly:
sub esp, 0x8c
mov eax, dword [0x100018e0]
xor eax, esp
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x90]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x14], eax
xor eax, eax
push eax
mov esi, ecx
mov ebp, dword [esi + 0x464]
mov ecx, dword [esi + 0x474]
lea edx, [esp + 0x14]
push edx
push eax
lea ebx, [esi + 0x18]
push ebx
push ebp
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x34], 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
mov dword [esi + 0x430], eax
mov dword [esi + 0x42c], eax
mov dword [esp + 0x40], ecx
call sub.acecore.dll_Ordinal_157
mov edi, eax
test edi, edi
jge 0x10004c1d
cmp edi, 0xfffff88f
jne 0x10004bf1
mov edi, 0xffffb1ba
mov eax, dword [esi + 0x478]
mov ecx, dword [esp + 0x2c]
push 0x30
push 0x10001238
push ebx
push edi
push 0x4012
push eax
push ecx
push ebp
call fcn.100038a9
test edi, edi
mov dword [esp + 0x10], 0xffffffff
jl 0x10004c6c
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x464]
push 8
push 4
lea edx, [esp + 0x2c]
push edx
push ecx
push eax
call sub.acecore.dll_Ordinal_136
test eax, eax
mov ecx, dword [esp + 0x24]
jl 0x10004c47
cmp ecx, 0x40000
jne 0x10004c53
cmp ecx, 0xc0000
jl 0x10004cfb
push 0x30
push 0x10001238
push 0x10001238
push eax
push 0x4162
mov ecx, esi
call fcn.100026cf
mov ebp, 0x80041000
mov edx, dword [esi + 0x474]
push 0
push 2
push 0
push edx
call dword [sym.imp.USER32.dll_WinHelpA]
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x10004c9c
push 0
push eax
mov eax, dword [esi + 0x464]
push eax
call sub.acecore.dll_Ordinal_107
cmp ebp, 0x80041000
jne 0x10005065
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10004cb6
push eax
call fcn.10003470
cmp dword [esi + 0x430], 0
je 0x10005065
cmp dword [esp + 0x20], 0
je 0x10005065
push ebx
lea edi, [esi + 0x222]
push edi
call fcn.1000344e
test eax, eax
je 0x10005041
push edi
call fcn.10003470
push 0x30
push edi
push ebx
push 0
push 0x4105
mov ecx, esi
jmp 0x10005060
mov edx, dword [esi + 0x464]
mov eax, dword [0x10009468]
push edx
push eax
call fcn.1000587a
mov edi, eax
test edi, edi
je 0x10004d27
mov ecx, dword [esi + 0x47c]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 2
mov word [edi + 0xc], cx
mov eax, dword [esp + 0x10]
push 0
lea edx, [esp + 0x48]
push edx
push eax
mov ecx, esi
call fcn.10003eeb
test edi, edi
je 0x10004d4b
mov ecx, dword [edi + 8]
cmp dword [ecx + 4], 0
jne 0x10004c6c
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x30]
push edx
mov edx, dword [esi + 0x464]
push 4
lea eax, [esp + 0x30]
push eax
push 0x19
push 0
push ecx
push edx
call sub.acerep.dll_Ordinal_2042
test eax, eax
jge 0x10004d7b
cmp eax, 0xffffb1de
jne 0x10004c6c
mov ecx, dword [esp + 0x28]
and ecx, 0x10000
cmp eax, 0xffffb1de
jne 0x10004f25
mov eax, dword [esi + 0x478]
test eax, eax
je 0x10004dc9
mov ecx, dword [0x10009460]
push eax
mov eax, dword [esi + 0x474]
push eax
push ecx
call fcn.10005555
mov ebp, 1
sub eax, ebp
je 0x10004dce
sub eax, ebp
je 0x10004c6c
mov ebp, 0x8000ffff
jmp 0x10004c71
mov ebp, 1
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x464]
push 0
push edx
push eax
call sub.acecore.dll_Ordinal_107
mov ecx, dword [esi + 0x474]
mov eax, dword [esi + 0x464]
push ebp
push ecx
push ebp
push ebx
lea edx, [esp + 0x20]
push edx
push eax
mov ecx, esi
call fcn.10003e63
test eax, eax
jl 0x10004c6c
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x464]
push 0
push ecx
push edx
call sub.acecore.dll_Ordinal_107
push 0xa
lea eax, [esp + 0x88]
push eax
push 9
mov dword [esp + 0x1c], 0xffffffff
call fcn.100034a2
push 0xa
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x8c]
push edx
call fcn.100066b9
push 0x105
lea eax, [esi + 0x222]
push eax
push ebx
lea ecx, [esp + 0x7c]
push ecx
call fcn.10003ca5
lea edx, [esp + 0x18]
push edx
mov ecx, esi
call fcn.10004aac
cmp dword [esp + 0x18], 0
mov dword [esi + 0x42c], eax
jne 0x10004c6c
test edi, edi
je 0x10004e93
mov eax, dword [edi + 8]
or word [edi + 0xc], bp
mov word [edi + 0xe], bp
cmp dword [eax + 4], 0
jne 0x10004c6c
mov ecx, esi
call fcn.10003ff0
test eax, eax
je 0x10004c6c
test edi, edi
je 0x10004eb3
mov ecx, dword [edi + 8]
cmp dword [ecx + 4], 0
jne 0x10004c6c
mov dword [esp + 0x1c], ebp
cmp dword [esi + 0x47c], 0
mov ebp, 0x41000
jne 0x10004c71
cmp dword [esp + 0x10], 0xffffffff
jne 0x10004f6b
mov edx, dword [esi + 0x474]
mov ecx, dword [esi + 0x464]
push 1
push edx
push 0
push ebx
lea eax, [esp + 0x20]
push eax
push ecx
mov ecx, esi
call fcn.10003e63
test eax, eax
jl 0x10004c71
mov eax, dword [esp + 0x10]
push 0
lea edx, [esp + 0x48]
push edx
push eax
mov ecx, esi
call fcn.10003eeb
test eax, eax
jge 0x10004f6b
push 0x30
push 0x10001238
push ebx
push eax
push 0x40e1
jmp 0x10004c65
test eax, eax
jl 0x10004f12
cmp dword [esp + 0x48], 0xb
jne 0x10004f43
push 0x30
push 0x10001238
push ebx
push eax
push 0x40e4
jmp 0x10004c65
cmp dword [esi + 0x478], 0
je 0x10004eb7
test ecx, ecx
je 0x10004eb7
push 0x30
push 0x10001238
push ebx
push eax
push 0x4168
jmp 0x10004c65
test edi, edi
je 0x10004f82
mov ecx, dword [edi + 8]
mov word [edi + 0xe], 2
cmp dword [ecx + 4], 0
jne 0x10004c6c
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x34]
push edx
push eax
push ecx
mov ecx, esi
call fcn.10004232
test eax, eax
je 0x10004c6c
test edi, edi
je 0x10004fb1
mov edx, dword [edi + 8]
cmp dword [edx + 4], 0
jne 0x10004c6c
mov eax, dword [esi + 0x478]
test eax, eax
je 0x10004c71
cmp dword [esp + 0x44], 0
je 0x10004c71
mov ecx, dword [esi + 0x474]
mov edx, dword [0x10009460]
push eax
mov eax, dword [esp + 0x20]
push eax
push ecx
push edx
call fcn.10005512
test eax, eax
je 0x10004c71
mov edi, dword [esp + 0x14]
push 0
push edi
lea eax, [esp + 0x3c]
push eax
push ebx
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
call fcn.1000443b
test eax, eax
je 0x10004c71
push 4
push edi
mov ecx, esi
call fcn.10004421
test eax, eax
jge 0x10004c71
push 0x30
push edi
push ebx
push eax
push 0x4102
mov ecx, esi
call fcn.100026cf
mov ebp, 1
mov dword [esp + 0x20], 0
jmp 0x10004c71
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 2
push 0x30
push ebx
push edi
mov ecx, esi
push 0
jne 0x1000505b
push 0x409c
jmp 0x10005060
push 0x4099
call fcn.100026cf
mov ecx, dword [esp + 0x98]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
xor ecx, esp
call fcn.100070b4
add esp, 0x8c
ret 4