Function at 0x10067704
Capabilities:
Move file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a1f20
mov eax, dword fs:[0]
push eax
mov eax, 0x4080
mov dword fs:[0], esp
call fcn.1009d950
push ebx
push esi
mov esi, edx
mov ebx, ecx
push edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], ebx
mov dword [esi + 0x1169c], 0
mov dword [esi + 0x84a8], 0
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0x84c8], 0
mov eax, dword [ebx]
dec eax
cmp eax, 6
ja case.default.0x1006744c
jmp dword [eax*4 + 0x1006a7f4]
mov dword [esi + 0x11688], 3
jmp case.default.0x1006744c
mov dword [esi + 0x11688], 0
jmp case.default.0x1006744c
mov dword [esi + 0x11688], 2
jmp case.default.0x1006744c
mov dword [esi + 0x11688], 1
lea eax, [esi + 0x2418]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x28], eax
call eax
add eax, 5
mov dword [ebp - 0x18], eax
add eax, eax
push eax
call fcn.1008680d
mov edi, eax
add esp, 4
test edi, edi
jne 0x100676d5
xor edx, edx
mov dword [esi + 0x84a8], eax
lea ecx, [eax + 0x67]
call fcn.1006e460
xor ecx, ecx
mov edx, eax
cmp dword [esi + 0x8498], ecx
push esi
sete cl
push ecx
lea ecx, [edi + 4]
call fcn.10065900
mov eax, dword [esi + 0x1169c]
add esp, 8
test eax, eax
je 0x10067664
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, dword [esi + 0x84a8]
je 0x10067521
cmp ecx, 0xffffffff
je 0x10067504
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi], 0xffffffff
push dword [esi + 0x1169c]
call fcn.10086818
add esp, 4
mov dword [esi + 0x1169c], 0
jmp 0x10067664
cmp ecx, 0xffffffff
je 0x10067664
cmp dword [esi + 0x84c8], 0
mov eax, dword [esi + 0x84b8]
mov edx, dword [esi + 0x84bc]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edi
je 0x1006757e
push 0
push 0
mov edx, 2
call fcn.1006dde0
mov ebx, eax
mov dword [ebp - 0x20], edx
lea eax, [esi + 8]
mov dword [ebp - 0x1c], ebx
add esp, 8
mov dword [esi + 0x84b8], ebx
mov dword [esi + 0x84bc], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
jmp 0x10067580
mov ecx, eax
cmp dword [esi + 0x9524], 0
jne 0x10067654
mov eax, dword [esi + 0x84b8]
mov ebx, dword [esi + 0x84bc]
push edx
push ecx
mov ecx, dword [edi]
xor edx, edx
mov dword [ebp - 0x14], eax
call fcn.1006dde0
mov ecx, dword [ebp - 0x14]
add esp, 8
cmp eax, ecx
jne 0x10067654
cmp edx, ebx
jne 0x10067654
mov edi, dword [esi + 0x94e0]
xor edx, edx
mov dword [esi + 0x9500], ecx
mov dword [esi + 0x9504], ebx
push esi
test edi, edi
je 0x10067629
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.1005fe60
add esp, 4
test eax, eax
jne 0x10067654
mov ecx, dword [edi + 0x90]
mov eax, dword [edi + 0x24]
add ecx, 0x2e
add ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x64]
add ecx, dword [edi + 0x30]
add ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x10]
add eax, ecx
add dword [esi + 0x9500], eax
mov ecx, dword [esi + 0x9500]
adc dword [esi + 0x9504], 0
inc edx
mov ebx, dword [esi + 0x9504]
mov edi, dword [edi + 0xc4]
mov dword [ebp - 0x10], edx
jmp 0x100675d1
mov edi, dword [ebp - 0x20]
lea eax, [esi + 8]
push eax
mov eax, dword [ebp - 0x1c]
sub ecx, eax
push edi
push eax
sbb ebx, edi
mov eax, edx
push ebx
push ecx
mov ecx, dword [esi + 0x94f0]
cdq
push edx
mov edx, dword [esi + 0x94f4]
push eax
call fcn.100609b0
add esp, 0x20
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 8], 0xffffffff
mov eax, dword [esi + 0x84a0]
test eax, eax
je 0x10067681
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a0], 0
mov eax, dword [esi + 0x84a4]
test eax, eax
je 0x10067694
push eax
call fcn.10086818
add esp, 4
mov eax, dword [esi + 0x84a8]
mov dword [esi + 0x84a4], 0
test eax, eax
je 0x100676b1
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a8], 0
mov ecx, esi
call fcn.100657b0
mov eax, dword [esi]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x18]
lea eax, [esi + 0x2418]
push eax
mov ecx, edi
call fcn.1005c3b0
push 0x5c
push edi
call fcn.1007ccce
add esp, 8
test eax, eax
jne 0x100676f9
mov eax, edi
jmp 0x100676fc
add eax, 2
push 0x2e
push eax
call fcn.1007ccce
add esp, 8
test eax, eax
jne 0x1006771a
mov edx, dword [ebp - 0x18]
mov ecx, edi
push str..zip
call fcn.10061580
lea ecx, [ebx + 0x10]
mov dword [esi + 0x84a8], edi
test byte [ecx], 8
je 0x10067733
inc dword [esi + 0x8488]
lea edx, [ebx + 0x10]
jmp 0x10067735
mov edx, ecx
test byte [ecx], 0x10
mov eax, ecx
je 0x10067744
inc dword [esi + 0x8488]
mov eax, edx
test byte [ecx], 2
je 0x10067755
mov dword [esi + 0x8498], 0
mov ecx, eax
mov eax, dword [ecx]
mov ecx, esi
shr eax, 6
and eax, 1
mov dword [esi + 0x84c8], eax
call fcn.1005c8f0
mov edi, eax
mov dword [ebp - 0x10], edi
test edi, edi
je 0x100679a0
mov edx, dword [esi + 0x84a8]
xor ecx, ecx
cmp dword [esi + 0x8498], ecx
push esi
sete cl
push ecx
mov ecx, edi
call fcn.10065900
mov eax, dword [esi + 0x1169c]
add esp, 8
test eax, eax
je 0x10067926
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, dword [esi + 0x84a8]
je 0x100677de
cmp ecx, 0xffffffff
je 0x100677c1
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi], 0xffffffff
push dword [esi + 0x1169c]
call fcn.10086818
add esp, 4
mov dword [esi + 0x1169c], 0
jmp 0x10067923
cmp ecx, 0xffffffff
je 0x10067923
cmp dword [esi + 0x84c8], 0
mov eax, dword [esi + 0x84b8]
mov edx, dword [esi + 0x84bc]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], edi
je 0x1006783b
push 0
push 0
mov edx, 2
call fcn.1006dde0
mov ebx, eax
mov dword [ebp - 0x1c], edx
lea eax, [esi + 8]
mov dword [ebp - 0x28], ebx
add esp, 8
mov dword [esi + 0x84b8], ebx
mov dword [esi + 0x84bc], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
jmp 0x1006783d
mov ecx, eax
cmp dword [esi + 0x9524], 0
jne 0x10067913
mov eax, dword [esi + 0x84b8]
mov ebx, dword [esi + 0x84bc]
push edx
push ecx
mov ecx, dword [edi]
xor edx, edx
mov dword [ebp - 0x14], eax
call fcn.1006dde0
mov ecx, dword [ebp - 0x14]
add esp, 8
cmp eax, ecx
jne 0x10067913
cmp edx, ebx
jne 0x10067913
mov edi, dword [esi + 0x94e0]
xor edx, edx
mov dword [esi + 0x9500], ecx
mov dword [esi + 0x9504], ebx
mov edi, edi
push esi
test edi, edi
je 0x100678e8
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.1005fe60
add esp, 4
test eax, eax
jne 0x10067913
mov ecx, dword [edi + 0x90]
mov eax, dword [edi + 0x24]
add ecx, 0x2e
add ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x64]
add ecx, dword [edi + 0x30]
add ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x20]
add eax, ecx
add dword [esi + 0x9500], eax
mov ecx, dword [esi + 0x9500]
adc dword [esi + 0x9504], 0
inc edx
mov ebx, dword [esi + 0x9504]
mov edi, dword [edi + 0xc4]
mov dword [ebp - 0x20], edx
jmp 0x10067890
mov edi, dword [ebp - 0x1c]
lea eax, [esi + 8]
push eax
mov eax, dword [ebp - 0x28]
sub ecx, eax
push edi
push eax
sbb ebx, edi
mov eax, edx
push ebx
push ecx
mov ecx, dword [esi + 0x94f0]
cdq
push edx
mov edx, dword [esi + 0x94f4]
push eax
call fcn.100609b0
add esp, 0x20
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 8], 0xffffffff
mov edi, dword [ebp - 0x10]
mov eax, dword [esi + 0x84a0]
test eax, eax
je 0x10067943
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a0], 0
mov eax, dword [esi + 0x84a4]
test eax, eax
je 0x10067956
push eax
call fcn.10086818
add esp, 4
mov eax, dword [esi + 0x84a8]
mov dword [esi + 0x84a4], 0
test eax, eax
je 0x10067973
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a8], 0
cmp edi, 3
je 0x100676c2
mov ecx, esi
call fcn.100657b0
mov eax, dword [esi]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0xc]
lea ecx, [esi + 0x848c]
mov dword [ecx], eax
cmp eax, 0x13
jle 0x100679bd
mov dword [ecx], 0x13
mov eax, 0x13
jmp 0x100679c9
test eax, eax
jns 0x100679c9
mov dword [ecx], 0
xor eax, eax
cmp dword [esi + 0x10bc], 0
mov edi, ecx
mov edx, eax
je 0x100679ec
test eax, eax
jne 0x100679ec
mov dword [ecx], 1
mov dword [esi + 0x8484], 0xffffffff
jmp 0x10067a18
test edx, edx
jne 0x100679f8
mov dword [esi + 0x8484], edx
jmp 0x10067a18
cmp edx, 9
jg 0x10067a09
mov dword [esi + 0x8484], 0xffffffff
jmp 0x10067a18
lea eax, [edx - 0xa]
mov dword [esi + 0x8484], 9
mov dword [edi], eax
test dword [ebx + 0x10], 0x400
je 0x10067b2e
mov eax, dword [esi + 0x126b0]
mov ecx, dword [ebx + 0x1c]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ecx
sub eax, 2
je 0x10067a54
sub eax, 6
je 0x10067a54
call edi
cmp eax, 0x41
jge 0x10067a4d
push dword [ebx + 0x1c]
call edi
jmp 0x10067a69
mov eax, 0x41
jmp 0x10067a69
call edi
cmp eax, 0x80
jge 0x10067a64
push dword [ebx + 0x1c]
call edi
jmp 0x10067a69
mov eax, 0x80
mov ecx, esi
mov edx, 0x146c0
mov dword [edx + ecx], eax
cmp dword [ebx + 0x1c], 0
je 0x10067c7c
cmp eax, 0x200
ja 0x10067c7c
test eax, eax
je 0x10067c7c
add eax, 0x10
push eax
call fcn.1008680d
add esp, 4
mov dword [esi + 0x84a0], eax
test eax, eax
je 0x10067ac7
mov eax, dword [esi + 0x126b0]
cmp eax, 2
jne 0x10067af6
mov ecx, esi
call fcn.1005bf10
test eax, eax
je 0x10067ac7
mov ecx, esi
call fcn.1005c000
test eax, eax
jne 0x10067afb
push esi
xor edx, edx
mov ecx, 0x8f
call fcn.1006e460
mov edx, eax
mov ecx, 4
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 8
je 0x10067abc
mov eax, dword [esi + 0x146c0]
add eax, 0x10
push eax
push 0
push dword [esi + 0x84a0]
call fcn.1007cff0
mov eax, dword [esi + 0x146c0]
add esp, 0xc
add eax, 0x10
push eax
push dword [ebx + 0x1c]
push dword [esi + 0x84a0]
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
test byte [ebx + 0x10], 0x80
je 0x10067b3e
mov dword [esi + 0x8480], 0
test byte [ebx + 0x10], 1
je 0x10067b4e
mov dword [esi + 0x847c], 1
test byte [ebx + 0x10], 0x40
je 0x10067b5e
mov dword [esi + 0x84c8], 1
test dword [ebx + 0x10], 0x200
je 0x10067bc5
cmp dword [ebx + 0x18], 0
je 0x10067bc5
mov eax, dword [esi + 0x94f4]
test eax, eax
je 0x10067b80
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x1168c], 1
push dword [ebx + 0x18]
call dword [ebp - 0x28]
mov dword [esi + 0x94f0], eax
lea eax, [eax*2 + 2]
push eax
call fcn.1008680d
add esp, 4
mov dword [esi + 0x94f4], eax
test eax, eax
je 0x10067dd3
mov edx, dword [esi + 0x94f0]
mov ecx, eax
push dword [ebx + 0x18]
inc edx
call fcn.1005c3b0
test dword [ebx + 0x10], 0x100
je 0x10067bd8
mov dword [esi + 0x8490], 0
test byte [ebx + 0x10], 0x20
je 0x10067be8
mov dword [esi + 0x8494], 1
mov eax, dword [ebx + 0x10]
test al, 0x40
jne 0x10067f4e
cmp dword [esi + 0x9524], 0
jne 0x10067f4e
test al, 4
je 0x10067f4e
cmp dword [ebx + 0x14], 0
je 0x10067f4e
mov dword [esi + 0x11690], 1
lea edi, [esi + 0x3418]
mov edx, dword [ebx + 0x14]
mov ecx, edi
call fcn.100653b0
push edi
call dword [ebp - 0x28]
lea edi, [eax + 1]
lea eax, [edi + edi]
push eax
call fcn.1008680d
mov ecx, eax
add esp, 4
mov dword [esi + 0x84a4], ecx
test ecx, ecx
jne 0x10067f40
xor edx, edx
push esi
lea ecx, [edx + 0x67]
call fcn.1006e460
mov edx, eax
mov ecx, 4
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
mov ecx, 0x8f
call fcn.1006e460
xor ecx, ecx
mov edx, eax
cmp dword [esi + 0x8498], ecx
push esi
sete cl
push ecx
mov ecx, 0x10
call fcn.10065900
mov eax, dword [esi + 0x1169c]
add esp, 8
test eax, eax
je 0x10067664
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, dword [esi + 0x84a8]
jne 0x100674f2
cmp ecx, 0xffffffff
je 0x10067664
cmp dword [esi + 0x84c8], 0
mov eax, dword [esi + 0x84b8]
mov edx, dword [esi + 0x84bc]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edi
je 0x10067d20
push 0
push 0
mov edx, 2
call fcn.1006dde0
mov ebx, eax
mov dword [ebp - 0x20], edx
lea eax, [esi + 8]
mov dword [ebp - 0x1c], ebx
add esp, 8
mov dword [esi + 0x84b8], ebx
mov dword [esi + 0x84bc], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
jmp 0x10067d22
mov ecx, eax
cmp dword [esi + 0x9524], 0
jne 0x10067654
mov eax, dword [esi + 0x84b8]
mov ebx, dword [esi + 0x84bc]
push edx
push ecx
mov ecx, dword [edi]
xor edx, edx
mov dword [ebp - 0x14], eax
call fcn.1006dde0
mov ecx, dword [ebp - 0x14]
add esp, 8
cmp eax, ecx
jne 0x10067654
cmp edx, ebx
jne 0x10067654
mov edi, dword [esi + 0x94e0]
xor edx, edx
mov dword [esi + 0x9500], ecx
mov dword [esi + 0x9504], ebx
push esi
test edi, edi
je 0x10067629
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.1005fe60
add esp, 4
test eax, eax
jne 0x10067654
mov ecx, dword [edi + 0x90]
mov eax, dword [edi + 0x24]
add ecx, 0x2e
add ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x64]
add ecx, dword [edi + 0x30]
add ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x10]
add eax, ecx
add dword [esi + 0x9500], eax
mov ecx, dword [esi + 0x9500]
adc dword [esi + 0x9504], 0
inc edx
mov ebx, dword [esi + 0x9504]
mov edi, dword [edi + 0xc4]
mov dword [ebp - 0x10], edx
jmp 0x10067d73
xor edx, edx
mov dword [esi + 0x1168c], 0
mov ecx, 0x107
mov dword [esi + 0x94f0], 0
call fcn.1006e460
xor ecx, ecx
mov edx, eax
cmp dword [esi + 0x8498], ecx
push esi
sete cl
push ecx
mov ecx, 4
call fcn.10065900
mov eax, dword [esi + 0x1169c]
add esp, 8
test eax, eax
je 0x10067664
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, dword [esi + 0x84a8]
jne 0x100674f2
cmp ecx, 0xffffffff
je 0x10067664
cmp dword [esi + 0x84c8], 0
mov eax, dword [esi + 0x84b8]
mov edx, dword [esi + 0x84bc]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edi
je 0x10067e8b
push 0
push 0
mov edx, 2
call fcn.1006dde0
mov ebx, eax
mov dword [ebp - 0x20], edx
lea eax, [esi + 8]
mov dword [ebp - 0x1c], ebx
add esp, 8
mov dword [esi + 0x84b8], ebx
mov dword [esi + 0x84bc], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
jmp 0x10067e8d
mov ecx, eax
cmp dword [esi + 0x9524], 0
jne 0x10067654
mov eax, dword [esi + 0x84b8]
mov ebx, dword [esi + 0x84bc]
push edx
push ecx
mov ecx, dword [edi]
xor edx, edx
mov dword [ebp - 0x14], eax
call fcn.1006dde0
mov ecx, dword [ebp - 0x14]
add esp, 8
cmp eax, ecx
jne 0x10067654
cmp edx, ebx
jne 0x10067654
mov edi, dword [esi + 0x94e0]
xor edx, edx
mov dword [esi + 0x9500], ecx
mov dword [esi + 0x9504], ebx
mov edi, edi
push esi
test edi, edi
je 0x10067629
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.1005fe60
add esp, 4
test eax, eax
jne 0x10067654
mov ecx, dword [edi + 0x90]
mov eax, dword [edi + 0x24]
add ecx, 0x2e
add ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x64]
add ecx, dword [edi + 0x30]
add ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x10]
add eax, ecx
add dword [esi + 0x9500], eax
mov ecx, dword [esi + 0x9500]
adc dword [esi + 0x9504], 0
inc edx
mov ebx, dword [esi + 0x9504]
mov edi, dword [edi + 0xc4]
mov dword [ebp - 0x10], edx
jmp 0x10067ee0
lea eax, [esi + 0x3418]
mov edx, edi
push eax
call fcn.1005c3b0
push 0
xor edx, edx
mov ecx, 0x2bc
call fcn.1006e460
xor edx, edx
mov ecx, eax
call fcn.1005bd50
mov edi, dword [ebx + 8]
add esp, 4
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], edi
test edi, edi
je 0x100685a3
cmp dword [edi + 0x14], 0
mov dword [ebp - 0x2c], 0
je 0x10067fbc
push 4
call fcn.10079cc9
mov ebx, eax
add esp, 4
mov dword [ebx], 0
mov ecx, dword [edi + 0x10]
mov ecx, dword [ecx]
mov dword [ebx], ecx
mov ecx, dword [edi + 0x10]
mov edi, dword [ecx]
add edi, 8
cmp dword [edi + 0x14], 7
jbe 0x10067fb3
mov edi, dword [edi]
mov dword [ebp - 0x2c], 1
jmp 0x10067fef
cmp dword [edi + 0xc], 0
je 0x10068137
push 4
call fcn.10079cc9
mov ebx, eax
add esp, 4
mov dword [ebx], 0
mov eax, dword [edi + 8]
mov eax, dword [eax]
mov dword [ebx], eax
mov eax, dword [edi + 8]
mov eax, dword [eax]
mov edi, dword [eax + 8]
cmp dword [edi + 0x14], 7
jbe 0x10067fef
mov edi, dword [edi]
mov eax, edi
test eax, eax
je 0x10068125
lea esp, [esp]
cmp dword [esi + 0x10b8], 0
je 0x10068031
cmp dword [ebp - 0x18], 0
jne 0x10068031
mov edx, esi
mov ecx, edi
call fcn.10067010
mov ecx, eax
mov dword [ebp - 0x34], ecx
test ecx, ecx
jne 0x10068232
mov dword [ebp - 0x18], 1
jmp 0x100680b9
mov eax, dword [esi + 0x11688]
cmp eax, 1
je 0x10068056
cmp eax, 2
je 0x10068056
cmp eax, 3
je 0x10068056
mov edx, esi
mov ecx, edi
call fcn.1006cc30
mov ecx, eax
mov dword [ebp - 0x34], ecx
jmp 0x10068064
mov edx, esi
mov ecx, edi
call fcn.100664d0
mov ecx, eax
mov dword [ebp - 0x34], eax
test ecx, ecx
je 0x100680b9
cmp ecx, 0xffffffff
jne 0x1006845f
xor edx, edx
mov ecx, 0x84
call fcn.1006e460
cmp dword [esi + 0x8498], 0
je 0x100680b9
push edi
push eax
push 0x100add08
lea eax, [ebp - 0x2088]
push 0x1000
push eax
call fcn.10061500
add esp, 0x14
lea eax, [ebp - 0x2088]
xor edx, edx
push esi
push eax
push ecx
push 0
lea ecx, [edx + 0xc]
call fcn.1006b430
add esp, 0x10
test ebx, ebx
je 0x1006811d
cmp dword [ebp - 0x2c], 0
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x10]
je 0x10068102
mov edi, dword [eax]
mov dword [ebx], edi
cmp edi, dword [ecx + 0x10]
je 0x100680d6
add edi, 8
jmp 0x10068115
push 4
push ebx
call fcn.10079cf9
push 4
mov dword [ebp - 0x2c], 0
call fcn.10079cc9
mov ecx, dword [ebp - 0x10]
mov ebx, eax
mov eax, dword [ebp - 0x10]
add esp, 0xc
mov dword [ebx], 0
mov eax, dword [eax + 8]
jmp 0x10068107
cmp eax, dword [ecx + 8]
je 0x1006810b
mov eax, dword [eax]
mov dword [ebx], eax
mov edi, dword [ebx]
cmp edi, dword [ecx + 8]
je 0x10068125
mov edi, dword [edi + 8]
cmp dword [edi + 0x14], 7
jbe 0x1006811d
mov edi, dword [edi]
test edi, edi
jne 0x10068000
mov eax, dword [ebp - 0x2c]
test ebx, ebx
je 0x10068137
push 4
push ebx
call fcn.10079cf9
add esp, 8
mov eax, dword [esi + 0x11688]
mov ecx, 1
cmp eax, 2
je 0x1006814c
cmp eax, 3
jne 0x1006817f
mov edi, dword [esi + 0x94e0]
test edi, edi
je 0x1006817f
jmp 0x10068160
mov word [edi + 0x5c], cx
mov ecx, esi
call fcn.1005be30
cmp eax, 1
je 0x1006817f
mov edi, dword [edi + 0xc4]
mov ecx, 1
test edi, edi
jne 0x10068160
mov ecx, esi
call fcn.1005be30
cmp eax, 1
jne 0x10068670
mov edx, dword [esi + 0x84a8]
xor eax, eax
cmp dword [esi + 0x8498], eax
mov ecx, 9
push esi
sete al
push eax
call fcn.10065900
mov eax, dword [esi + 0x1169c]
add esp, 8
test eax, eax
je 0x10067664
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, dword [esi + 0x84a8]
jne 0x100674f2
cmp ecx, 0xffffffff
je 0x10067664
cmp dword [esi + 0x84c8], 0
mov eax, dword [esi + 0x84b8]
mov edx, dword [esi + 0x84bc]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edi
je 0x100685b5
push 0
push 0
mov edx, 2
call fcn.1006dde0
mov ebx, eax
mov dword [ebp - 0x20], edx
lea eax, [esi + 8]
mov dword [ebp - 0x1c], ebx
add esp, 8
mov dword [esi + 0x84b8], ebx
mov dword [esi + 0x84bc], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
jmp 0x100685b7
xor eax, eax
mov edx, edi
cmp dword [esi + 0x8498], eax
push esi
sete al
push eax
call fcn.10065900
mov eax, dword [esi + 0x1169c]
add esp, 8
test eax, eax
je 0x100683d5
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, dword [esi + 0x84a8]
je 0x10068293
cmp ecx, 0xffffffff
je 0x10068276
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi], 0xffffffff
push dword [esi + 0x1169c]
call fcn.10086818
add esp, 4
mov dword [esi + 0x1169c], 0
jmp 0x100683d5
cmp ecx, 0xffffffff
je 0x100683d5
mov edx, dword [esi + 0x84bc]
xor eax, eax
cmp dword [esi + 0x84c8], 0
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x84b8]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edi
je 0x100682ec
push 0
push 0
mov edx, 2
call fcn.1006dde0
mov dword [ebp - 0x1c], eax
mov ecx, eax
mov dword [esi + 0x84b8], eax
add esp, 8
lea eax, [esi + 8]
mov dword [ebp - 0x20], edx
mov dword [esi + 0x84bc], edx
mov dword [ebp - 0x18], eax
jmp 0x100682ee
mov ecx, eax
cmp dword [esi + 0x9524], 0
jne 0x100683c5
mov eax, dword [esi + 0x84b8]
push edx
mov dword [ebp - 0x14], eax
xor edx, edx
mov eax, dword [esi + 0x84bc]
push ecx
mov ecx, dword [edi]
mov dword [ebp - 0x28], eax
call fcn.1006dde0
mov edi, edx
add esp, 8
mov edx, dword [ebp - 0x14]
cmp eax, edx
jne 0x100683c5
mov ecx, dword [ebp - 0x28]
cmp edi, ecx
jne 0x100683c5
mov edi, dword [esi + 0x94e0]
mov dword [esi + 0x9500], edx
mov dword [esi + 0x9504], ecx
push esi
test edi, edi
je 0x10068399
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.1005fe60
add esp, 4
test eax, eax
jne 0x100683c5
mov ecx, dword [edi + 0x90]
mov eax, dword [edi + 0x24]
add ecx, 0x2e
add ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x64]
add ecx, dword [edi + 0x30]
add ecx, dword [edi + 0x2c]
add eax, ecx
add dword [esi + 0x9500], eax
mov edx, dword [esi + 0x9500]
adc dword [esi + 0x9504], 0
mov ecx, dword [esi + 0x9504]
mov edi, dword [edi + 0xc4]
inc dword [ebp - 0x10]
jmp 0x10068345
mov edi, dword [ebp - 0x20]
lea eax, [esi + 8]
push eax
mov eax, dword [ebp - 0x1c]
sub edx, eax
push edi
push eax
mov eax, dword [ebp - 0x10]
sbb ecx, edi
push ecx
mov ecx, dword [esi + 0x94f0]
push edx
cdq
push edx
mov edx, dword [esi + 0x94f4]
push eax
call fcn.100609b0
add esp, 0x20
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 8], 0xffffffff
mov eax, dword [esi + 0x84a0]
test eax, eax
je 0x100683f2
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a0], 0
mov eax, dword [esi + 0x84a4]
test eax, eax
je 0x10068405
push eax
call fcn.10086818
add esp, 4
mov eax, dword [esi + 0x84a8]
mov dword [esi + 0x84a4], 0
test eax, eax
je 0x10068422
push eax
call fcn.10086818
add esp, 4
cmp dword [ebp - 0x34], 3
mov dword [esi + 0x84a8], 0
je 0x10068439
mov ecx, esi
call fcn.100657b0
test ebx, ebx
je 0x100676c2
push 4
push ebx
call fcn.10079cf9
mov eax, dword [esi]
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov edx, edi
cmp dword [esi + 0x8498], eax
push esi
sete al
push eax
call fcn.10065900
mov eax, dword [esi + 0x1169c]
add esp, 8
test eax, eax
je 0x100683d5
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, dword [esi + 0x84a8]
jne 0x10068264
cmp ecx, 0xffffffff
je 0x100683d5
mov edx, dword [esi + 0x84bc]
xor eax, eax
cmp dword [esi + 0x84c8], 0
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x84b8]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edi
je 0x100684ee
push 0
push 0
mov edx, 2
call fcn.1006dde0
mov dword [ebp - 0x1c], eax
mov ecx, eax
mov dword [esi + 0x84b8], eax
add esp, 8
lea eax, [esi + 8]
mov dword [ebp - 0x20], edx
mov dword [esi + 0x84bc], edx
mov dword [ebp - 0x18], eax
jmp 0x100684f0
mov ecx, eax
cmp dword [esi + 0x9524], 0
jne 0x100683c5
mov eax, dword [esi + 0x84b8]
push edx
mov dword [ebp - 0x14], eax
xor edx, edx
mov eax, dword [esi + 0x84bc]
push ecx
mov ecx, dword [edi]
mov dword [ebp - 0x28], eax
call fcn.1006dde0
mov edi, edx
add esp, 8
mov edx, dword [ebp - 0x14]
cmp eax, edx
jne 0x100683c5
mov ecx, dword [ebp - 0x28]
cmp edi, ecx
jne 0x100683c5
mov edi, dword [esi + 0x94e0]
mov dword [esi + 0x9500], edx
mov dword [esi + 0x9504], ecx
push esi
test edi, edi
je 0x10068399
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.1005fe60
add esp, 4
test eax, eax
jne 0x100683c5
mov ecx, dword [edi + 0x90]
mov eax, dword [edi + 0x24]
add ecx, 0x2e
add ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x64]
add ecx, dword [edi + 0x30]
add ecx, dword [edi + 0x2c]
add eax, ecx
add dword [esi + 0x9500], eax
mov edx, dword [esi + 0x9500]
adc dword [esi + 0x9504], 0
mov ecx, dword [esi + 0x9504]
mov edi, dword [edi + 0xc4]
inc dword [ebp - 0x10]
jmp 0x10068547
xor eax, eax
mov dword [ebp - 0x88], eax
mov ebx, eax
mov dword [ebp - 0x7c], eax
jmp 0x10068128
mov ecx, eax
cmp dword [esi + 0x9524], 0
jne 0x10067654
mov eax, dword [esi + 0x84b8]
mov ebx, dword [esi + 0x84bc]
push edx
push ecx
mov ecx, dword [edi]
xor edx, edx
mov dword [ebp - 0x14], eax
call fcn.1006dde0
mov ecx, dword [ebp - 0x14]
add esp, 8
cmp eax, ecx
jne 0x10067654
cmp edx, ebx
jne 0x10067654
mov edi, dword [esi + 0x94e0]
xor edx, edx
mov dword [esi + 0x9500], ecx
mov dword [esi + 0x9504], ebx
jmp 0x10068610
push esi
test edi, edi
je 0x10067629
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.1005fe60
add esp, 4
test eax, eax
jne 0x10067654
mov ecx, dword [edi + 0x90]
mov eax, dword [edi + 0x24]
add ecx, 0x2e
add ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x64]
add ecx, dword [edi + 0x30]
add ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x10]
add eax, ecx
add dword [esi + 0x9500], eax
mov ecx, dword [esi + 0x9500]
adc dword [esi + 0x9504], 0
inc edx
mov ebx, dword [esi + 0x9504]
mov edi, dword [edi + 0xc4]
mov dword [ebp - 0x10], edx
jmp 0x10068610
mov ecx, esi
call fcn.1006c470
mov ebx, eax
mov dword [ebp - 0x10], ebx
test ebx, ebx
je 0x10068b4b
cmp ebx, 9
jne 0x100687d7
mov edx, dword [esi + 0x84a8]
xor eax, eax
cmp dword [esi + 0x8498], eax
mov ecx, ebx
push esi
sete al
push eax
call fcn.10065900
mov eax, dword [esi + 0x1169c]
add esp, 8
test eax, eax
je 0x10067664
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, dword [esi + 0x84a8]
jne 0x100674f2
cmp ecx, 0xffffffff
je 0x10067664
cmp dword [esi + 0x84c8], 0
mov eax, dword [esi + 0x84b8]
mov edx, dword [esi + 0x84bc]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edi
je 0x10068724
push 0
push 0
lea edx, [ebx - 7]
call fcn.1006dde0
mov ebx, eax
mov dword [ebp - 0x20], edx
lea eax, [esi + 8]
mov dword [ebp - 0x1c], ebx
add esp, 8
mov dword [esi + 0x84b8], ebx
mov dword [esi + 0x84bc], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
jmp 0x10068726
mov ecx, eax
cmp dword [esi + 0x9524], 0
jne 0x10067654
mov eax, dword [esi + 0x84b8]
mov ebx, dword [esi + 0x84bc]
push edx
push ecx
mov ecx, dword [edi]
xor edx, edx
mov dword [ebp - 0x14], eax
call fcn.1006dde0
mov ecx, dword [ebp - 0x14]
add esp, 8
cmp eax, ecx
jne 0x10067654
cmp edx, ebx
jne 0x10067654
mov edi, dword [esi + 0x94e0]
xor edx, edx
mov dword [esi + 0x9500], ecx
mov dword [esi + 0x9504], ebx
push esi
test edi, edi
je 0x10067629
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.1005fe60
add esp, 4
test eax, eax
jne 0x10067654
mov ecx, dword [edi + 0x90]
mov eax, dword [edi + 0x24]
add ecx, 0x2e
add ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x64]
add ecx, dword [edi + 0x30]
add ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x10]
add eax, ecx
add dword [esi + 0x9500], eax
mov ecx, dword [esi + 0x9500]
adc dword [esi + 0x9504], 0
inc edx
mov ebx, dword [esi + 0x9504]
mov edi, dword [edi + 0xc4]
mov dword [ebp - 0x10], edx
jmp 0x10068777
xor edx, edx
cmp ebx, 0x10
jne 0x10068932
mov ecx, 0x95
call fcn.1006e460
xor ecx, ecx
mov edx, eax
cmp dword [esi + 0x8498], ecx
push esi
sete cl
push ecx
mov ecx, ebx
call fcn.10065900
mov eax, dword [esi + 0x1169c]
add esp, 8
test eax, eax
je 0x10067664
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, dword [esi + 0x84a8]
jne 0x100674f2
cmp ecx, 0xffffffff
je 0x10067664
cmp dword [esi + 0x84c8], 0
mov eax, dword [esi + 0x84b8]
mov edx, dword [esi + 0x84bc]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edi
je 0x1006887f
push 0
push 0
lea edx, [ebx - 0xe]
call fcn.1006dde0
mov ebx, eax
mov dword [ebp - 0x20], edx
lea eax, [esi + 8]
mov dword [ebp - 0x1c], ebx
add esp, 8
mov dword [esi + 0x84b8], ebx
mov dword [esi + 0x84bc], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
jmp 0x10068881
mov ecx, eax
cmp dword [esi + 0x9524], 0
jne 0x10067654
mov eax, dword [esi + 0x84b8]
mov ebx, dword [esi + 0x84bc]
push edx
push ecx
mov ecx, dword [edi]
xor edx, edx
mov dword [ebp - 0x14], eax
call fcn.1006dde0
mov ecx, dword [ebp - 0x14]
add esp, 8
cmp eax, ecx
jne 0x10067654
cmp edx, ebx
jne 0x10067654
mov edi, dword [esi + 0x94e0]
xor edx, edx
mov dword [esi + 0x9500], ecx
mov dword [esi + 0x9504], ebx
push esi
test edi, edi
je 0x10067629
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.1005fe60
add esp, 4
test eax, eax
jne 0x10067654
mov ecx, dword [edi + 0x90]
mov eax, dword [edi + 0x24]
add ecx, 0x2e
add ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x64]
add ecx, dword [edi + 0x30]
add ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x10]
add eax, ecx
add dword [esi + 0x9500], eax
mov ecx, dword [esi + 0x9500]
adc dword [esi + 0x9504], 0
inc edx
mov ebx, dword [esi + 0x9504]
mov edi, dword [edi + 0xc4]
mov dword [ebp - 0x10], edx
jmp 0x100688d2
mov ecx, 0x96
call fcn.1006e460
xor ecx, ecx
mov edx, eax
cmp dword [esi + 0x8498], ecx
push esi
sete cl
push ecx
mov ecx, ebx
call fcn.10065900
mov eax, dword [esi + 0x1169c]
add esp, 8
test eax, eax
je 0x10068ae6
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, dword [esi + 0x84a8]
je 0x1006899f
cmp ecx, 0xffffffff
je 0x10068982
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi], 0xffffffff
push dword [esi + 0x1169c]
call fcn.10086818
add esp, 4
mov dword [esi + 0x1169c], 0
jmp 0x10068ae6
cmp ecx, 0xffffffff
je 0x10068ae6
cmp dword [esi + 0x84c8], 0
mov eax, dword [esi + 0x84b8]
mov edx, dword [esi + 0x84bc]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], edi
je 0x100689fa
push 0
push 0
mov edx, 2
call fcn.1006dde0
mov dword [ebp - 0x28], eax
mov ecx, eax
mov dword [esi + 0x84b8], eax
add esp, 8
lea eax, [esi + 8]
mov dword [ebp - 0x1c], edx
mov dword [esi + 0x84bc], edx
mov dword [ebp - 0x18], eax
jmp 0x100689fc
mov ecx, eax
cmp dword [esi + 0x9524], 0
jne 0x10068ad6
mov eax, dword [esi + 0x84b8]
mov ebx, dword [esi + 0x84bc]
push edx
push ecx
mov ecx, dword [edi]
xor edx, edx
mov dword [ebp - 0x14], eax
call fcn.1006dde0
mov ecx, dword [ebp - 0x14]
add esp, 8
cmp eax, ecx
jne 0x10068ad3
cmp edx, ebx
jne 0x10068ad3
mov edi, dword [esi + 0x94e0]
xor edx, edx
mov dword [esi + 0x9500], ecx
mov dword [esi + 0x9504], ebx
lea ecx, [ecx]
push esi
test edi, edi
je 0x10068aa8
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.1005fe60
add esp, 4
test eax, eax
jne 0x10068ad3
mov ecx, dword [edi + 0x90]
mov eax, dword [edi + 0x24]
add ecx, 0x2e
add ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x64]
add ecx, dword [edi + 0x30]
add ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x20]
add eax, ecx
add dword [esi + 0x9500], eax
mov ecx, dword [esi + 0x9500]
adc dword [esi + 0x9504], 0
inc edx
mov ebx, dword [esi + 0x9504]
mov edi, dword [edi + 0xc4]
mov dword [ebp - 0x20], edx
jmp 0x10068a50
mov edi, dword [ebp - 0x1c]
lea eax, [esi + 8]
push eax
mov eax, dword [ebp - 0x28]
sub ecx, eax
push edi
push eax
sbb ebx, edi
mov eax, edx
push ebx
push ecx
mov ecx, dword [esi + 0x94f0]
cdq
push edx
mov edx, dword [esi + 0x94f4]
push eax
call fcn.100609b0
add esp, 0x20
mov ebx, dword [ebp - 0x10]
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 8], 0xffffffff
mov eax, dword [esi + 0x84a0]
test eax, eax
je 0x10068b03
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a0], 0
mov eax, dword [esi + 0x84a4]
test eax, eax
je 0x10068b16
push eax
call fcn.10086818
add esp, 4
mov eax, dword [esi + 0x84a8]
mov dword [esi + 0x84a4], 0
test eax, eax
je 0x10068b33
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a8], 0
cmp ebx, 3
je 0x100676c2
jmp 0x100676bb
cmp dword [esi + 0x849c], 0
jne 0x10068cb0
xor edx, edx
mov ecx, 0x97
call fcn.1006e460
xor ecx, ecx
mov edx, eax
cmp dword [esi + 0x8498], ecx
push esi
sete cl
push ecx
mov ecx, 0x10
call fcn.10065900
mov eax, dword [esi + 0x1169c]
add esp, 8
test eax, eax
je 0x10067664
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, dword [esi + 0x84a8]
jne 0x100674f2
cmp ecx, 0xffffffff
je 0x10067664
cmp dword [esi + 0x84c8], 0
mov eax, dword [esi + 0x84b8]
mov edx, dword [esi + 0x84bc]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edi
je 0x10068bfc
push 0
push 0
mov edx, 2
call fcn.1006dde0
mov ebx, eax
mov dword [ebp - 0x20], edx
lea eax, [esi + 8]
mov dword [ebp - 0x1c], ebx
add esp, 8
mov dword [esi + 0x84b8], ebx
mov dword [esi + 0x84bc], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
jmp 0x10068bfe
mov ecx, eax
cmp dword [esi + 0x9524], 0
jne 0x10067654
mov eax, dword [esi + 0x84b8]
mov ebx, dword [esi + 0x84bc]
push edx
push ecx
mov ecx, dword [edi]
xor edx, edx
mov dword [ebp - 0x14], eax
call fcn.1006dde0
mov ecx, dword [ebp - 0x14]
add esp, 8
cmp eax, ecx
jne 0x10067654
cmp edx, ebx
jne 0x10067654
mov edi, dword [esi + 0x94e0]
xor edx, edx
mov dword [esi + 0x9500], ecx
mov dword [esi + 0x9504], ebx
nop
push esi
test edi, edi
je 0x10067629
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.1005fe60
add esp, 4
test eax, eax
jne 0x10067654
mov ecx, dword [edi + 0x90]
mov eax, dword [edi + 0x24]
add ecx, 0x2e
add ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x64]
add ecx, dword [edi + 0x30]
add ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x10]
add eax, ecx
add dword [esi + 0x9500], eax
mov ecx, dword [esi + 0x9500]
adc dword [esi + 0x9504], 0
inc edx
mov ebx, dword [esi + 0x9504]
mov edi, dword [edi + 0xc4]
mov dword [ebp - 0x10], edx
jmp 0x10068c50
mov eax, dword [esi + 0x848c]
cmp eax, 9
je 0x10068cc0
cmp eax, 0x13
jne 0x10068cca
mov dword [esi + 0x849c], 0
mov eax, dword [esi + 0x11688]
test eax, eax
jne 0x10068d1b
cmp dword [esi + 0x847c], eax
jne 0x10068cec
cmp dword [esi + 0x84a0], eax
jne 0x10068cec
cmp dword [esi + 0x1168c], eax
je 0x10068d1b
push esi
xor edx, edx
mov ecx, 0x98
call fcn.1006e460
mov edx, eax
mov ecx, 0x10
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x94e4], 0
jne 0x10068d7f
cmp eax, 1
jne 0x10068d32
cmp dword [esi + 0x84c8], 0
je 0x10068d7f
xor edx, edx
mov ecx, 0x87
call fcn.1006e460
cmp dword [esi + 0x8498], 0
je 0x10068d7f
push eax
push dword [esi + 0x84a8]
lea eax, [ebp - 0x2088]
push 0x100add08
push 0x1000
push eax
call fcn.10061500
add esp, 0x14
lea eax, [ebp - 0x2088]
xor edx, edx
push esi
push eax
push ecx
push 0
lea ecx, [edx + 0xc]
call fcn.1006b430
add esp, 0x10
cmp dword [esi + 0x84a4], 0
lea edi, [esi + 0x84a4]
mov eax, dword [sym.imp.USER32.dll_CharNextW]
mov dword [ebp - 0x34], eax
jne 0x10068e35
push 0x2f
push dword [esi + 0x84a8]
call fcn.1007ccce
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x10068ddc
push 0x5c
push dword [esi + 0x84a8]
call fcn.1007ccce
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x10068ddc
push 0x3a
push dword [esi + 0x84a8]
call fcn.1007ccce
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x10068e35
cmp word [ebx], 0x3a
mov dword [ebp - 0x18], edi
jne 0x10068df4
push ebx
call dword [ebp - 0x34]
mov ebx, eax
lea eax, [esi + 0x84a4]
mov dword [ebp - 0x18], eax
mov eax, ebx
sub eax, dword [esi + 0x84a8]
sar eax, 1
inc eax
mov dword [ebp - 0x10], eax
add eax, eax
push eax
call fcn.1008680d
add esp, 4
mov dword [edi], eax
test eax, eax
je 0x10067c4f
mov ecx, dword [ebp - 0x18]
xor eax, eax
movzx edi, word [ebx]
mov edx, dword [ebp - 0x10]
mov word [ebx], ax
push dword [esi + 0x84a8]
mov ecx, dword [ecx]
call fcn.1005c3b0
mov word [ebx], di
mov edi, dword [esi + 0x94e0]
xor ebx, ebx
test edi, edi
je 0x10068ead
mov ecx, esi
call fcn.1005be30
test eax, eax
jne 0x10068ead
cmp word [edi + 0x5c], ax
je 0x10068ea3
cmp dword [esi + 0x11688], eax
je 0x10068ea2
mov ecx, dword [edi + 0x48]
xor edx, edx
push esi
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x78]
push eax
push 0
call fcn.1006ce70
add esp, 0x18
test eax, eax
je 0x10068e90
mov ecx, dword [esi + 0x11688]
cmp ecx, 2
je 0x10068e8b
cmp ecx, 3
jne 0x10068ea2
cmp eax, dword [edi + 8]
ja 0x10068ea2
xor ecx, ecx
cmp ecx, eax
mov word [edi + 0x5c], cx
sbb eax, eax
neg eax
mov word [edi + 0x5e], ax
jmp 0x10068ea3
inc ebx
mov edi, dword [edi + 0xc4]
test edi, edi
jne 0x10068e41
mov ecx, esi
call fcn.1005be30
cmp eax, 1
jne 0x10069010
mov edx, dword [esi + 0x84a8]
xor eax, eax
cmp dword [esi + 0x8498], eax
mov ecx, 9
push esi
sete al
push eax
call fcn.10065900
mov eax, dword [esi + 0x1169c]
add esp, 8
test eax, eax
je 0x10067664
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, dword [esi + 0x84a8]
jne 0x100674f2
cmp ecx, 0xffffffff
je 0x10067664
cmp dword [esi + 0x84c8], 0
mov eax, dword [esi + 0x84b8]
mov edx, dword [esi + 0x84bc]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edi
je 0x10068f59
push 0
push 0
mov edx, 2
call fcn.1006dde0
mov ebx, eax
mov dword [ebp - 0x20], edx
lea eax, [esi + 8]
mov dword [ebp - 0x1c], ebx
add esp, 8
mov dword [esi + 0x84b8], ebx
mov dword [esi + 0x84bc], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
jmp 0x10068f5b
mov ecx, eax
cmp dword [esi + 0x9524], 0
jne 0x10067654
mov eax, dword [esi + 0x84b8]
mov ebx, dword [esi + 0x84bc]
push edx
push ecx
mov ecx, dword [edi]
xor edx, edx
mov dword [ebp - 0x14], eax
call fcn.1006dde0
mov ecx, dword [ebp - 0x14]
add esp, 8
cmp eax, ecx
jne 0x10067654
cmp edx, ebx
jne 0x10067654
mov edi, dword [esi + 0x94e0]
xor edx, edx
mov dword [esi + 0x9500], ecx
mov dword [esi + 0x9504], ebx
lea esp, [esp]
push esi
test edi, edi
je 0x10067629
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.1005fe60
add esp, 4
test eax, eax
jne 0x10067654
mov ecx, dword [edi + 0x90]
mov eax, dword [edi + 0x24]
add ecx, 0x2e
add ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x64]
add ecx, dword [edi + 0x30]
add ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x10]
add eax, ecx
add dword [esi + 0x9500], eax
mov ecx, dword [esi + 0x9500]
adc dword [esi + 0x9504], 0
inc edx
mov ebx, dword [esi + 0x9504]
mov edi, dword [edi + 0xc4]
mov dword [ebp - 0x10], edx
jmp 0x10068fb0
mov edi, dword [esi + 0x9514]
test edi, edi
je 0x1006904e
lea ebx, [ebx]
mov ecx, esi
call fcn.1005be30
test eax, eax
jne 0x1006904e
mov eax, dword [esi + 0x11688]
test eax, eax
je 0x1006903f
cmp eax, 3
je 0x1006903f
mov edi, dword [edi + 0x34]
jmp 0x1006904a
mov edx, esi
mov ecx, edi
call fcn.1006c240
mov edi, eax
test edi, edi
jne 0x10069020
mov ecx, esi
call fcn.1005be30
cmp eax, 1
jne 0x100691b0
mov edx, dword [esi + 0x84a8]
xor eax, eax
cmp dword [esi + 0x8498], eax
mov ecx, 9
push esi
sete al
push eax
call fcn.10065900
mov eax, dword [esi + 0x1169c]
add esp, 8
test eax, eax
je 0x10067664
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, dword [esi + 0x84a8]
jne 0x100674f2
cmp ecx, 0xffffffff
je 0x10067664
cmp dword [esi + 0x84c8], 0
mov eax, dword [esi + 0x84b8]
mov edx, dword [esi + 0x84bc]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], edi
je 0x100690fa
push 0
push 0
mov edx, 2
call fcn.1006dde0
mov ebx, eax
mov dword [ebp - 0x20], edx
lea eax, [esi + 8]
mov dword [ebp - 0x1c], ebx
add esp, 8
mov dword [esi + 0x84b8], ebx
mov dword [esi + 0x84bc], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
jmp 0x100690fc
mov ecx, eax
cmp dword [esi + 0x9524], 0
jne 0x10067654
mov eax, dword [esi + 0x84b8]
mov ebx, dword [esi + 0x84bc]
push edx
push ecx
mov ecx, dword [edi]
xor edx, edx
mov dword [ebp - 0x14], eax
call fcn.1006dde0
mov ecx, dword [ebp - 0x14]
add esp, 8
cmp eax, ecx
jne 0x10067654
cmp edx, ebx
jne 0x10067654
mov edi, dword [esi + 0x94e0]
xor edx, edx
mov dword [esi + 0x9500], ecx
mov dword [esi + 0x9504], ebx
lea ecx, [ecx]
push esi
test edi, edi
je 0x10067629
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.1005fe60
add esp, 4
test eax, eax
jne 0x10067654
mov ecx, dword [edi + 0x90]
mov eax, dword [edi + 0x24]
add ecx, 0x2e
add ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x64]
add ecx, dword [edi + 0x30]
add ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x10]
add eax, ecx
add dword [esi + 0x9500], eax
mov ecx, dword [esi + 0x9500]
adc dword [esi + 0x9504], 0
inc edx
mov ebx, dword [esi + 0x9504]
mov edi, dword [edi + 0xc4]
mov dword [ebp - 0x10], edx
jmp 0x10069150
test ebx, ebx
jne 0x100692aa
cmp dword [esi + 0x9514], ebx
jne 0x100692aa
mov ecx, dword [esi + 0x94e0]
test ecx, ecx
je 0x100691e6
cmp dword [esi + 0x8488], ebx
jne 0x100692aa
cmp dword [esi + 0x1168c], ebx
jne 0x100692aa
mov eax, dword [esi + 0x11688]
cmp eax, 2
je 0x10069250
cmp eax, 3
je 0x10069250
test ecx, ecx
jne 0x10069229
cmp dword [esi + 0x8488], ecx
je 0x10069229
mov edx, dword [esi + 0x84a8]
mov ecx, 0xd
push esi
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x84a8]
mov ecx, 0xc
push esi
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x84a4]
test eax, eax
je 0x1006926d
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a4], 0
mov eax, dword [esi + 0x84a8]
test eax, eax
je 0x1006928a
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a8], 0
mov ecx, esi
call fcn.100657b0
mov dword [esi], 0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x84c8], 0
je 0x100692d4
test ebx, ebx
jne 0x100692d4
mov eax, dword [esi + 0x84b0]
or eax, dword [esi + 0x84b4]
jne 0x100692cd
cmp dword [esi + 0x94e0], eax
je 0x100692d4
mov eax, 1
jmp 0x100692d6
xor eax, eax
mov dword [esi + 0x84c8], eax
mov eax, dword [ebp - 0x20]
test byte [eax + 0x10], 4
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x20], eax
je 0x10069308
cmp dword [esi + 0x94e0], 0
jne 0x10069308
mov eax, dword [esi + 0x84b0]
or eax, dword [esi + 0x84b4]
je 0x10069563
mov edx, dword [esi + 0x84a8]
xor edi, edi
mov dword [ebp - 0x1c], edx
test edx, edx
je 0x10069372
movzx eax, word [edx]
xor cl, cl
xor ebx, ebx
mov byte [ebp - 0x35], cl
mov byte [ebp - 0x2e], cl
mov edi, edx
mov ecx, eax
test ax, ax
je 0x10069370
cmp ecx, 0x5c
jne 0x100693d8
cmp word [edx + 2], ax
jne 0x100693d8
cmp word [edx + 4], 0x3f
jne 0x1006935b
cmp word [edx + 6], ax
je 0x10069369
cmp ecx, eax
jne 0x100693d8
cmp word [edx + 2], ax
jne 0x100693d8
cmp word [edx + 4], 0x2e
jne 0x100693d8
cmp word [edx + 6], 0x5c
jne 0x100693d8
push edx
call dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
xor edi, edi
push 0
push 0x80
push 4
push 0
push 1
push 0xc0000000
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 4], 0
test edi, edi
je 0x100693a1
push edi
call fcn.10086818
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp ebx, 0xffffffff
jne 0x1006953d
mov edx, dword [esi + 0x84a8]
mov ecx, 0xf
push esi
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, ax
mov ecx, edi
test ax, ax
je 0x100693fb
cmp ax, 0x5c
je 0x100693fb
cmp ax, 0x2f
je 0x100693fb
movzx eax, word [edi + 2]
add edi, 2
inc ebx
test ax, ax
jne 0x100693e2
mov edx, edi
sub edx, ecx
sar edx, 1
cmp ebx, 0x104
jb 0x1006940d
mov byte [ebp - 0x2e], 1
xor al, al
mov byte [ebp - 0x2d], al
cmp edx, 1
jbe 0x1006948e
movzx eax, word [ecx + edx*2 - 2]
mov esi, eax
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x14]
cmp eax, 0x2e
jne 0x10069436
cmp edx, 2
jne 0x1006944b
cmp word [ecx], 0x2e
jne 0x1006944b
jmp 0x1006943d
cmp word [ebp - 0x18], 0x20
je 0x1006944b
xor al, al
mov byte [ebp - 0x2d], al
call fcn.1004d6d0
test al, al
je 0x1006948b
cmp word [edi], 0
mov byte [ebp - 0x35], 1
jne 0x10069494
mov al, 1
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x35], 0
jne 0x100694a1
cmp byte [ebp - 0x2e], 0
jne 0x100694a1
mov ah, al
xor edi, edi
mov edx, dword [ebp - 0x1c]
test edi, edi
je 0x10069372
test ah, ah
je 0x10069536
push edi
call fcn.10086818
add esp, 4
jmp 0x1006936d
mov al, byte [ebp - 0x2d]
cmp word [edi], 0
je 0x1006945a
movzx eax, word [edi + 2]
add edi, 2
inc ebx
jmp 0x100693d8
lea eax, [ebx*2 + 0xe]
push eax
call fcn.1008680d
mov edi, eax
add esp, 4
mov al, byte [ebp - 0x2d]
mov dword [ebp - 0x18], edi
mov ah, al
test edi, edi
je 0x1006946a
mov edx, dword [ebp - 0x1c]
mov dword [edi], 0x5c005c
mov dword [edi + 4], 0x5c003f
cmp word [edx], 0x5c
jne 0x100694f3
cmp word [edx + 2], 0x5c
jne 0x100694f3
mov dword [edi + 8], 0x4e0055
lea ecx, [edi + 0x10]
mov dword [edi + 0xc], 0x5c0043
dec ebx
lea edi, [edx + 4]
jmp 0x100694f9
lea ecx, [edi + 8]
inc ebx
mov edi, edx
mov ah, al
test ebx, ebx
je 0x1006952e
sub edi, ecx
mov byte [ebp - 0x2e], al
movzx eax, word [ecx + edi]
mov edx, eax
cmp eax, 0x2f
mov eax, 0x5c
je 0x10069516
mov eax, edx
mov edx, ecx
add ecx, 2
mov word [edx], ax
sub ebx, 1
jne 0x10069504
mov edi, dword [ebp - 0x18]
mov ah, byte [ebp - 0x2e]
jmp 0x1006946a
mov edi, dword [ebp - 0x18]
jmp 0x1006946d
mov edx, edi
jmp 0x10069372
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x10069554
mov edx, dword [ebp - 0x1c]
mov ecx, esi
call fcn.1005c2b0
push ebx
call dword [ebp - 0x20]
mov ecx, dword [esi + 0x84a8]
call fcn.1004db50
cmp dword [esi + 0x8488], 0
je 0x10069580
mov dword [esi + 0x84b0], 0
mov dword [esi + 0x84b4], 0
or eax, 0xffffffff
mov dword [esi + 0x9500], 0
cmp dword [esi + 0x84c8], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], eax
mov dword [esi + 0x9504], 0
je 0x1006965c
push ecx
push 0x80
push 3
push ecx
mov ecx, dword [esi + 0x84a8]
mov edx, 0xc0000000
push 1
mov dword [esi + 0xa8], 0
call fcn.1004da30
mov ecx, dword [esi + 0x84a8]
mov dword [ebp - 0x24], eax
cmp eax, 0xffffffff
jne 0x10069600
mov edx, ecx
mov ecx, 0xd
push esi
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esi + 0x84bc]
xor edx, edx
mov ebx, dword [esi + 0x84b8]
mov dword [esi + 0x1169c], ecx
mov ecx, eax
push edi
push ebx
mov dword [esi + 8], eax
call fcn.1006dde0
add esp, 8
cmp eax, ebx
jne 0x1006962f
cmp edx, edi
je 0x1006996a
mov edx, dword [esi + 0x84a8]
mov ecx, 2
push esi
call fcn.10065a20
add esp, 4
push dword [ebp - 0x24]
call dword [ebp - 0x20]
mov eax, dword [esi]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x9524], 0
je 0x100696a1
mov edx, dword [esi + 0x84a8]
sub esp, 8
mov ecx, esi
push 2
sub esp, 0xc
call fcn.1005c300
mov ecx, dword [esi + 0x84a8]
add esp, 0x18
mov dword [ebp - 0x24], eax
cmp eax, 0xffffffff
je 0x100695dd
xor ebx, ebx
mov dword [esi + 0x1169c], ecx
mov dword [esi + 8], eax
xor edi, edi
jmp 0x1006996a
mov eax, dword [esi + 0x84a4]
test eax, eax
je 0x10069715
push eax
call dword [ebp - 0x28]
lea edi, [eax + 0x14]
lea eax, [edi + edi]
mov dword [ebp - 0x18], edi
push eax
call fcn.1008680d
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x100696d6
mov dword [esi + 0x1169c], 0
jmp 0x100697d7
push dword [esi + 0x84a4]
mov edx, edi
mov ecx, ebx
call fcn.1005c3b0
push ebx
call dword [ebp - 0x28]
test eax, eax
jle 0x100696f5
cmp word [ebx + eax*2 - 2], 0x2f
je 0x10069731
push ebx
call dword [ebp - 0x28]
test eax, eax
jle 0x10069705
cmp word [ebx + eax*2 - 2], 0x5c
je 0x10069731
push 0x100b0dec
mov edx, edi
mov ecx, ebx
call fcn.10061580
jmp 0x10069731
push 0x18
mov dword [ebp - 0x18], 0xc
call fcn.1008680d
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100696c7
xor eax, eax
mov word [ebx], ax
lea ecx, [ebp - 0x5c]
mov edi, str.__XXXXXX
mov eax, ecx
mov edx, 9
sub edi, eax
mov dword [ebp - 0x10], edi
lea eax, [edx + 0x7ffffff5]
test eax, eax
je 0x10069771
movzx eax, word [ecx + edi]
mov edi, eax
test ax, ax
je 0x1006976a
mov word [ecx], di
add ecx, 2
mov edi, dword [ebp - 0x10]
sub edx, 1
jne 0x10069745
jmp 0x1006976e
test edx, edx
jne 0x10069771
sub ecx, 2
xor eax, eax
mov word [ecx], ax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, eax
mov eax, 0xbacf914d
mul edi
mov eax, edi
sub eax, edx
shr eax, 1
add eax, edx
xor edx, edx
shr eax, 5
imul ecx, eax, 0x25
sub edi, ecx
movsx cx, byte [edi + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
mov word [ebp - 0x5c], cx
mov ecx, 0x25
div ecx
mov ecx, ebx
movsx ax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
mov edx, dword [ebp - 0x18]
mov word [ebp - 0x5a], ax
lea eax, [ebp - 0x5c]
push eax
call fcn.10061580
push ebx
call fcn.1008ab5e
add esp, 4
mov dword [esi + 0x1169c], eax
test eax, eax
jne 0x10069806
push esi
xor edx, edx
mov ecx, 0x9a
call fcn.1006e460
mov edx, eax
mov ecx, 4
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, eax
call fcn.1006d800
test eax, eax
je 0x10069827
mov eax, 0xf
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x1169c]
sub esp, 8
mov ecx, esi
push 2
sub esp, 0xc
call fcn.1005c300
mov edx, eax
add esp, 0x18
mov dword [ebp - 0x24], edx
mov dword [esi + 8], edx
cmp edx, 0xffffffff
jne 0x10069873
mov edx, dword [esi + 0x1169c]
mov ecx, 0xa
push esi
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x94e0], 0
lea edi, [esi + 0x84b0]
jne 0x10069891
mov eax, dword [edi]
or eax, dword [edi + 4]
jne 0x10069891
lea ebx, [esi + 0x84a8]
jmp 0x100698fb
push ecx
push 0x80
push 3
push ecx
mov ecx, dword [esi + 0x84a8]
lea ebx, [esi + 0x84a8]
push 1
mov edx, SysReAllocString
call fcn.1004da30
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], eax
cmp eax, 0xffffffff
jne 0x100698f8
mov eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
je 0x100698d5
cmp dword [esi + 8], eax
je 0x100698d5
push eax
call dword [ebp - 0x20]
mov dword [ebp - 0x24], 0xffffffff
mov edx, dword [ebx]
mov ecx, 0xd
push esi
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x24]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
or eax, ecx
je 0x10069965
push esi
push ecx
push dword [edi]
mov ecx, dword [ebp - 0x1c]
call fcn.1006d620
add esp, 0xc
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10069965
push dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
call edi
mov ecx, dword [ebp - 0x24]
cmp ecx, 0xffffffff
je 0x10069939
cmp dword [esi + 8], ecx
je 0x10069939
push ecx
call edi
mov dword [ebp - 0x24], 0xffffffff
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xa
jne 0x10069947
lea ebx, [esi + 0x1169c]
mov edx, dword [ebx]
push esi
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [edi]
mov edi, dword [edi + 4]
mov eax, esi
mov ecx, 0x9500
push 0x2000
mov dword [ecx + eax], ebx
mov dword [ecx + eax + 4], edi
call fcn.1008680d
add esp, 4
mov dword [esi + 0x11698], eax
test eax, eax
jne 0x100699c5
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
call fcn.1006b2d0
mov edx, dword [esi + 0x1169c]
add esp, 4
mov ecx, 4
push esi
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [esi + 0x9520], eax
mov eax, dword [esi + 0x94e0]
test eax, eax
je 0x100699f7
lea ebx, [ebx]
cmp word [eax + 0x5c], 0
je 0x100699ed
inc dword [esi + 0x9520]
mov eax, dword [eax + 0xc4]
test eax, eax
jne 0x100699e0
mov eax, dword [esi + 0x951c]
add dword [esi + 0x9520], eax
cmp dword [esi + 0x1110], 0
je 0x10069a15
cmp dword [esi + 0x1114], 0
je 0x10069a50
cmp dword [esi + 0x9520], 0xffff
jb 0x10069a50
push esi
xor edx, edx
mov ecx, 0x106
call fcn.1006e460
mov edx, eax
mov ecx, 6
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x9524], 0
mov eax, dword [esi + 0x9528]
mov ecx, dword [esi + 0x9500]
mov edx, dword [esi + 0x9504]
mov dword [esi + 0x9534], eax
lea eax, [esi + 0x96c8]
mov dword [esi + 0x9550], 0
mov dword [esi + 0x9554], 0
mov dword [esi + 0x9500], ecx
mov dword [esi + 0x9504], edx
mov dword [eax], 0
je 0x10069b40
or ecx, edx
jne 0x10069b40
mov ecx, esi
mov dword [ebp - 0x10], 0x8074b50
call fcn.1006bf90
test edx, edx
jg 0x10069ad6
jl 0x10069ac2
cmp eax, 4
jae 0x10069ad6
push esi
lea edx, [ebp - 0x24]
xor ecx, ecx
call fcn.1006c030
mov edi, eax
add esp, 4
test edi, edi
jne 0x10069af0
push ecx
lea eax, [ebp - 0x10]
mov ecx, esi
push 4
push eax
lea edx, [ebp - 0x24]
call fcn.1006c1f0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10069b2c
mov eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
je 0x10069b08
cmp dword [esi + 8], eax
je 0x10069b08
push eax
call dword [ebp - 0x20]
mov dword [ebp - 0x24], 0xffffffff
mov edx, dword [esi + 0x84a8]
mov ecx, edi
push esi
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add dword [esi + 0x9500], 4
lea eax, [esi + 0x96c8]
adc dword [esi + 0x9504], 0
lea edi, [esi + 0x94e0]
mov dword [esi + 0x1124], 1
mov ebx, dword [edi]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x28], ebx
test ebx, ebx
je 0x10069d5c
xor ecx, ecx
mov dword [esi + 0x10c0], 0
cmp dword [esi + 0x10b8], ecx
je 0x10069b8e
mov eax, dword [ebx + 0x48]
cmp eax, dword [esi + 0x10e0]
jne 0x10069b8e
mov dword [esi + 0x10c0], 1
mov ecx, 1
cmp word [ebx + 0x5c], 0
jne 0x10069bcc
test ecx, ecx
jne 0x10069bcc
cmp dword [esi + 0x84c8], ecx
jne 0x10069bbe
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 0x24]
push esi
push eax
mov ecx, ebx
call fcn.10062270
add esp, 8
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x10069ec2
lea edi, [ebx + 0xc4]
mov dword [ebp - 0x10], edi
jmp 0x10069d3f
cmp dword [esi + 0x11688], 0
je 0x10069cd3
push esi
lea edx, [ebp - 0x24]
mov ecx, ebx
call fcn.10062550
add esp, 4
mov dword [ebp - 0x10], eax
test eax, eax
je 0x10069cc2
cmp eax, 0x12
jne 0x10069f38
mov eax, dword [ebx + 0x20]
lea edi, [esi + 0x136bc]
mov dword [ebp - 0x18], 1
cmp eax, 0x7ffffffe
jbe 0x10069c19
xor eax, eax
mov word [edi], ax
jmp 0x10069c2a
push eax
push dword [ebx + 0x48]
mov edx, 0x800
push ecx
mov ecx, edi
call fcn.10061600
test edi, edi
je 0x10069c57
mov esi, dword [ebp - 0x34]
mov ebx, 0x5c
movzx eax, word [edi]
mov ecx, eax
test ax, ax
je 0x10069c51
cmp ecx, 0x2f
jne 0x10069c48
mov word [edi], bx
push edi
call esi
mov edi, eax
test edi, edi
jne 0x10069c36
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
xor edx, edx
mov ecx, 0x88
call fcn.1006e460
cmp dword [esi + 0x8498], 0
lea edi, [esi + 0x136bc]
je 0x10069ca5
push edi
push eax
push 0x100add08
lea eax, [ebp - 0x2088]
push 0x1000
push eax
call fcn.10061500
add esp, 0x14
lea eax, [ebp - 0x2088]
xor edx, edx
push esi
push eax
push ecx
push 0
lea ecx, [edx + 0xc]
call fcn.1006b430
add esp, 0x10
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 0x24]
push esi
push eax
mov ecx, ebx
call fcn.10062270
add esp, 8
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x10069ec7
xor eax, eax
lea edi, [ebx + 0xc4]
mov word [ebx + 0x5c], ax
mov dword [ebp - 0x10], edi
jmp 0x10069d3f
mov eax, dword [ebx + 0xc4]
push dword [ebx + 0x48]
mov dword [ebp - 0x28], eax
call fcn.10086818
add esp, 4
push dword [ebx + 0x58]
call fcn.10086818
add esp, 4
cmp dword [ebx + 0x28], 0
je 0x10069d03
push dword [ebx + 0x4c]
call fcn.10086818
add esp, 4
cmp dword [ebx + 0x2c], 0
je 0x10069d1a
mov eax, dword [ebx + 0x50]
cmp eax, dword [ebx + 0x4c]
je 0x10069d1a
push eax
call fcn.10086818
add esp, 4
cmp dword [ebx + 0x30], 0
je 0x10069d2b
push dword [ebx + 0x54]
call fcn.10086818
add esp, 4
push ebx
call fcn.10086818
mov eax, dword [ebp - 0x28]
add esp, 4
mov dword [edi], eax
dec dword [esi + 0x94e4]
mov dword [esi + 0x10c0], 0
mov ebx, dword [edi]
mov dword [ebp - 0x28], ebx
test ebx, ebx
jne 0x10069b60
lea eax, [esi + 0x96c8]
mov dword [eax], 1
mov eax, dword [esi + 0x9514]
mov dword [esi + 0x1124], 0
mov dword [ebp - 0x28], eax
test eax, eax
je 0x10069e8b
lea ecx, [ecx]
push 0xc8
call fcn.1008680d
mov ebx, eax
add esp, 4
mov dword [ebp - 0x34], ebx
test ebx, ebx
je 0x1006a162
push 0xc8
push 0
push ebx
call fcn.1007cff0
mov ecx, dword [ebp - 0x28]
add esp, 0xc
mov edx, esi
mov eax, dword [ecx]
mov dword [ebx + 0x48], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x58], eax
xor eax, eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ebx + 0x94], 0x20000a
mov dword [ebx + 0x98], 0
mov dword [ebx + 0x9c], 0x180001
mov dword [ebx + 0xb8], eax
mov dword [ebx + 0xbc], eax
mov dword [ebx + 0xc0], eax
mov dword [ebx + 0x90], 0x24
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x96d0], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0x96cc], eax
call fcn.1006c240
mov dword [ebp - 0x28], eax
mov eax, 1
mov word [ebx + 0x5c], ax
cmp dword [esi + 0x10b8], 0
mov dword [esi + 0x10c0], 0
je 0x10069e4e
mov eax, dword [ebx + 0x48]
cmp eax, dword [esi + 0x10e0]
jne 0x10069e4e
mov dword [esi + 0x10c0], 1
push esi
lea edx, [ebp - 0x24]
mov ecx, ebx
call fcn.10062550
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x10069fe2
mov dword [esi + 0x10c0], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], ebx
lea eax, [ebx + 0xc4]
inc dword [esi + 0x94e4]
cmp dword [ebp - 0x28], 0
mov dword [ebp - 0x10], eax
jne 0x10069d80
mov eax, dword [esi + 0x84a0]
test eax, eax
je 0x10069ea8
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a0], 0
cmp dword [esi], 0
je 0x1006a18a
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
call fcn.1006b2d0
jmp 0x10069f82
push dword [ebx + 0x58]
jmp 0x10069ee2
push dword [ebx + 0x20]
mov ecx, edi
push dword [ebx + 0x48]
call fcn.100614d0
mov ecx, edi
call fcn.100651a0
lea eax, [esi + 0x136bc]
push eax
xor edx, edx
lea edi, [esi + 0x747c]
mov ecx, 0x9f
call fcn.1006e460
push eax
push str._s__s
push 0x800
push edi
call fcn.10061500
add esp, 0x14
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push esi
call fcn.1006b2d0
mov ecx, dword [ebp - 0x10]
mov edx, edi
add esp, 4
push esi
call fcn.10065a20
mov eax, dword [esi]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebx + 0x48]
xor edx, edx
lea edi, [esi + 0x747c]
mov ecx, 0x9e
call fcn.1006e460
push eax
push str._s__s
push 0x800
push edi
call fcn.10061500
add esp, 0x14
mov ecx, edi
call fcn.100651a0
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
call fcn.1006b2d0
mov ecx, dword [ebp - 0x10]
add esp, 4
mov edx, edi
push esi
call fcn.10065a20
mov eax, dword [esi + 0x84a4]
add esp, 4
mov edi, dword [esi]
test eax, eax
je 0x10069fa4
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a4], 0
mov eax, dword [esi + 0x84a8]
test eax, eax
je 0x10069fc1
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a8], 0
cmp edi, 3
je 0x10069fcd
mov ecx, esi
call fcn.100657b0
mov dword [esi], edi
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x12
jne 0x1006a084
mov dword [esi + 0x10c0], 0
lea edi, [esi + 0x136bc]
push dword [ebx + 0x48]
mov edx, 0x800
mov dword [ebp - 0x18], 1
mov ecx, edi
call fcn.1005c3b0
mov ecx, edi
call fcn.100651a0
xor edx, edx
mov ecx, 0x89
call fcn.1006e460
cmp dword [esi + 0x8498], 0
je 0x1006a060
push edi
push eax
push 0x100add08
lea eax, [ebp - 0x2088]
push 0x1000
push eax
call fcn.10061500
add esp, 0x14
lea eax, [ebp - 0x2088]
xor edx, edx
push esi
push eax
push ecx
push 0
lea ecx, [edx + 0xc]
call fcn.1006b430
add esp, 0x10
push dword [ebx + 0x48]
call fcn.10086818
add esp, 4
push dword [ebx + 0x58]
call fcn.10086818
add esp, 4
push ebx
call fcn.10086818
add esp, 4
jmp 0x10069e8b
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
call fcn.1006b2d0
add esp, 4
lea edi, [esi + 0x136bc]
mov edx, 0x800
mov ecx, edi
push dword [ebx + 0x48]
call fcn.1005c3b0
mov ecx, edi
call fcn.100651a0
push edi
xor edx, edx
lea ebx, [esi + 0x747c]
mov ecx, 0x9e
call fcn.1006e460
push eax
push str._s__s
push 0x800
push ebx
call fcn.10061500
mov ecx, dword [ebp - 0x14]
add esp, 0x14
mov edx, ebx
push esi
call fcn.10065a20
mov eax, dword [esi + 0x84a4]
add esp, 4
mov edi, dword [esi]
test eax, eax
je 0x1006a103
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a4], 0
mov eax, dword [esi + 0x84a8]
test eax, eax
je 0x1006a120
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a8], 0
cmp edi, 3
je 0x1006a12c
mov ecx, esi
call fcn.100657b0
mov dword [esi], edi
mov edi, dword [ebp - 0x34]
push dword [edi + 0x48]
call fcn.10086818
add esp, 4
push dword [edi + 0x58]
call fcn.10086818
add esp, 4
push edi
call fcn.10086818
mov eax, dword [ebp - 0x2c]
add esp, 4
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x1c], eax
jmp 0x10069e8b
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
call fcn.1006b2d0
add esp, 4
xor edx, edx
mov ecx, 0x9b
push esi
call fcn.1006e460
mov edx, eax
mov ecx, 4
jmp 0x10069f7d
mov eax, dword [esi + 0x9500]
xor ebx, ebx
mov ecx, dword [esi + 0x9504]
mov dword [ebp - 0x3c], eax
mov dword [esi + 0x84b8], eax
mov eax, dword [esi + 0x84c0]
mov dword [esi + 0x10b4], 1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x48], ecx
mov dword [esi + 0x84bc], ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x10], ebx
test eax, eax
je 0x1006a1de
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84c0], ebx
mov edi, dword [esi + 0x94e0]
mov dword [esi + 0x84c4], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
test edi, edi
je 0x1006a37f
push esi
lea edx, [ebp - 0x24]
mov ecx, edi
call fcn.1005fe60
mov ebx, eax
add esp, 4
mov dword [ebp - 0x14], ebx
test ebx, ebx
jne 0x1006a363
mov edx, dword [edi + 0x90]
add edx, dword [edi + 0x6c]
add edx, dword [edi + 0x64]
add edx, dword [edi + 0x30]
add edx, dword [edi + 0x2c]
mov eax, dword [edi + 0x24]
mov ecx, dword [ebp - 0x34]
add eax, 0x2e
add eax, edx
add ecx, eax
mov dword [ebp - 0x34], ecx
adc dword [ebp - 0x10], ebx
add dword [esi + 0x9500], eax
mov eax, dword [ebp - 0x28]
adc dword [esi + 0x9504], ebx
inc eax
mov dword [ebp - 0x28], eax
cmp dword [esi + 0x9510], ebx
je 0x1006a27d
lea eax, [ebp - 0x44]
push eax
lea ebx, [edi + 0xa0]
push ebx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 1
jne 0x1006a274
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x14]
mov edi, dword [edi + 0xc4]
test edi, edi
jne 0x1006a1f8
test eax, eax
je 0x1006a37c
cmp dword [esi + 0x84c4], edi
je 0x1006a3d3
push edi
lea eax, [ebp - 0x60]
push eax
push ecx
push dword [esi + 0x84c0]
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1006a32a
mov edi, dword [ebp - 0x34]
cmp dword [ebp - 0x60], edi
jne 0x1006a32a
mov eax, dword [esi + 0x84c0]
test eax, eax
je 0x1006a2dd
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84c0], 0
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
push esi
lea ecx, [ebp - 0x24]
cdq
push ecx
push dword [ebp - 0x48]
mov ecx, dword [esi + 0x94f0]
push dword [ebp - 0x3c]
push ebx
push edi
push edx
mov edx, dword [esi + 0x94f4]
push eax
call fcn.100609b0
mov edi, eax
add esp, 0x20
test edi, edi
je 0x1006a3de
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
call fcn.1006b2d0
mov edx, dword [esi + 0x1169c]
mov ecx, edi
jmp 0x10069f19
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
call fcn.1006b2d0
mov eax, dword [esi + 0x84c0]
add esp, 4
test eax, eax
je 0x1006a356
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84c0], 0
mov edx, dword [esi + 0x1169c]
mov ecx, ebx
jmp 0x10069f1c
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
call fcn.1006b2d0
mov edx, dword [esi + 0x1169c]
mov ecx, ebx
jmp 0x10069f19
mov ebx, dword [ebp - 0x10]
xor edx, edx
mov ecx, 0x8a
call fcn.1006e460
cmp dword [esi + 0x8498], 0
je 0x1006a3cb
push 0x100ab578
push eax
push 0x100add08
lea eax, [ebp - 0x2088]
push 0x1000
push eax
call fcn.10061500
add esp, 0x14
lea eax, [ebp - 0x2088]
xor edx, edx
push esi
push eax
push ecx
push 0
lea ecx, [edx + 0xc]
call fcn.1006b430
add esp, 0x10
mov edi, dword [ebp - 0x34]
jmp 0x1006a2e0
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x10]
jmp 0x1006a2e3
cmp dword [esi + 0xac], 0xffffffff
je 0x1006a414
push esi
lea edx, [ebp - 0x24]
xor ecx, ecx
call fcn.1006c030
mov edi, eax
add esp, 4
test edi, edi
je 0x1006a414
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
call fcn.1006b2d0
lea edx, [esi + 0xb0]
mov ecx, edi
jmp 0x10069f19
mov eax, dword [esi + 0xac]
cmp eax, 0xffffffff
je 0x1006a42d
push eax
call dword [ebp - 0x20]
mov dword [esi + 0xac], 0xffffffff
lea ecx, [esi + 0xb0]
call fcn.1004dae0
dec dword [esi + 0x9528]
cmp dword [esi + 0x9510], 0
je 0x1006a47f
cmp dword [ebp - 0x44], 0
jne 0x1006a453
cmp dword [ebp - 0x40], 0
je 0x1006a47f
mov ebx, dword [ebp - 0x1c]
mov edi, dword [sym.imp.KERNEL32.dll_SetFileTime]
cmp ebx, 0xffffffff
je 0x1006a46b
lea eax, [ebp - 0x44]
push eax
push 0
push eax
push ebx
call edi
mov eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
je 0x1006a485
lea ecx, [ebp - 0x44]
push ecx
push 0
push ecx
push eax
call edi
jmp 0x1006a482
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp ebx, 0xffffffff
je 0x1006a495
push ebx
mov ebx, dword [ebp - 0x20]
call ebx
mov eax, dword [ebp - 0x24]
jmp 0x1006a498
mov ebx, dword [ebp - 0x20]
mov dword [esi + 8], 0xffffffff
cmp eax, 0xffffffff
je 0x1006a4cf
push eax
call ebx
mov dword [ebp - 0x24], 0xffffffff
test eax, eax
jne 0x1006a4cf
mov edx, dword [esi + 0x1169c]
xor ecx, ecx
cmp dword [esi + 0x84c8], ecx
setne cl
lea ecx, [ecx*4 + 0xa]
jmp 0x10069f1c
cmp dword [esi + 0x8484], 9
mov ecx, esi
jne 0x1006a4e1
call fcn.10070ea0
jmp 0x1006a4e6
call fcn.10072970
cmp dword [esi + 0x9524], 0
je 0x1006a659
mov ecx, dword [esi + 0x84a8]
test ecx, ecx
je 0x1006a61a
call fcn.1004dae0
lea ebx, [esi + 0xb0]
push 0x2e
push ebx
call fcn.1007ccce
add esp, 8
test eax, eax
je 0x1006a553
add eax, 2
mov edx, 0x800
mov ecx, eax
sub ecx, esi
sub ecx, 0xb0
sar ecx, 1
sub edx, ecx
mov ecx, dword [esi + 0x10b0]
push ecx
cmp ecx, 0x64
jge 0x1006a544
push str.z_02d
jmp 0x1006a549
push str._03d
push edx
push eax
call fcn.10061500
add esp, 0x10
push 0x104
push dword [esi + 0x84a8]
lea ecx, [ebp - 0x58]
call fcn.1004d280
cmp byte [ebp - 0x4e], 0
mov edi, dword [ebp - 0x54]
je 0x1006a649
test edi, edi
je 0x1006a588
push edi
call fcn.10086818
add esp, 4
lea ebx, [esi + 0xb0]
xor edi, edi
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x14], eax
push 0x104
push ebx
lea ecx, [ebp - 0x58]
call fcn.1004d280
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x1006a5a5
mov ecx, dword [eax]
push dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x1006a5cd
push eax
call fcn.10086818
add esp, 4
mov dword [ebp - 0x54], 0
mov dword [ebp - 4], 2
test edi, edi
je 0x1006a5e1
push edi
call fcn.10086818
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1108]
push dword [esi + 0x84a8]
mov edx, 0x840
call fcn.1005c3b0
push esi
lea eax, [ebp - 0x1108]
xor edx, edx
push eax
push ecx
push dword [esi + 0x10b0]
lea ecx, [edx + 0xe]
call fcn.1006b430
add esp, 0x10
push dword [esi + 0x1169c]
call fcn.10086818
mov eax, dword [esi + 0x1169c]
add esp, 4
cmp eax, dword [esi + 0x84a8]
jne 0x1006a787
mov dword [esi + 0x84a8], 0
jmp 0x1006a787
test edi, edi
je 0x1006a588
mov dword [ebp - 0x14], edi
jmp 0x1006a58e
cmp dword [esi + 0x84c8], 0
jne 0x1006a787
mov eax, dword [esi + 0x84a8]
lea ebx, [esi + 0x84a8]
mov edi, dword [esi + 0x1169c]
push eax
mov dword [ebp - 0x14], eax
call sym.dopuslib32.dll_Ordinal_146
mov ecx, dword [ebp - 0x14]
add esp, 4
mov edx, edi
mov dword [ebp - 0x10], eax
push esi
call fcn.1006d290
mov edx, eax
lea edi, [esi + 0x1169c]
add esp, 4
mov dword [ebp - 0x20], edx
test edx, edx
jne 0x1006a6c8
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x1006a6de
push dword [ebp - 0x14]
push eax
call sym.dopuslib32.dll_Ordinal_147
mov ecx, dword [ebp - 0x10]
lea edi, [esi + 0x1169c]
add esp, 8
lea ebx, [esi + 0x84a8]
jmp 0x1006a6d5
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x3c], edi
test ecx, ecx
je 0x1006a6de
push ecx
call fcn.10034510
mov edx, dword [ebp - 0x20]
mov eax, dword [esi + 0x1169c]
mov dword [ebp - 0x3c], eax
test edx, edx
je 0x1006a76c
xor edx, edx
mov ecx, 0x8b
call fcn.1006e460
cmp dword [esi + 0x8498], 0
je 0x1006a739
push dword [ebp - 0x3c]
push eax
push 0x100add08
lea eax, [ebp - 0x4088]
push 0x1000
push eax
call fcn.10061500
add esp, 0x14
lea eax, [ebp - 0x4088]
xor edx, edx
push esi
push eax
push ecx
push 0
lea ecx, [edx + 0xc]
call fcn.1006b430
add esp, 0x10
push dword [edi]
call fcn.10086818
mov eax, dword [edi]
add esp, 4
cmp eax, dword [ebx]
jne 0x1006a74f
mov dword [ebx], 0
push esi
xor edx, edx
mov dword [edi], 0
mov ecx, 0x9c
call fcn.1006e460
mov ecx, dword [ebp - 0x20]
mov edx, eax
jmp 0x10069f1d
push eax
call fcn.10086818
mov eax, dword [edi]
add esp, 4
cmp eax, dword [ebx]
jne 0x1006a781
mov dword [ebx], 0
mov dword [edi], 0
mov ebx, dword [ebp - 0x18]
mov eax, dword [esi + 0x84a4]
neg ebx
mov dword [esi + 0x1169c], 0
sbb ebx, ebx
and ebx, 0x12
test eax, eax
je 0x1006a7b8
push eax
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a4], 0
mov ecx, dword [esi + 0x84a8]
test ecx, ecx
je 0x1006a7d5
push ecx
call fcn.10086818
add esp, 4
mov dword [esi + 0x84a8], 0
mov ecx, esi
call fcn.100657b0
mov ecx, dword [ebp - 0xc]
mov eax, ebx
mov dword [esi], ebx
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret