Function at 0x10041b60
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a607b
mov eax, dword fs:[0]
push eax
mov eax, 0x2cbc
call fcn.10066800
mov eax, dword [0x100ca1c4]
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
push dword [ebp + 0x10]
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x2cc8]
mov edi, dword [ebp + 0xc]
push esi
push eax
call fcn.10043430
push dword [ebp - 0x2cc8]
mov dword [ebp - 4], 0
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10042c26
lea ecx, [ebp - 0x2cc1]
mov dword [edi + 0x24], 1
call fcn.10036ca0
push eax
push esi
call fcn.10011c90
add esp, 8
lea ecx, [ebp - 0x2cc1]
test al, al
je 0x10041e5a
call fcn.1003d460
mov edx, eax
test edx, edx
jne 0x10041bfc
xor ecx, ecx
jmp 0x10041c10
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10041c01
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.1003e9d0
mov edx, eax
test edx, edx
jne 0x10041c2e
xor ecx, ecx
jmp 0x10041c42
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10041c33
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 4]
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
mov dword [edi + 0xc], 5
call fcn.1003d2a0
mov edx, eax
test edx, edx
jne 0x10041c68
xor ecx, ecx
jmp 0x10041c7f
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10041c70
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 8]
call fcn.1000cd50
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.100363e0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
push esi
lea eax, [ebp - 0x218]
push eax
call ebx
lea edx, [ebp - 0x218]
lea ecx, [edi + 0x10]
lea esi, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10041cd0
sub edx, esi
lea eax, [ebp - 0x218]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.10041130
mov edx, eax
lea eax, [edi + 0x28]
test edx, edx
jne 0x10041d04
xor ecx, ecx
jmp 0x10041d22
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10041d10
sub ecx, esi
lea eax, [edi + 0x28]
sar ecx, 1
push ecx
push edx
mov ecx, eax
call fcn.1000cd50
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.100397f0
push eax
push esi
lea eax, [ebp - 0x420]
push eax
call ebx
lea edx, [ebp - 0x420]
lea ecx, [edi + 0x14]
lea esi, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10041d70
sub edx, esi
lea eax, [ebp - 0x420]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.10040b10
mov edx, eax
test edx, edx
jne 0x10041da1
xor ecx, ecx
jmp 0x10041db5
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10041da6
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 0x18]
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.1003e730
mov edx, eax
test edx, edx
jne 0x10041dd4
xor ecx, ecx
jmp 0x10041def
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10041de0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 0x1c]
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.1003b100
mov edx, eax
test edx, edx
jne 0x10041e27
xor ecx, ecx
push ecx
push edx
lea ecx, [edi + 0x20]
call fcn.1000cd50
mov dword [edi + 0x2c], 1
mov ebx, 1
jmp 0x10042c28
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10041e30
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 0x20]
call fcn.1000cd50
mov dword [edi + 0x2c], 1
mov ebx, 1
jmp 0x10042c28
call fcn.1003de00
push eax
push esi
call fcn.10011c90
add esp, 8
lea ecx, [ebp - 0x2cc1]
test al, al
je 0x10041fb9
call fcn.1003b020
push eax
mov ecx, edi
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.100383d0
push eax
lea ecx, [edi + 4]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
mov dword [edi + 0xc], 5
call fcn.1003b3a0
push eax
lea ecx, [edi + 8]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x628]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.1003b9c0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
push esi
lea eax, [ebp - 0x628]
push eax
call ebx
lea edx, [ebp - 0x628]
lea ecx, [edi + 0x10]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10041ef7
sub edx, esi
lea eax, [ebp - 0x628]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.1003af40
push eax
lea ecx, [edi + 0x28]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x830]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.10037480
push eax
push esi
lea eax, [ebp - 0x830]
push eax
call ebx
lea edx, [ebp - 0x830]
lea ecx, [edi + 0x14]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10041f65
sub edx, esi
lea eax, [ebp - 0x830]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.10041750
push eax
lea ecx, [edi + 0x18]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.10039ea0
push eax
lea ecx, [edi + 0x1c]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.10037800
jmp 0x10042c0f
call fcn.1003d9a0
push eax
push esi
call fcn.10011c90
add esp, 8
lea ecx, [ebp - 0x2cc1]
test al, al
je 0x10042118
call fcn.10037bf0
push eax
mov ecx, edi
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.1003d700
push eax
lea ecx, [edi + 4]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
mov dword [edi + 0xc], 5
call fcn.1003b720
push eax
lea ecx, [edi + 8]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0xa38]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.1003f370
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
push esi
lea eax, [ebp - 0xa38]
push eax
call ebx
lea edx, [ebp - 0xa38]
lea ecx, [edi + 0x10]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10042056
sub edx, esi
lea eax, [ebp - 0xa38]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.10041210
push eax
lea ecx, [edi + 0x28]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0xc40]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.10038f30
push eax
push esi
lea eax, [ebp - 0xc40]
push eax
call ebx
lea edx, [ebp - 0xc40]
lea ecx, [edi + 0x14]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x100420c4
sub edx, esi
lea eax, [ebp - 0xc40]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.10039390
push eax
lea ecx, [edi + 0x18]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.100414b0
push eax
lea ecx, [edi + 0x1c]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.100384b0
jmp 0x10042c0f
call fcn.10036bc0
push eax
push esi
call fcn.10011c90
add esp, 8
lea ecx, [ebp - 0x2cc1]
test al, al
je 0x10042277
call fcn.10039010
push eax
mov ecx, edi
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.1003b560
push eax
lea ecx, [edi + 4]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
mov dword [edi + 0xc], 5
call fcn.10036680
push eax
lea ecx, [edi + 8]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0xe48]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.1003ee30
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
push esi
lea eax, [ebp - 0xe48]
push eax
call ebx
lea edx, [ebp - 0xe48]
lea ecx, [edi + 0x10]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x100421b5
sub edx, esi
lea eax, [ebp - 0xe48]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.10039f80
push eax
lea ecx, [edi + 0x28]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x1050]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.100365a0
push eax
push esi
lea eax, [ebp - 0x1050]
push eax
call ebx
lea edx, [ebp - 0x1050]
lea ecx, [edi + 0x14]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10042223
sub edx, esi
lea eax, [ebp - 0x1050]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.1003a300
push eax
lea ecx, [edi + 0x18]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.1003c7c0
push eax
lea ecx, [edi + 0x1c]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.10035c00
jmp 0x10042c0f
call fcn.10036d80
push eax
push esi
call fcn.10011c90
add esp, 8
lea ecx, [ebp - 0x2cc1]
test al, al
je 0x100423d6
call fcn.1003e490
push eax
mov ecx, edi
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.10036ae0
push eax
lea ecx, [edi + 4]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
mov dword [edi + 0xc], 5
call fcn.1003f450
push eax
lea ecx, [edi + 8]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x1258]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.1003a060
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
push esi
lea eax, [ebp - 0x1258]
push eax
call ebx
lea edx, [ebp - 0x1258]
lea ecx, [edi + 0x10]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10042314
sub edx, esi
lea eax, [ebp - 0x1258]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.1003a220
push eax
lea ecx, [edi + 0x28]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x1460]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.10040950
push eax
push esi
lea eax, [ebp - 0x1460]
push eax
call ebx
lea edx, [ebp - 0x1460]
lea ecx, [edi + 0x14]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10042382
sub edx, esi
lea eax, [ebp - 0x1460]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.1003d7e0
push eax
lea ecx, [edi + 0x18]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.10040870
push eax
lea ecx, [edi + 0x1c]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.1003c1a0
jmp 0x10042c0f
call fcn.10036300
push eax
push esi
call fcn.10011c90
add esp, 8
lea ecx, [ebp - 0x2cc1]
test al, al
je 0x10042535
call fcn.1003b1e0
push eax
mov ecx, edi
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.10036760
push eax
lea ecx, [edi + 4]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
mov dword [edi + 0xc], 5
call fcn.1003c440
push eax
lea ecx, [edi + 8]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x1668]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.10036840
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
push esi
lea eax, [ebp - 0x1668]
push eax
call ebx
lea edx, [ebp - 0x1668]
lea ecx, [edi + 0x10]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10042473
sub edx, esi
lea eax, [ebp - 0x1668]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.1003eb90
push eax
lea ecx, [edi + 0x28]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x1870]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.1003dee0
push eax
push esi
lea eax, [ebp - 0x1870]
push eax
call ebx
lea edx, [ebp - 0x1870]
lea ecx, [edi + 0x14]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x100424e1
sub edx, esi
lea eax, [ebp - 0x1870]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.10035260
push eax
lea ecx, [edi + 0x18]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.10040330
push eax
lea ecx, [edi + 0x1c]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.1003c520
jmp 0x10042c0f
call fcn.10035420
push eax
push esi
call fcn.10011c90
add esp, 8
lea ecx, [ebp - 0x2cc1]
test al, al
je 0x10042694
call fcn.1003a5a0
push eax
mov ecx, edi
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.10037640
push eax
lea ecx, [edi + 4]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
mov dword [edi + 0xc], 5
call fcn.10040410
push eax
lea ecx, [edi + 8]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x1a78]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.10037100
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
push esi
lea eax, [ebp - 0x1a78]
push eax
call ebx
lea edx, [ebp - 0x1a78]
lea ecx, [edi + 0x10]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x100425d2
sub edx, esi
lea eax, [ebp - 0x1a78]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.100378e0
push eax
lea ecx, [edi + 0x28]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x1c80]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.10036a00
push eax
push esi
lea eax, [ebp - 0x1c80]
push eax
call ebx
lea edx, [ebp - 0x1c80]
lea ecx, [edi + 0x14]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10042640
sub edx, esi
lea eax, [ebp - 0x1c80]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.1003b800
push eax
lea ecx, [edi + 0x18]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.100412f0
push eax
lea ecx, [edi + 0x1c]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.1003d1c0
jmp 0x10042c0f
call fcn.10038210
push eax
push esi
call fcn.10011c90
add esp, 8
lea ecx, [ebp - 0x2cc1]
test al, al
je 0x100427f4
call fcn.10036220
push eax
mov ecx, edi
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.1003bb80
push eax
lea ecx, [edi + 4]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
mov dword [edi + 0xc], 5
call fcn.10038750
push eax
lea ecx, [edi + 8]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x1e88]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.1003bfe0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
push esi
lea eax, [ebp - 0x1e88]
push eax
call ebx
lea edx, [ebp - 0x1e88]
lea ecx, [edi + 0x10]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10042731
sub edx, esi
lea eax, [ebp - 0x1e88]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.1003ad80
push eax
lea ecx, [edi + 0x28]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x2090]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.1003be20
push eax
push esi
lea eax, [ebp - 0x2090]
push eax
call ebx
lea edx, [ebp - 0x2090]
lea ecx, [edi + 0x14]
lea esi, [edx + 2]
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x100427a0
sub edx, esi
lea eax, [ebp - 0x2090]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.1003f530
push eax
lea ecx, [edi + 0x18]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.10037db0
push eax
lea ecx, [edi + 0x1c]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.1003aca0
jmp 0x10042c0f
call fcn.10039470
push eax
push esi
call fcn.10011c90
add esp, 8
lea ecx, [ebp - 0x2cc1]
test al, al
je 0x10042954
call fcn.1003dc40
push eax
mov ecx, edi
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.10038d70
push eax
lea ecx, [edi + 4]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
mov dword [edi + 0xc], 5
call fcn.10038670
push eax
lea ecx, [edi + 8]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x2298]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.1003f1b0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
push esi
lea eax, [ebp - 0x2298]
push eax
call ebx
lea edx, [ebp - 0x2298]
lea ecx, [edi + 0x10]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10042891
sub edx, esi
lea eax, [ebp - 0x2298]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.10036060
push eax
lea ecx, [edi + 0x28]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x24a0]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.1003f290
push eax
push esi
lea eax, [ebp - 0x24a0]
push eax
call ebx
lea edx, [ebp - 0x24a0]
lea ecx, [edi + 0x14]
lea esi, [edx + 2]
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10042900
sub edx, esi
lea eax, [ebp - 0x24a0]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.10038c90
push eax
lea ecx, [edi + 0x18]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.10035dc0
push eax
lea ecx, [edi + 0x1c]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.1003e110
jmp 0x10042c0f
call fcn.1003f990
push eax
push esi
call fcn.10011c90
add esp, 8
lea ecx, [ebp - 0x2cc1]
test al, al
je 0x10042ab4
call fcn.1003ffb0
push eax
mov ecx, edi
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.100364c0
push eax
lea ecx, [edi + 4]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
mov dword [edi + 0xc], 5
call fcn.1003aa00
push eax
lea ecx, [edi + 8]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x26a8]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.10038050
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
push esi
lea eax, [ebp - 0x26a8]
push eax
call ebx
lea edx, [ebp - 0x26a8]
lea ecx, [edi + 0x10]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x100429f1
sub edx, esi
lea eax, [ebp - 0x26a8]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.10035ce0
push eax
lea ecx, [edi + 0x28]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x28b0]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.100350a0
push eax
push esi
lea eax, [ebp - 0x28b0]
push eax
call ebx
lea edx, [ebp - 0x28b0]
lea ecx, [edi + 0x14]
lea esi, [edx + 2]
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10042a60
sub edx, esi
lea eax, [ebp - 0x28b0]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.10040f70
push eax
lea ecx, [edi + 0x18]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.1003c600
push eax
lea ecx, [edi + 0x1c]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.10037f70
jmp 0x10042c0f
call fcn.1003c360
push eax
push esi
call fcn.10011c90
add esp, 8
test al, al
je 0x10042c26
lea ecx, [ebp - 0x2cc1]
call fcn.10041050
push eax
mov ecx, edi
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.100391d0
push eax
lea ecx, [edi + 4]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
mov dword [edi + 0xc], 5
call fcn.100413d0
push eax
lea ecx, [edi + 8]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x2ab8]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.1003d8c0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
push esi
lea eax, [ebp - 0x2ab8]
push eax
call ebx
lea edx, [ebp - 0x2ab8]
lea ecx, [edi + 0x10]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10042b51
sub edx, esi
lea eax, [ebp - 0x2ab8]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.100373a0
push eax
lea ecx, [edi + 0x28]
call fcn.10011c40
push 0x208
lea eax, [ebp - 0x2cc0]
push 0
push eax
call fcn.10080c30
mov esi, dword [ebp - 0x2cc8]
lea ecx, [ebp - 0x2cc1]
add esp, 0xc
call fcn.100371e0
push eax
push esi
lea eax, [ebp - 0x2cc0]
push eax
call ebx
lea edx, [ebp - 0x2cc0]
lea ecx, [edi + 0x14]
lea esi, [edx + 2]
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10042bc0
sub edx, esi
lea eax, [ebp - 0x2cc0]
sar edx, 1
push edx
push eax
call fcn.1000cd50
lea ecx, [ebp - 0x2cc1]
call fcn.10037560
push eax
lea ecx, [edi + 0x18]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.10036140
push eax
lea ecx, [edi + 0x1c]
call fcn.10011c40
lea ecx, [ebp - 0x2cc1]
call fcn.1003f7d0
push eax
lea ecx, [edi + 0x20]
call fcn.10011c40
mov dword [edi + 0x2c], 1
mov ebx, 1
jmp 0x10042c28
xor ebx, ebx
mov eax, dword [ebp - 0x2cc8]
or ecx, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x10042c4d
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, ebx
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.100665d9
mov esp, ebp
pop ebp
ret 0xc