Function at 0x1005c8f0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a1e70
mov eax, dword fs:[0]
push eax
mov eax, 0x2368
mov dword fs:[0], esp
call fcn.1009d950
push ebx
mov ebx, ecx
push esi
push edi
mov dword [ebp - 0x1c], ebx
mov dword [ebx + 0x84cc], 0
call fcn.100655d0
cmp dword [ebx + 0x9524], 0
je 0x1005ca18
lea ecx, [ebx + 0xb0]
mov dword [ebx + 0x9528], 0
mov dword [ebx + 0x952c], 0xffff
mov dword [ebx + 0x9530], 0
mov dword [ebx + 0x9538], 0
mov dword [ebx + 0x9540], 0
mov dword [ebx + 0x9544], 0
mov dword [ebx + 0x9548], 0
mov dword [ebx + 0x954c], 0
call fcn.100611d0
mov ecx, dword [ebx + 0x84a8]
call fcn.1004db50
cmp eax, 0xffffffff
je 0x1005c9fc
push 0x104
push dword [ebx + 0x84a8]
lea ecx, [ebp - 0x5c]
call fcn.1004d280
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x1005c9bd
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edi, eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x1005c9dd
push ecx
call fcn.10086818
add esp, 4
mov dword [ebp - 4], 0xffffffff
test edi, edi
jne 0x1005c9fc
lea eax, [edi + 3]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebx + 0xb0]
call fcn.1006d800
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 0x84a8]
mov edi, dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
mov eax, dword [ebp - 0x1c]
test esi, esi
je 0x1005ccf1
cmp esi, dword [eax + 0x10e0]
je 0x1005ccf1
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0x800
jl 0x1005cb3f
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x30], 0
mov edi, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x84a8]
mov edx, edi
call fcn.1005c440
mov esi, eax
test esi, esi
jne 0x1005f929
mov ecx, dword [edi + 0x84a8]
call fcn.1006d800
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
jne 0x1005f929
cmp dword [edi + 0x84cc], eax
jne 0x1005f881
mov ecx, dword [edi + 0x84a8]
mov dword [edi + 0x14d68], 1
test ecx, ecx
je 0x1005f929
cmp word [ecx], ax
je 0x1005f929
sub esp, 0x1c
call fcn.10037f60
mov edi, eax
add esp, 0x1c
mov dword [ebp - 0x4c], edi
cmp edi, 0xffffffff
je 0x1005f929
test edi, edi
je 0x1005f929
push ecx
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
push 2
lea edx, [ebp - 0xe0]
call fcn.10038130
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
add esp, 0xc
test eax, eax
je 0x1005cdad
cmp dword [ebp - 0xec], 2
jne 0x1005cdad
mov ax, word [ebp - 0xe0]
cmp al, 0x4d
jne 0x1005cdad
cmp ah, 0x5a
jne 0x1005cdad
mov esi, 0x17
jmp 0x1005f79f
mov eax, dword [ebp - 0x1c]
cmp esi, dword [eax + 0x96f0]
jne 0x1005cb88
mov edi, eax
or esi, 0xffffffff
mov ebx, 0xfffffffe
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], ebx
mov eax, dword [edi + 0x96f8]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x58]
push eax
movzx eax, word [edi + 0x96f4]
push eax
movzx eax, word [edi + 0x96f6]
push eax
call dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
mov ecx, dword [edi + 0x96f4]
jmp 0x1005cd81
lea ecx, [ebp - 0x1370]
mov edx, 0x800
mov eax, ecx
sub esi, eax
jmp 0x1005cba0
lea eax, [edx + 0x7ffff7fe]
test eax, eax
je 0x1005cbc7
movzx eax, word [esi + ecx]
test ax, ax
je 0x1005cbc0
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x1005cba0
jmp 0x1005cbc4
test edx, edx
jne 0x1005cbc7
sub ecx, 2
xor eax, eax
mov word [ecx], ax
lea eax, [ebp - 0x1370]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
mov edi, 0x5c
lea eax, [ebp - 0x1370]
movzx ecx, word [eax]
test cx, cx
je 0x1005cbfd
cmp ecx, 0x2f
jne 0x1005cbf6
mov word [eax], di
push eax
call ebx
test eax, eax
jne 0x1005cbe6
lea eax, [ebp - 0x1370]
xor ebx, ebx
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
test eax, eax
jle 0x1005cc21
cmp word [ebp + eax*2 - 0x1372], 0x2f
je 0x1005cc30
lea ecx, [ebp - 0x1370]
call fcn.10050740
test eax, eax
je 0x1005cc3f
xor eax, eax
mov ebx, 1
mov word [ebp + esi*2 - 0x1372], ax
lea edx, [ebp - 0x370]
lea ecx, [ebp - 0x1370]
call fcn.10065560
mov esi, eax
cmp esi, 0xffffffff
je 0x1005ccbb
mov eax, dword [ebp - 0x370]
and eax, 0x37
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x35c]
push eax
call edi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_FileTimeToDosDateTime]
call eax
test esi, esi
je 0x1005cca2
mov eax, dword [esi + 0x1000]
cmp eax, 0xffffffff
je 0x1005cc99
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push esi
call fcn.10086818
add esp, 4
mov esi, dword [ebp - 0x354]
xor ebx, ebx
or ebx, dword [ebp - 0x350]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], esi
jmp 0x1005cd71
test ebx, ebx
je 0x1005ccd8
shl ebx, 4
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x30], ebx
jmp 0x1005ca68
shl ebx, 4
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x30], ebx
jmp 0x1005ca68
cmp dword [eax + 0x10bc], 0
je 0x1005cd17
or ebx, 0xffffffff
cmp dword [eax + 0x1110], 0
mov dword [ebp - 0x20], ebx
je 0x1005cd10
mov esi, SysReAllocString
jmp 0x1005cd26
mov esi, 0xf
jmp 0x1005cd26
mov ebx, dword [eax + 0x10c8]
mov esi, dword [eax + 0x10cc]
mov dword [ebp - 0x20], ebx
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x24], esi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xc4]
push eax
call edi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_FileTimeToDosDateTime]
call eax
mov dword [ebp - 0x30], 0
movzx ecx, word [ebp - 0x44]
movzx eax, word [ebp - 0x28]
mov edi, dword [ebp - 0x1c]
shl ecx, 0x10
or ecx, eax
test ecx, ecx
je 0x1005ca6b
mov eax, ebx
or eax, esi
jne 0x1005ca6b
mov ecx, dword [edi + 0x84a8]
call fcn.1004dae0
neg eax
sbb esi, esi
and esi, 0xfffffffd
add esi, 3
jmp 0x1005ca7a
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x1005cdf3
cmp ecx, 0xffffffff
je 0x1005cdf3
mov eax, dword [edi]
test eax, eax
je 0x1005cde4
xor ecx, ecx
xor edx, edx
cmp dword [eax + 0x28], ecx
je 0x1005cddd
cmp dword [eax + 0x38], ecx
je 0x1005cddd
push edx
mov byte [eax + 0x5c], cl
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
call ebx
push 0
jmp 0x1005cdf5
push 0x649
jmp 0x1005cdf5
push 0
push 0
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x1005cdf7
push 6
call ebx
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 0x8488], 0
je 0x1005d095
mov ebx, dword [ecx + 0x84a8]
test ebx, ebx
je 0x1005d009
cmp ebx, dword [ecx + 0x10e0]
je 0x1005d009
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp - 0x1c]
cmp eax, 0x800
jl 0x1005ce4c
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x24], 0xffffffff
jmp 0x1005d095
cmp ebx, dword [ecx + 0x96f0]
jne 0x1005ce8a
mov eax, dword [ecx + 0x96f8]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x58]
push eax
movzx eax, word [ecx + 0x96f4]
push eax
movzx eax, word [ecx + 0x96f6]
push eax
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x24], 0xffffffff
call dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
jmp 0x1005d092
lea ecx, [ebp - 0x1370]
mov edx, 0x800
mov eax, ecx
sub ebx, eax
lea esp, [esp]
lea eax, [edx + 0x7ffff7fe]
test eax, eax
je 0x1005cec7
movzx eax, word [ecx + ebx]
test ax, ax
je 0x1005cec0
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x1005cea0
jmp 0x1005cec4
test edx, edx
jne 0x1005cec7
sub ecx, 2
xor eax, eax
mov word [ecx], ax
lea eax, [ebp - 0x1370]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
mov edi, 0x5c
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x1370]
lea ecx, [ecx]
movzx ecx, word [eax]
test cx, cx
je 0x1005cf07
cmp ecx, 0x2f
jne 0x1005cf00
mov word [eax], di
push eax
call ebx
test eax, eax
jne 0x1005cef0
lea eax, [ebp - 0x1370]
mov dword [ebp - 0x30], 0
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, dword [ebp - 0x4c]
test eax, eax
jle 0x1005cf2d
cmp word [ebp + eax*2 - 0x1372], 0x2f
je 0x1005cf3c
lea ecx, [ebp - 0x1370]
call fcn.10050740
test eax, eax
je 0x1005cf50
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov dword [ebp - 0x30], 1
mov word [ebp + eax*2 - 0x1372], cx
lea edx, [ebp - 0x370]
lea ecx, [ebp - 0x1370]
call fcn.10065560
mov ebx, eax
cmp ebx, 0xffffffff
je 0x1005cfd0
mov eax, dword [ebp - 0x370]
and eax, 0x37
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x35c]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
call eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToDosDateTime]
test ebx, ebx
je 0x1005cfb7
mov eax, dword [ebx + 0x1000]
cmp eax, 0xffffffff
je 0x1005cfae
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push ebx
call fcn.10086818
add esp, 4
mov ecx, dword [ebp - 0x354]
xor eax, eax
or eax, dword [ebp - 0x350]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
jmp 0x1005d092
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x1005cff0
shl eax, 4
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x30], eax
jmp 0x1005d092
shl eax, 4
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x30], eax
jmp 0x1005d092
cmp dword [ecx + 0x10bc], 0
mov dword [ebp - 0x30], 0
je 0x1005d03b
cmp dword [ecx + 0x1110], 0
mov dword [ebp - 0x20], 0xffffffff
je 0x1005d032
mov dword [ebp - 0x24], SysReAllocString
jmp 0x1005d04d
mov dword [ebp - 0x24], 0xf
jmp 0x1005d04d
mov eax, dword [ecx + 0x10c8]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 0x10cc]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
call eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToDosDateTime]
mov ecx, dword [ebp - 0x1c]
lea eax, [ecx + 0x94e0]
mov dword [ebp - 0x28], 0
xor ebx, ebx
mov dword [ebp - 0x60], eax
mov dword [ecx + 0x94e4], ebx
mov dword [ebp - 0x3c], ebx
test esi, esi
jne 0x1005f799
push esi
lea eax, [ebp - 0xd]
mov edx, edi
push 1
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
je 0x1005d0f7
lea ecx, [ecx]
mov al, byte [ebp - 0xd]
cmp al, 0x50
je 0x1005d0fa
add dword [ebp - 0x28], 1
lea eax, [ebp - 0xd]
push 0
adc ebx, 0
mov edx, edi
push 1
push eax
mov dword [ebp - 0x3c], ebx
call fcn.1005c7c0
add esp, 0xc
test eax, eax
jne 0x1005d0d0
mov al, byte [ebp - 0xd]
push 0
mov byte [ebp - 0x94], al
mov edx, edi
lea eax, [ebp - 0x93]
push 3
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
je 0x1005d26c
movzx edx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl edx, 8
or edx, eax
movzx eax, byte [ebp - 0x93]
shl edx, 8
or edx, eax
movzx eax, byte [ebp - 0x94]
shl edx, 8
or edx, eax
xor eax, eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], eax
cmp edx, 0x4034b50
je 0x1005d26c
cmp edx, 0x6054b50
je 0x1005d26c
mov eax, dword [edi + 4]
mov dword [ebp - 0xe4], 0xffffffff
test eax, eax
je 0x1005d224
cmp eax, 0xffffffff
je 0x1005d224
mov ecx, dword [edi]
test ecx, ecx
je 0x1005d1fe
cmp dword [ecx + 0x28], 0
mov eax, 0xfffffffd
je 0x1005d1ee
cmp dword [ecx + 0x38], 0
je 0x1005d1ee
add eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x1c]
adc edx, 0xffffffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], edx
test edx, edx
jg 0x1005d1c6
jl 0x1005d1b6
test eax, eax
jae 0x1005d1c6
push 0x83
call dword [sym.imp.KERNEL32.dll_SetLastError]
or eax, 0xffffffff
jmp 0x1005d210
push 0
mov byte [ecx + 0x5c], 0
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x14]
jmp 0x1005d213
push 0x649
call dword [sym.imp.KERNEL32.dll_SetLastError]
or eax, 0xffffffff
jmp 0x1005d210
push 1
lea ecx, [ebp - 0xe4]
push ecx
push 0xfffffffffffffffd
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x14], eax
cmp eax, 0xffffffff
jne 0x1005d233
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1005d249
jmp 0x1005d233
push 6
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0xe4]
xor ecx, ecx
add ecx, dword [ebp - 0x14]
cdq
adc eax, 0
and ecx, eax
cmp ecx, 0xffffffff
jne 0x1005d25d
add dword [ebp - 0x28], 1
mov esi, 0xb
mov dword [ebp - 0x18], esi
adc ebx, 0
jmp 0x1005d0ad
add dword [ebp - 0x28], 1
mov dword [ebp - 0x18], esi
adc ebx, 0
jmp 0x1005d0ad
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov dword [ecx + 0x84b0], eax
movzx eax, byte [ebp - 0x92]
mov dword [ecx + 0x84b4], ebx
movzx ecx, byte [ebp - 0x91]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x93]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x94]
shl ecx, 8
or ecx, eax
cmp ecx, 0x4034b50
jne 0x1005d87b
mov ebx, dword [ebp - 0x44]
test esi, esi
jne 0x1005e0a5
push 0xc8
call fcn.1008680d
mov ebx, eax
add esp, 4
mov dword [ebp - 0x44], ebx
test ebx, ebx
je 0x1005d834
push 0xc8
push esi
push ebx
call fcn.1007cff0
add esp, 0xc
lea eax, [ebp - 0x94]
mov edx, edi
push esi
push 0x1a
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
jne 0x1005d31b
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x8488], 0
jne 0x1005d87b
mov esi, 0xb
jmp 0x1005d839
movzx ecx, byte [ebp - 0x93]
movzx eax, byte [ebp - 0x94]
shl cx, 8
or cx, ax
mov eax, 0x14
mov word [ebx + 2], cx
mov word [ebx], ax
movzx ecx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl cx, 8
or cx, ax
mov word [ebx + 0x3a], cx
mov word [ebx + 4], cx
movzx eax, cx
movzx ecx, byte [ebp - 0x8f]
shl cx, 8
mov dword [ebp - 0xbc], eax
movzx eax, byte [ebp - 0x90]
or cx, ax
mov word [ebx + 6], cx
movzx ecx, byte [ebp - 0x8b]
movzx eax, byte [ebp - 0x8c]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x8d]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x8e]
shl ecx, 8
or ecx, eax
mov dword [ebx + 8], ecx
movzx ecx, byte [ebp - 0x87]
movzx eax, byte [ebp - 0x88]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x89]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x8a]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc], ecx
movzx edx, byte [ebp - 0x83]
movzx eax, byte [ebp - 0x84]
shl edx, 8
or edx, eax
movzx eax, byte [ebp - 0x85]
shl edx, 8
or edx, eax
movzx eax, byte [ebp - 0x86]
shl edx, 8
or edx, eax
xor eax, eax
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], eax
movzx ecx, byte [ebp - 0x7f]
shl ecx, 8
mov dword [ebp - 0x24], eax
movzx eax, byte [ebp - 0x80]
or ecx, eax
mov dword [ebp - 0x20], edx
movzx eax, byte [ebp - 0x81]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x82]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x18], ecx
movzx ecx, byte [ebp - 0x7d]
movzx eax, byte [ebp - 0x7e]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x24], ecx
movzx eax, byte [ebp - 0x7c]
mov dword [ebp - 0x34], ecx
movzx ecx, byte [ebp - 0x7b]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x28], ecx
xor eax, eax
mov dword [ebx + 0x34], 0
mov word [ebx + 0x38], ax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x3c], eax
xor eax, eax
mov dword [ebx + 0x5c], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x8488], 1
jle 0x1005d49b
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x60]
mov dword [ecx], ebx
lea ecx, [ebx + 0xc4]
mov dword [ebp - 0x60], ecx
mov dword [ecx], 0
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x1005e07a
lea eax, [ecx + 1]
push eax
call fcn.1008680d
add esp, 4
mov dword [ebp - 0x40], eax
test eax, eax
je 0x1005d834
push 0
push dword [ebp - 0x34]
mov edx, edi
mov byte [eax], 0
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
je 0x1005d606
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
mov byte [eax + ecx], 0
mov ecx, 0x800
test word [ebx + 4], cx
je 0x1005d508
mov ecx, 0xfde9
jmp 0x1005d512
mov ecx, dword [ebp - 0x1c]
movzx ecx, word [ecx + 0x9c]
push 0
push 0
push dword [ebx + 0x24]
mov dword [ebp - 0x48], ecx
push eax
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebx + 0x20], eax
lea eax, [eax*2 + 2]
push eax
call fcn.1008680d
add esp, 4
mov dword [ebx + 0x58], eax
test eax, eax
je 0x1005d5ff
push dword [ebx + 0x20]
push eax
push dword [ebx + 0x24]
push dword [ebp - 0x40]
push 0
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, dword [ebx + 0x20]
xor edx, edx
cmp dword [ebp - 0x48], 0xfde9
mov eax, dword [ebx + 0x58]
mov word [eax + ecx*2], dx
je 0x1005d60e
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x14d68], edx
je 0x1005d60e
mov ecx, dword [ebx + 0x58]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x50], ecx
test ecx, ecx
je 0x1005d60e
test eax, eax
je 0x1005d60e
cmp eax, 0x7fffffff
ja 0x1005d5f0
mov dword [ebp - 0x14], edx
lea edx, [ebp - 0x14]
push edx
push 0
push 0
push 0
push eax
push ecx
push 0x400
push 1
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jle 0x1005d5f0
cmp dword [ebp - 0x14], 0
jne 0x1005d5f0
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push 0
push 0
push 0
push dword [ebp - 0x2c]
push dword [ebp - 0x50]
push 0x400
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jle 0x1005d5f0
cmp dword [ebp - 0x14], 0
je 0x1005d60e
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x14d68], 0
jmp 0x1005d60e
mov esi, 4
jmp 0x1005d60b
mov esi, 0xb
mov dword [ebp - 0x18], esi
push dword [ebp - 0x40]
call fcn.10086818
add esp, 4
test esi, esi
jne 0x1005d83c
xor eax, eax
mov dword [ebp - 0x58], esi
mov word [ebx + 0x70], ax
mov word [ebx + 0x7e], ax
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x48], esi
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x68], esi
test eax, eax
je 0x1005d717
push eax
call fcn.1008680d
add esp, 4
mov dword [ebx + 0x4c], eax
test eax, eax
je 0x1005d834
push esi
push dword [ebx + 0x28]
mov edx, edi
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
je 0x1005d311
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x8488], esi
je 0x1005d684
mov eax, dword [ebx + 0x4c]
mov dword [ebx + 0x50], eax
mov eax, dword [ebx + 0x28]
mov dword [ebx + 0x2c], eax
push ecx
mov ecx, dword [ebx + 0x4c]
lea eax, [ebp - 0x58]
push eax
push 0
push 0
lea eax, [ebx + 0x10]
push eax
lea eax, [ebx + 0x18]
push eax
lea edx, [ebx + 0x28]
call fcn.10060d30
add esp, 0x18
test eax, eax
je 0x1005d6d3
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x8488], 0
je 0x1005d6c1
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x50], 0
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0x60], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x24], eax
push ecx
mov ecx, dword [ebx + 0x4c]
lea eax, [ebx + 0x72]
push eax
lea eax, [ebp - 0x48]
push eax
lea edx, [ebx + 0x28]
call fcn.100610d0
add esp, 0xc
test eax, eax
je 0x1005d717
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x8488], 0
je 0x1005d708
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x50], 0
mov eax, dword [ebp - 0x48]
mov dword [ebx + 0x68], eax
mov eax, 1
mov word [ebx + 0x70], ax
mov ecx, dword [ebp - 0x20]
mov eax, ecx
mov edx, dword [ebp - 0x24]
or eax, edx
je 0x1005d807
mov eax, dword [edi + 4]
mov dword [ebp - 0xcc], edx
test eax, eax
je 0x1005d7db
cmp eax, 0xffffffff
je 0x1005d7db
mov edx, dword [edi]
test edx, edx
je 0x1005d7b6
cmp dword [edx + 0x28], 0
je 0x1005d7a6
cmp dword [edx + 0x38], 0
je 0x1005d7a6
mov eax, ecx
mov ecx, dword [ebp - 0x24]
add eax, dword [edx + 0x18]
mov dword [ebp - 0x14], eax
adc ecx, dword [edx + 0x1c]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
jg 0x1005d77e
jl 0x1005d76e
test eax, eax
jae 0x1005d77e
push 0x83
call dword [sym.imp.KERNEL32.dll_SetLastError]
or eax, 0xffffffff
jmp 0x1005d7c7
push 0
mov byte [edx + 0x5c], 0
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x14]
jmp 0x1005d7ca
push 0x649
call dword [sym.imp.KERNEL32.dll_SetLastError]
or eax, 0xffffffff
jmp 0x1005d7c7
push 1
lea edx, [ebp - 0xcc]
push edx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x14], eax
cmp eax, 0xffffffff
jne 0x1005d7ea
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1005d800
jmp 0x1005d7ea
push 6
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0xcc]
xor ecx, ecx
add ecx, dword [ebp - 0x14]
cdq
adc eax, 0
and ecx, eax
cmp ecx, 0xffffffff
jne 0x1005d807
mov esi, 2
jmp 0x1005d839
mov eax, dword [ebx + 0x58]
push eax
mov dword [ebp - 0x2c], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
mov dword [ebp - 0x50], eax
add eax, eax
push eax
call fcn.1008680d
add esp, 4
mov dword [ebp - 0x98], eax
test eax, eax
jne 0x1005d8de
mov dword [ebx + 0x48], eax
mov esi, 4
mov dword [ebp - 0x18], esi
movzx ecx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x93]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x94]
shl ecx, 8
or ecx, eax
cmp ecx, 0x4034b50
je 0x1005d2b8
test esi, esi
jne 0x1005e0a5
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x3c]
cmp dword [ecx + 0x8488], 0
mov ebx, dword [ecx + 0x94e0]
mov dword [ebp - 0x24], eax
je 0x1005e0a5
movzx ecx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x93]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x94]
shl ecx, 8
or ecx, eax
cmp ecx, 0x2014b50
je 0x1005e0a5
mov esi, 3
jmp 0x1005f799
push dword [ebp - 0x2c]
mov edx, dword [ebp - 0x50]
mov ecx, eax
call fcn.1005c3b0
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
add ecx, 0x1e
add ecx, dword [ebx + 0x28]
mov dword [ebx + 0x48], eax
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x40], eax
xor eax, eax
add ecx, dword [ebp - 0x48]
mov dword [ebx + 0x44], edx
adc eax, eax
add ecx, dword [ebp - 0x58]
adc eax, 0
add ecx, dword [ebp - 0x20]
adc eax, dword [ebp - 0x24]
add dword [ebp - 0x28], ecx
adc edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], edx
inc dword [eax + 0x94e4]
test byte [ebp - 0xbc], 8
je 0x1005de72
xor eax, eax
cmp eax, dword [ebp - 0x58]
sbb eax, eax
and eax, 8
add eax, 0x10
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
or eax, dword [ebp - 0x24]
jne 0x1005dc60
test esi, esi
jne 0x1005d83c
mov edi, edi
push 0
lea eax, [ebp - 0xd]
mov edx, edi
push 1
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
mov al, byte [ebp - 0xd]
je 0x1005d97d
cmp al, 0x50
jne 0x1005d960
mov ecx, dword [ebp - 0x14]
mov edx, edi
mov byte [ebp - 0x94], al
sub ecx, 1
mov eax, 0
sbb eax, eax
push eax
push ecx
lea eax, [ebp - 0x93]
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
je 0x1005dacc
movzx ecx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x93]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x94]
shl ecx, 8
or ecx, eax
cmp ecx, 0x8074b50
je 0x1005dacc
mov edx, dword [edi + 4]
mov esi, 1
sub esi, dword [ebp - 0x14]
mov ecx, 0
sbb ecx, ecx
mov dword [ebp - 0xd0], ecx
test edx, edx
je 0x1005da99
cmp edx, 0xffffffff
je 0x1005da99
mov eax, dword [edi]
test eax, eax
je 0x1005da75
cmp dword [eax + 0x28], 0
je 0x1005da65
cmp dword [eax + 0x38], 0
je 0x1005da65
add esi, dword [eax + 0x18]
adc ecx, dword [eax + 0x1c]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
jg 0x1005da40
jl 0x1005da30
test esi, esi
jae 0x1005da40
push 0x83
call dword [sym.imp.KERNEL32.dll_SetLastError]
or esi, 0xffffffff
jmp 0x1005da88
push 0
mov byte [eax + 0x5c], 0
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xd0], eax
jmp 0x1005da88
push 0x649
call dword [sym.imp.KERNEL32.dll_SetLastError]
or esi, 0xffffffff
jmp 0x1005da88
push 1
lea eax, [ebp - 0xd0]
push eax
push esi
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov esi, eax
cmp esi, 0xffffffff
jne 0x1005daa3
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1005dabf
jmp 0x1005daa3
push 6
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
mov eax, dword [ebp - 0xd0]
xor ecx, ecx
add ecx, esi
cdq
mov esi, dword [ebp - 0x18]
adc eax, 0
and ecx, eax
cmp ecx, 0xffffffff
jne 0x1005d956
mov esi, 2
mov dword [ebp - 0x18], esi
jmp 0x1005d956
movzx ecx, byte [ebp - 0x89]
movzx eax, byte [ebp - 0x8a]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x38], 0xffffffff
movzx eax, byte [ebp - 0x8b]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x48], 0xffffffff
movzx eax, byte [ebp - 0x8c]
shl ecx, 8
or ecx, eax
xor eax, eax
add dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], eax
adc dword [ebp - 0x3c], eax
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x20], ecx
test eax, eax
je 0x1005dbfa
cmp eax, 0xffffffff
je 0x1005dbfa
mov ecx, dword [edi]
test ecx, ecx
je 0x1005dba0
xor eax, eax
cmp dword [ecx + 0x28], eax
je 0x1005db90
cmp dword [ecx + 0x38], eax
je 0x1005db90
add eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x1c]
adc edx, 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], edx
test edx, edx
jg 0x1005db68
jl 0x1005db58
test eax, eax
jae 0x1005db68
push 0x83
call dword [sym.imp.KERNEL32.dll_SetLastError]
or eax, 0xffffffff
jmp 0x1005dbb2
push 0
mov byte [ecx + 0x5c], 0
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x34]
jmp 0x1005dbb5
push 0x649
call dword [sym.imp.KERNEL32.dll_SetLastError]
or eax, 0xffffffff
jmp 0x1005dbb2
push 1
lea ecx, [ebp - 0xd4]
push ecx
push 0
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x34], eax
cmp eax, 0xffffffff
jne 0x1005dbc4
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1005dbdb
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xd4]
cdq
xor edx, edx
add edx, ecx
mov dword [ebp - 0x38], edx
adc eax, 0
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x14]
xor eax, eax
add ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x3c]
adc eax, edx
cmp dword [ebp - 0x38], ecx
jne 0x1005dc06
cmp dword [ebp - 0x48], eax
jne 0x1005dc06
mov dword [ebp - 0x18], esi
jmp 0x1005dd96
push 6
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ecx, ecx
jmp 0x1005dbc7
mov ecx, 0x132
mov esi, dword [ebx + 0x58]
xor edx, edx
call fcn.1006e460
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 0x8498], 0
je 0x1005dc56
push esi
push eax
push 0x100add08
lea eax, [ebp - 0x2370]
push 0x1000
push eax
call fcn.10061500
add esp, 0x14
lea eax, [ebp - 0x2370]
xor edx, edx
push dword [ebp - 0x1c]
push eax
push ecx
push 0
lea ecx, [edx + 0xc]
call fcn.1006b430
add esp, 0x10
mov esi, 3
jmp 0x1005d839
mov eax, dword [edi + 4]
mov dword [ebp - 0xd8], edx
test eax, eax
je 0x1005dd0f
cmp eax, 0xffffffff
je 0x1005dd0f
mov ecx, dword [edi]
test ecx, ecx
je 0x1005dce4
cmp dword [ecx + 0x28], 0
je 0x1005dcd4
cmp dword [ecx + 0x38], 0
je 0x1005dcd4
test edx, edx
jg 0x1005dca9
jl 0x1005dc99
mov eax, dword [ebp - 0x28]
test eax, eax
jae 0x1005dcac
push 0x83
call dword [sym.imp.KERNEL32.dll_SetLastError]
or eax, 0xffffffff
jmp 0x1005dcf7
mov eax, dword [ebp - 0x28]
push 0
mov byte [ecx + 0x5c], 0
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x28]
jmp 0x1005dcf7
push 0x649
call dword [sym.imp.KERNEL32.dll_SetLastError]
or eax, 0xffffffff
jmp 0x1005dcf7
push 0
lea ecx, [ebp - 0xd8]
push ecx
push dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x34], eax
cmp eax, 0xffffffff
jne 0x1005dd1e
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1005d311
jmp 0x1005dd1e
push 6
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0xd8]
xor ecx, ecx
add ecx, dword [ebp - 0x34]
cdq
adc eax, 0
and ecx, eax
cmp ecx, 0xffffffff
je 0x1005d311
push 0
push dword [ebp - 0x14]
lea eax, [ebp - 0x94]
mov edx, edi
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
je 0x1005d311
movzx ecx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x93]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x94]
shl ecx, 8
or ecx, eax
cmp ecx, 0x8074b50
je 0x1005dd93
mov ecx, 0x134
jmp 0x1005dc0b
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x8488], 0
je 0x1005de13
movzx ecx, byte [ebp - 0x8d]
movzx eax, byte [ebp - 0x8e]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x8f]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x90]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x24]
mov dword [ebx + 0x14], eax
movzx ecx, byte [ebp - 0x85]
movzx eax, byte [ebp - 0x86]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x87]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x88]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x18], ecx
jmp 0x1005de44
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0x90]
mov eax, ebx
add edi, 0xfffffffc
mov ebx, ecx
sub eax, ebx
add eax, 0xa
mov dword [ebp - 0x2c], eax
mov ebx, eax
lea ecx, [ecx]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ebx + ecx - 1], al
sub edi, 1
jne 0x1005de30
mov ebx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
add dword [ebp - 0x28], eax
adc edx, 0
mov dword [ebp - 0x3c], edx
push 0
lea eax, [ebp - 0x94]
mov edx, edi
push 4
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
jne 0x1005d83c
jmp 0x1005d301
cmp dword [eax + 0x8488], 1
jle 0x1005de50
jmp 0x1005de80
test esi, esi
jne 0x1005e029
push esi
lea eax, [ebp - 0xd]
mov edx, edi
push 1
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
je 0x1005dec5
lea ecx, [ecx]
mov al, byte [ebp - 0xd]
cmp al, 0x50
je 0x1005dec8
add dword [ebp - 0x28], 1
lea eax, [ebp - 0xd]
push 0
adc dword [ebp - 0x3c], 0
mov edx, edi
push 1
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
jne 0x1005dea0
mov al, byte [ebp - 0xd]
push 0
mov byte [ebp - 0x94], al
mov edx, edi
lea eax, [ebp - 0x93]
push 3
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
je 0x1005e026
movzx ecx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x93]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x94]
shl ecx, 8
or ecx, eax
cmp ecx, 0x4034b50
je 0x1005e026
cmp ecx, 0x2014b50
je 0x1005e026
mov eax, dword [edi + 4]
mov dword [ebp - 0xdc], 0xffffffff
test eax, eax
je 0x1005dfea
cmp eax, 0xffffffff
je 0x1005dfea
mov ecx, dword [edi]
test ecx, ecx
je 0x1005dfc4
cmp dword [ecx + 0x28], 0
mov eax, 0xfffffffd
je 0x1005dfb4
cmp dword [ecx + 0x38], 0
je 0x1005dfb4
add eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x1c]
adc edx, 0xffffffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], edx
test edx, edx
jg 0x1005df8c
jl 0x1005df7c
test eax, eax
jae 0x1005df8c
push 0x83
call dword [sym.imp.KERNEL32.dll_SetLastError]
or eax, 0xffffffff
jmp 0x1005dfd6
push 0
mov byte [ecx + 0x5c], 0
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x14]
jmp 0x1005dfd9
push 0x649
call dword [sym.imp.KERNEL32.dll_SetLastError]
or eax, 0xffffffff
jmp 0x1005dfd6
push 1
lea ecx, [ebp - 0xdc]
push ecx
push 0xfffffffffffffffd
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x14], eax
cmp eax, 0xffffffff
jne 0x1005dff9
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1005e00f
jmp 0x1005dff9
push 6
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
add ecx, dword [ebp - 0x14]
cdq
adc eax, 0
and ecx, eax
cmp ecx, 0xffffffff
jne 0x1005e014
mov esi, 0xb
add dword [ebp - 0x28], 1
mov edx, dword [ebp - 0x3c]
adc edx, 0
mov dword [ebp - 0x3c], edx
jmp 0x1005de80
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebx + 0x68]
mov dword [ebp - 0x20], eax
mov eax, edx
mov edx, dword [ebp - 0x20]
sbb eax, 0
sub edx, dword [ebx + 0x60]
mov dword [ebp - 0x18], esi
sbb eax, 0
sub edx, dword [ebx + 0x28]
sbb eax, 0
sub edx, dword [ebx + 0x40]
sbb eax, dword [ebx + 0x44]
sub edx, dword [ebp - 0x34]
sbb eax, 0
sub edx, 0x1e
mov dword [ebp - 0x20], edx
sbb eax, 0
mov dword [ebp - 0x24], eax
cmp edx, dword [ebx + 0x10]
jne 0x1005e06f
cmp eax, dword [ebx + 0x14]
je 0x1005d83c
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], eax
jmp 0x1005d83c
lea esi, [eax + 0x647c]
mov eax, dword [eax + 0x94e4]
inc eax
push eax
push 0x100b4bec
push 0x800
push esi
call fcn.10061500
add esp, 0x10
mov ecx, 0x131
jmp 0x1005dc0e
movzx ecx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x93]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x94]
shl ecx, 8
or ecx, eax
cmp ecx, 0x2014b50
jne 0x1005f00c
lea esp, [esp]
test esi, esi
jne 0x1005f799
test ebx, ebx
je 0x1005ef66
push esi
lea eax, [ebp - 0x94]
mov edx, edi
push 0x2a
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
jne 0x1005e110
lea esi, [eax + 0xb]
jmp 0x1005efba
movzx ecx, byte [ebp - 0x93]
movzx eax, byte [ebp - 0x94]
shl cx, 8
or cx, ax
mov word [ebx], cx
movzx ecx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl cx, 8
or cx, ax
mov word [ebx + 2], cx
movzx ecx, byte [ebp - 0x8f]
movzx eax, byte [ebp - 0x90]
shl cx, 8
or cx, ax
mov word [ebx + 4], cx
movzx ecx, byte [ebp - 0x8f]
movzx eax, byte [ebp - 0x90]
shl cx, 8
or cx, ax
mov word [ebx + 0x3a], cx
movzx ecx, byte [ebp - 0x8d]
movzx eax, byte [ebp - 0x8e]
shl cx, 8
or cx, ax
mov word [ebx + 6], cx
movzx ecx, byte [ebp - 0x89]
movzx eax, byte [ebp - 0x8a]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x8b]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x8c]
shl ecx, 8
or ecx, eax
mov dword [ebx + 8], ecx
movzx ecx, byte [ebp - 0x85]
movzx eax, byte [ebp - 0x86]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x87]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x88]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc], ecx
movzx ecx, byte [ebp - 0x81]
movzx eax, byte [ebp - 0x82]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x83]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x84]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], ecx
movzx ecx, byte [ebp - 0x7d]
movzx eax, byte [ebp - 0x7e]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x7f]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x80]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x18], ecx
movzx edx, byte [ebp - 0x7b]
movzx eax, byte [ebp - 0x7c]
shl edx, 8
or edx, eax
mov dword [ebx + 0x24], edx
movzx ecx, byte [ebp - 0x79]
movzx eax, byte [ebp - 0x7a]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x2c], ecx
movzx ecx, byte [ebp - 0x77]
movzx eax, byte [ebp - 0x78]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x30], ecx
movzx ecx, byte [ebp - 0x75]
movzx eax, byte [ebp - 0x76]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x34], ecx
movzx ecx, byte [ebp - 0x73]
movzx eax, byte [ebp - 0x74]
shl cx, 8
or cx, ax
mov word [ebx + 0x38], cx
movzx ecx, byte [ebp - 0x6f]
movzx eax, byte [ebp - 0x70]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x71]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x72]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x3c], ecx
movzx ecx, byte [ebp - 0x6b]
movzx eax, byte [ebp - 0x6c]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x6d]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x6e]
shl ecx, 8
or ecx, eax
push edx
mov dword [ebp - 0x14], ecx
call fcn.1008680d
add esp, 4
mov dword [ebp - 0x30], eax
test eax, eax
je 0x1005ef5f
push 0
push dword [ebx + 0x24]
mov edx, edi
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
je 0x1005e420
mov eax, 0x800
test word [ebx + 4], ax
je 0x1005e31b
mov esi, 0xfde9
jmp 0x1005e325
mov eax, dword [ebp - 0x1c]
movzx esi, word [eax + 0x9c]
push 0
push 0
push dword [ebx + 0x24]
push dword [ebp - 0x30]
push 0
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebx + 0x20], eax
lea eax, [eax*2 + 2]
push eax
call fcn.1008680d
add esp, 4
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1005e419
push dword [ebx + 0x20]
push eax
push dword [ebx + 0x24]
push dword [ebp - 0x30]
push 0
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebx + 0x20]
xor ecx, ecx
mov esi, dword [ebp - 0x38]
mov word [esi + eax*2], cx
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x1005e3a3
mov eax, dword [ebx + 0x58]
movzx ecx, word [esi]
movzx eax, word [eax]
cmp cx, ax
je 0x1005e39e
cmp ecx, 0x2f
je 0x1005e394
cmp ecx, 0x5c
jne 0x1005e3b3
cmp eax, 0x2f
je 0x1005e39e
cmp eax, 0x5c
jne 0x1005e3b3
sub edx, 1
jne 0x1005e385
push dword [ebp - 0x38]
mov esi, dword [ebp - 0x18]
call fcn.10086818
add esp, 4
jmp 0x1005e425
sub ecx, eax
je 0x1005e3a3
mov esi, dword [ebx + 0x58]
xor edx, edx
mov ecx, 0x137
call fcn.1006e460
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 0x8498], 0
je 0x1005e407
push esi
push eax
push 0x100add08
lea eax, [ebp - 0x2370]
push 0x1000
push eax
call fcn.10061500
add esp, 0x14
lea eax, [ebp - 0x2370]
xor edx, edx
push dword [ebp - 0x1c]
push eax
push ecx
push 0
lea ecx, [edx + 0xc]
call fcn.1006b430
add esp, 0x10
push dword [ebp - 0x38]
mov esi, 3
call fcn.10086818
add esp, 4
jmp 0x1005e425
mov esi, 4
jmp 0x1005e425
mov esi, 0xb
push dword [ebp - 0x30]
mov dword [ebp - 0x44], esi
call fcn.10086818
mov eax, esi
mov dword [ebx + 0x64], 0
add esp, 4
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x90], 0
mov dword [ebp - 0x18], esi
test eax, eax
jne 0x1005efd5
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], esi
test ecx, ecx
je 0x1005edb2
xor eax, eax
push ecx
mov word [ebx + 0x7e], ax
call fcn.1008680d
add esp, 4
mov dword [ebx + 0x50], eax
test eax, eax
je 0x1005ee8b
push esi
push dword [ebx + 0x2c]
mov edx, edi
push eax
call fcn.1005c7c0
mov edx, dword [ebx + 0x50]
add esp, 0xc
mov dword [ebp - 0x50], edx
test eax, eax
je 0x1005ee78
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x2c], ecx
mov ecx, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], esi
test edx, edx
je 0x1005e946
mov eax, dword [ebx + 0x2c]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], esi
test eax, eax
je 0x1005e946
movzx eax, ax
mov dword [ebp - 0x18], ecx
mov esi, eax
mov dword [ebp - 0x54], esi
mov esi, ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp eax, 4
jbe 0x1005e946
mov ecx, dword [ebp - 0x14]
xor edx, edx
add eax, 0xfffffffc
mov dword [ebp - 0xb4], edx
movzx eax, ax
mov dword [ebp - 0xc0], eax
xor eax, eax
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xbc], edx
lea esp, [esp]
test eax, eax
jne 0x1005e5d8
cmp dx, word [ebp - 0xc0]
ja 0x1005e5d8
movzx ecx, dx
add ecx, dword [ebp - 0x50]
movzx eax, word [ecx + 2]
add eax, 4
cmp word [ecx], 1
jne 0x1005e5ae
movzx edx, ax
mov dword [ebp - 0x44], 1
mov eax, edx
mov dword [ebp - 0x40], edx
cmp edx, 0x20
ja 0x1005e5b5
push edx
push ecx
lea eax, [ebp - 0xb8]
push eax
call fcn.1007d410
mov edx, dword [ebp - 0xbc]
add esp, 0xc
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x98], 1
jmp 0x1005e550
add edx, eax
mov eax, dword [ebp - 0x44]
jmp 0x1005e546
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], eax
jmp 0x1005e949
cmp dword [ebp - 0x98], 0
je 0x1005e946
test eax, eax
je 0x1005e940
mov eax, dword [ebp - 0x40]
movzx eax, ax
mov dword [ebp - 0x2c], eax
lea eax, [ebx + 0x18]
test eax, eax
je 0x1005e60d
cmp dword [eax], 0xffffffff
jne 0x1005e60d
cmp dword [eax + 4], 0
mov eax, 1
je 0x1005e610
mov eax, dword [ebp - 0x38]
lea ecx, [ebx + 0x10]
test ecx, ecx
je 0x1005e625
cmp dword [ecx], 0xffffffff
jne 0x1005e625
cmp dword [ecx + 4], 0
jne 0x1005e625
or eax, 2
cmp dword [ebp - 0x34], 0xffffffff
jne 0x1005e62e
or eax, 4
lea ecx, [ebx + 0x34]
test ecx, ecx
je 0x1005e63d
cmp dword [ecx], 0xffffffff
jne 0x1005e63d
or eax, 8
dec eax
cmp eax, 0xe
ja case.default.0x1005e647
jmp dword [eax*4 + 0x1005f93c]
cmp word [ebp - 0x40], 8
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
jmp case.default.0x1005e647
cmp word [ebp - 0x40], 8
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], ecx
jmp case.default.0x1005e647
cmp word [ebp - 0x40], 0x10
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0xac]
mov dword [ebx + 0x1c], ecx
mov ecx, dword [ebp - 0xa8]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], ecx
jmp case.default.0x1005e647
cmp word [ebp - 0x40], 8
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x30], eax
jmp case.default.0x1005e647
cmp word [ebp - 0x40], 0x10
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebx + 0x1c], ecx
mov dword [ebp - 0x30], eax
jmp case.default.0x1005e647
cmp word [ebp - 0x40], 0x10
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebx + 0x14], ecx
mov dword [ebp - 0x30], eax
jmp case.default.0x1005e647
cmp word [ebp - 0x40], 0x18
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0xac]
mov dword [ebx + 0x1c], ecx
mov ecx, dword [ebp - 0xa8]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebx + 0x14], ecx
mov dword [ebp - 0x30], eax
jmp case.default.0x1005e647
cmp word [ebp - 0x40], 4
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov dword [ecx], eax
jmp case.default.0x1005e647
cmp word [ebp - 0x40], 0xc
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0xac]
mov dword [ebx + 0x1c], ecx
jmp 0x1005e900
cmp word [ebp - 0x40], 0xc
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xac]
jmp 0x1005e8fd
cmp word [ebp - 0x40], 0x14
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0xac]
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xa4]
jmp 0x1005e8f7
cmp word [ebp - 0x40], 0xc
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xac]
mov dword [ecx], eax
jmp case.default.0x1005e647
cmp word [ebp - 0x40], 0x14
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebx + 0x1c], ecx
jmp 0x1005e900
cmp word [ebp - 0x40], 0x14
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xa4]
jmp 0x1005e8fd
cmp word [ebp - 0x40], 0x1c
jb case.default.0x1005e647
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0xac]
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa8]
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x40]
movzx ecx, cx
movzx eax, ax
sub eax, ecx
movzx edx, dx
mov ecx, eax
mov dword [ebp - 0x54], eax
sub ecx, edx
test ecx, ecx
jle 0x1005e93d
mov eax, dword [ebp - 0x40]
movzx eax, ax
push ecx
mov ecx, dword [ebp - 0x50]
add eax, edx
add eax, ecx
push eax
lea eax, [edx + ecx]
push eax
call fcn.1007d410
mov eax, dword [ebp - 0x54]
add esp, 0xc
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x64], eax
mov ecx, dword [ebp - 0x20]
cmp dword [ebx + 0x50], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x14], 0
je 0x1005ea3f
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x1005ea3f
movzx eax, ax
mov edx, eax
mov dword [ebp - 0xc0], edx
cmp eax, 4
jbe 0x1005ea3f
add eax, 0xfffffffc
xor edx, edx
movzx eax, ax
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x1005e9f4
cmp dx, word [ebp - 0x54]
ja 0x1005e9f4
movzx eax, dx
add eax, dword [ebx + 0x50]
movzx edi, word [eax + 2]
mov dword [ebp - 0x2c], edi
mov edi, 0x9901
cmp word [eax], di
mov edi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
jne 0x1005e9d9
add eax, 4
mov dword [ebp - 0x38], 1
movzx eax, ax
mov dword [ebp - 0x60], eax
cmp ax, 0xb
ja 0x1005e9e3
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x50], 1
jmp 0x1005e990
add eax, 4
add edx, eax
mov eax, dword [ebp - 0x38]
jmp 0x1005e990
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], eax
jmp 0x1005ea3f
cmp dword [ebp - 0x50], 0
je 0x1005ea3f
test eax, eax
je 0x1005ea39
mov eax, dword [ebp - 0x60]
movzx ecx, ax
mov eax, dword [ebp - 0xc0]
movzx eax, ax
sub eax, ecx
mov dword [ebp - 0x14], ecx
movzx ecx, dx
mov edx, eax
sub edx, ecx
mov dword [ebp - 0x54], eax
test edx, edx
jle 0x1005ea36
add ecx, dword [ebx + 0x50]
mov eax, dword [ebp - 0x14]
push edx
add eax, ecx
push eax
push ecx
call fcn.1007d410
mov eax, dword [ebp - 0x54]
add esp, 0xc
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x50]
xor ecx, ecx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x14], ecx
test eax, eax
je 0x1005eb74
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x1005eb74
movzx eax, ax
mov ecx, eax
mov dword [ebp - 0x54], ecx
cmp eax, 4
jbe 0x1005eb74
add eax, 0xfffffffc
xor edx, edx
movzx ecx, ax
xor eax, eax
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x2c], edx
lea ebx, [ebx]
test eax, eax
jne 0x1005eb21
cmp dx, cx
ja 0x1005eb21
movzx ecx, dx
add ecx, dword [ebp - 0xbc]
movzx eax, word [ecx + 2]
add eax, 4
cmp word [ecx], 0x17
jne 0x1005eb00
movzx eax, ax
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x48], eax
cmp ax, 0x10
ja 0x1005eb0d
lea eax, [ebx + 0x80]
test eax, eax
je 0x1005eaee
mov eax, dword [ebp - 0x48]
movzx eax, ax
push eax
push ecx
lea eax, [ebx + 0x80]
push eax
call fcn.1007d410
mov edx, dword [ebp - 0x2c]
add esp, 0xc
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x98], 1
jmp 0x1005ea90
mov ecx, dword [ebp - 0x50]
add edx, eax
mov eax, dword [ebp - 0x38]
jmp 0x1005ea87
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], eax
jmp 0x1005eb74
cmp dword [ebp - 0x98], 0
je 0x1005eb74
test eax, eax
je 0x1005eb65
mov eax, dword [ebp - 0x48]
movzx ecx, ax
mov eax, dword [ebp - 0x54]
movzx esi, ax
sub esi, ecx
movzx edx, dx
mov eax, esi
mov dword [ebp - 0x14], ecx
sub eax, edx
test eax, eax
jle 0x1005eb62
mov ecx, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0x14]
add ecx, edx
add eax, ecx
push eax
push ecx
call fcn.1007d410
add esp, 0xc
mov dword [ebx + 0x2c], esi
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x6c], eax
mov eax, 1
mov word [ebx + 0x7e], ax
mov ecx, dword [ebx + 0x50]
xor eax, eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x14], eax
test ecx, ecx
je 0x1005ed3c
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x1005ed3c
movzx eax, ax
cmp eax, 4
jbe 0x1005ed3c
mov dword [ebp - 0x54], 0
add eax, 0xfffffffc
mov si, word [ebp - 0x54]
movzx edx, ax
mov word [ebp - 0x42], si
lea ebx, [ebx]
cmp dword [ebp - 0x38], 0
movzx edi, si
mov dword [ebp - 0x54], edi
lea esi, [edi + ecx]
je 0x1005ec1a
mov eax, 0x444f
cmp word [esi], ax
jne 0x1005ee37
mov ax, word [esi + 2]
lea ecx, [esi + 2]
add ax, 4
movzx eax, ax
mov dword [ebp - 0x54], eax
cmp eax, 0xc
jae 0x1005ecbe
mov ax, word [ecx]
mov si, word [ebp - 0x42]
add ax, 4
mov ecx, dword [ebp - 0x14]
add si, ax
mov word [ebp - 0x42], si
cmp si, dx
ja 0x1005ed2c
mov ecx, dword [ebp - 0x2c]
jmp 0x1005ebc0
cmp word [esi], 0xa
lea ecx, [esi + 2]
jne 0x1005ebf7
mov ax, word [ecx]
add ax, 4
movzx eax, ax
mov dword [ebp - 0x50], eax
cmp eax, 0x24
jb 0x1005ebf7
mov ecx, 9
mov dword [ebp - 0xf8], 0
lea edi, [ebp - 0x11c]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0
add edx, 4
rep movsd dword es:[edi], dword [esi]
mov si, word [ebp - 0x42]
movzx ecx, ax
movzx eax, dx
sub eax, dword [ebp - 0x54]
sub eax, ecx
mov dword [ebp - 0x38], 1
mov dword [ebp - 0xc0], edx
test eax, eax
jle 0x1005eca2
push eax
movzx eax, si
add eax, dword [ebp - 0x2c]
add eax, ecx
push eax
movzx eax, si
add eax, dword [ebp - 0x2c]
push eax
call fcn.1007d410
mov edx, dword [ebp - 0xc0]
add esp, 0xc
sub edx, dword [ebp - 0x50]
mov ecx, 0x24
movzx eax, dx
mov dword [ebx + 0x2c], eax
mov dword [ebp - 0x14], ecx
lea eax, [edx - 4]
movzx edx, ax
jmp 0x1005ec0c
mov eax, dword [esi]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xf8], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0xf4], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0xf0], eax
lea eax, [ebp - 0xf4]
cmp dword [eax], 0x5355504f
jne 0x1005ee3a
mov eax, dword [ebp - 0x54]
add ecx, 0xc
movzx eax, ax
mov dword [ebp - 0x54], eax
lea eax, [edx + 4]
mov edx, dword [ebp - 0x54]
movzx eax, ax
sub eax, edx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x54], eax
sub eax, edi
test eax, eax
jle 0x1005ed21
push eax
lea eax, [esi + edx]
push eax
push esi
call fcn.1007d410
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov dword [ebx + 0x2c], eax
jmp 0x1005ee3a
cmp dword [ebp - 0x38], 0
mov dword [ebp - 0x14], ecx
jne 0x1005ee3a
mov edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x18]
mov eax, dword [ebx + 0x28]
cmp eax, dword [ebx + 0x2c]
jne 0x1005edb2
mov ecx, dword [ebx + 0x4c]
sub eax, 4
mov edx, dword [ebx + 0x50]
mov dword [ebp - 0x14], eax
jb 0x1005ed6c
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1005ed71
mov eax, dword [ebp - 0x14]
add ecx, 4
add edx, 4
sub eax, 4
mov dword [ebp - 0x14], eax
jae 0x1005ed55
cmp eax, 0xfffffffc
je 0x1005eda1
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1005edb2
cmp dword [ebp - 0x14], 0xfffffffd
je 0x1005eda1
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1005edb2
cmp dword [ebp - 0x14], 0xfffffffe
je 0x1005eda1
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1005edb2
cmp dword [ebp - 0x14], 0xffffffff
je 0x1005eda1
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1005edb2
push dword [ebx + 0x50]
call fcn.10086818
mov eax, dword [ebx + 0x4c]
add esp, 4
mov dword [ebx + 0x50], eax
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x1005ef15
push eax
call fcn.1008680d
add esp, 4
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x1005ee8b
push 0
push dword [ebx + 0x30]
mov edx, edi
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
je 0x1005eef3
mov eax, dword [ebp - 0x34]
cmp dword [ebx + 0x40], eax
jne 0x1005ee9c
mov eax, dword [ebp - 0x30]
cmp dword [ebx + 0x44], eax
jne 0x1005ee9c
mov eax, dword [ebx + 0x30]
add eax, eax
push eax
call fcn.1008680d
add esp, 4
mov dword [ebx + 0x54], eax
test eax, eax
je 0x1005ee95
push dword [ebx + 0x30]
push eax
mov eax, dword [ebp - 0x1c]
push 0xffffffffffffffff
push dword [ebp - 0x2c]
movzx eax, word [eax + 0x9c]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
jmp 0x1005ef02
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
lea eax, [ebx + 0x94]
mov dword [ebp - 0x18], esi
test eax, eax
je 0x1005ee67
push ecx
lea ecx, [ebp - 0x11c]
push ecx
push eax
call fcn.1007d410
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x4c]
mov dword [ebx + 0x90], eax
jmp 0x1005ed3f
push edx
call fcn.10086818
add esp, 4
mov esi, 0xb
jmp 0x1005efd2
mov esi, 4
jmp 0x1005efd2
mov esi, 4
jmp 0x1005eef8
mov esi, dword [ebx + 0x58]
xor edx, edx
mov ecx, 0x136
call fcn.1006e460
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 0x8498], 0
je 0x1005eeec
push esi
push eax
push 0x100add08
lea eax, [ebp - 0x2370]
push 0x1000
push eax
call fcn.10061500
add esp, 0x14
lea eax, [ebp - 0x2370]
xor edx, edx
push dword [ebp - 0x1c]
push eax
push ecx
push 0
lea ecx, [edx + 0xc]
call fcn.1006b430
add esp, 0x10
mov esi, 3
jmp 0x1005eeff
mov esi, 0xb
mov dword [ebx + 0x30], 0
mov dword [ebp - 0x18], esi
push dword [ebp - 0x2c]
call fcn.10086818
add esp, 4
test esi, esi
jne 0x1005efd5
mov ecx, dword [ebx + 0x90]
xor eax, eax
add ecx, 0x2e
mov dword [ebx + 0x5c], eax
add ecx, dword [ebx + 0x6c]
mov edx, edi
add ecx, dword [ebx + 0x64]
add ecx, dword [ebx + 0x30]
add ecx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x24]
mov ebx, dword [ebx + 0xc4]
add eax, ecx
add dword [ebp - 0x28], eax
lea eax, [ebp - 0x94]
push 0
adc dword [ebp - 0x3c], 0
push 4
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
jne 0x1005efd5
lea esi, [eax + 0xb]
jmp 0x1005efd2
mov esi, 4
jmp 0x1005efba
xor edx, edx
mov ecx, 0x135
call fcn.1006e460
mov esi, dword [ebp - 0x1c]
cmp dword [esi + 0x8498], 0
je 0x1005efb5
push 0x100ab578
push eax
push 0x100add08
lea eax, [ebp - 0x2370]
push 0x1000
push eax
call fcn.10061500
add esp, 0x14
lea eax, [ebp - 0x2370]
xor edx, edx
push esi
push eax
push ecx
push 0
lea ecx, [edx + 0xc]
call fcn.1006b430
add esp, 0x10
mov esi, 3
mov dword [ebx + 0x64], 0
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x90], 0
mov dword [ebp - 0x18], esi
movzx ecx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x93]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x94]
shl ecx, 8
or ecx, eax
cmp ecx, 0x2014b50
je 0x1005e0e0
test esi, esi
jne 0x1005f799
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 0x8488], esi
jg 0x1005f5a1
test ebx, ebx
jne 0x1005f3db
movzx ecx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x93]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x94]
shl ecx, 8
or ecx, eax
cmp ecx, 0x6054b50
je 0x1005f401
cmp ecx, 0x6064b50
jne 0x1005f3db
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
test esi, esi
jne 0x1005f79f
mov esi, dword [ebp - 0x20]
nop
mov eax, dword [ebp - 0x24]
mov edx, edi
push 0
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0xd]
push 1
push eax
mov dword [ebp - 0x38], esi
call fcn.1005c7c0
add esp, 0xc
test eax, eax
mov al, byte [ebp - 0xd]
je 0x1005f0a6
cmp al, 0x50
jne 0x1005f080
push 0
mov byte [ebp - 0x94], al
mov edx, edi
lea eax, [ebp - 0x93]
push 3
push eax
call fcn.1005c7c0
mov esi, dword [ebp - 0x18]
add esp, 0xc
test eax, eax
je 0x1005f202
movzx ecx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x93]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x94]
shl ecx, 8
or ecx, eax
cmp ecx, 0x7064b50
je 0x1005f210
mov eax, dword [edi + 4]
mov dword [ebp - 0xe8], 0xffffffff
test eax, eax
je 0x1005f1dd
cmp eax, 0xffffffff
je 0x1005f1dd
mov ecx, dword [edi]
test ecx, ecx
je 0x1005f1b7
or edx, 0xffffffff
mov eax, 0xfffffffd
cmp dword [ecx + 0x28], 0
mov dword [ebp - 0x60], edx
je 0x1005f19f
cmp dword [ecx + 0x38], 0
je 0x1005f19f
mov edx, dword [ebp - 0x38]
add eax, dword [ecx + 0x18]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x60]
adc edx, dword [ecx + 0x1c]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x60], edx
test edx, edx
jg 0x1005f17f
jl 0x1005f167
test eax, eax
jae 0x1005f17f
push 0x83
call ebx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
or eax, 0xffffffff
mov dword [ebp - 0x24], ecx
jmp 0x1005f1c9
push 0
mov byte [ecx + 0x5c], 0
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
call ebx
push 0
call ebx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xe8], edx
jmp 0x1005f1cc
push 0x649
call ebx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
or eax, 0xffffffff
jmp 0x1005f1c9
push 1
lea ecx, [ebp - 0xe8]
push ecx
push 0xfffffffffffffffd
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x4c], eax
cmp eax, 0xffffffff
jne 0x1005f1e8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1005f202
jmp 0x1005f1e8
push 6
call ebx
mov dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0xe8]
xor ecx, ecx
add ecx, dword [ebp - 0x4c]
cdq
adc eax, 0
and ecx, eax
cmp ecx, 0xffffffff
jne 0x1005f074
mov esi, 2
mov dword [ebp - 0x18], esi
jmp 0x1005f074
test esi, esi
jne 0x1005f79f
push 0
lea eax, [ebp - 0xd]
mov edx, edi
push 1
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
mov al, byte [ebp - 0xd]
je 0x1005f235
cmp al, 0x50
jne 0x1005f218
mov ecx, dword [ebp - 0x24]
mov edx, edi
mov ebx, dword [ebp - 0x20]
push 0
mov byte [ebp - 0x94], al
lea eax, [ebp - 0x93]
push 3
push eax
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x38], ecx
call fcn.1005c7c0
add esp, 0xc
test eax, eax
je 0x1005f3a1
movzx ecx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x93]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x94]
shl ecx, 8
or ecx, eax
cmp ecx, 0x6054b50
je 0x1005f3b4
mov eax, dword [edi + 4]
mov dword [ebp - 0xc8], 0xffffffff
test eax, eax
je 0x1005f369
cmp eax, 0xffffffff
je 0x1005f369
mov ecx, dword [edi]
test ecx, ecx
je 0x1005f33d
or edx, 0xffffffff
mov eax, 0xfffffffd
cmp dword [ecx + 0x28], 0
je 0x1005f31f
cmp dword [ecx + 0x38], 0
je 0x1005f31f
add eax, dword [ecx + 0x18]
mov dword [ebp - 0x20], ebx
adc edx, dword [ecx + 0x1c]
mov ebx, dword [ebp - 0x38]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x54], edx
test edx, edx
jg 0x1005f2f9
jl 0x1005f2f2
test eax, eax
jae 0x1005f2f9
push 0x83
jmp 0x1005f324
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
mov byte [ecx + 0x5c], 0
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
call ebx
push 0
call ebx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x4c]
jmp 0x1005f358
push 0x649
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
call ebx
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
or eax, 0xffffffff
jmp 0x1005f355
push 1
lea ecx, [ebp - 0xc8]
push ecx
push 0xfffffffffffffffd
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [ebp - 0x4c], eax
cmp eax, 0xffffffff
jne 0x1005f37a
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1005f394
jmp 0x1005f37a
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
push 6
call ebx
mov dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
add ecx, dword [ebp - 0x4c]
cdq
adc eax, 0
and ecx, eax
cmp ecx, 0xffffffff
jne 0x1005f210
mov esi, 2
mov dword [ebp - 0x18], esi
jmp 0x1005f210
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, 2
mov dword [ebp - 0x18], esi
jmp 0x1005f210
push 0
lea eax, [ebp - 0x94]
mov edx, edi
push 0x12
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
jne 0x1005f5a4
mov esi, 0xb
jmp 0x1005f799
push edx
xor edx, edx
mov ecx, 0x142
call fcn.1006e460
mov edx, 0x100ab578
mov ecx, eax
call fcn.10065c30
add esp, 4
mov esi, 3
jmp 0x1005f799
push 0
lea eax, [ebp - 0x94]
mov edx, edi
push 0x12
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
je 0x1005f3d1
movzx ecx, byte [ebp - 0x93]
movzx eax, byte [ebp - 0x94]
shl ecx, 8
or ecx, eax
jne 0x1005f472
movzx ecx, byte [ebp - 0x91]
movzx eax, byte [ebp - 0x92]
shl ecx, 8
or ecx, eax
jne 0x1005f472
movzx edx, byte [ebp - 0x8d]
movzx eax, byte [ebp - 0x8e]
mov bl, byte [ebp - 0x8f]
mov bh, byte [ebp - 0x90]
shl edx, 8
or edx, eax
movzx ecx, bl
shl ecx, 8
movzx eax, bh
or ecx, eax
cmp ecx, edx
je 0x1005f49c
push dword [ebp - 0x1c]
xor edx, edx
mov ecx, 0x143
call fcn.1006e460
mov edx, 0x100ab578
mov ecx, eax
call fcn.10065c30
mov bl, byte [ebp - 0x8f]
add esp, 4
mov bh, byte [ebp - 0x90]
movzx ecx, bl
shl ecx, 8
movzx eax, bh
or ecx, eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x94e4], ecx
jne 0x1005f57b
movzx ecx, byte [ebp - 0x89]
movzx eax, byte [ebp - 0x8a]
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x20]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x54], 0
movzx eax, byte [ebp - 0x8b]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x8c]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x3c]
sub edx, ebx
sbb eax, dword [ebp - 0x24]
cmp ecx, edx
jne 0x1005f4ff
cmp dword [ebp - 0x54], eax
je 0x1005f51d
push dword [ebp - 0x1c]
xor edx, edx
mov ecx, 0x145
call fcn.1006e460
mov edx, 0x100ab578
mov ecx, eax
call fcn.10065c30
add esp, 4
movzx ecx, byte [ebp - 0x85]
movzx eax, byte [ebp - 0x86]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x87]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x88]
shl ecx, 8
or ecx, eax
xor eax, eax
cmp ecx, ebx
jne 0x1005f553
cmp eax, dword [ebp - 0x24]
je 0x1005f5a4
push dword [ebp - 0x1c]
xor edx, edx
mov ecx, 0x146
call fcn.1006e460
mov edx, 0x100ab578
mov ecx, eax
call fcn.10065c30
add esp, 4
mov esi, 3
jmp 0x1005f799
push eax
xor edx, edx
mov ecx, 0x144
call fcn.1006e460
mov edx, 0x100ab578
mov ecx, eax
call fcn.10065c30
add esp, 4
mov esi, 3
jmp 0x1005f799
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x54], esi
mov esi, dword [ebp - 0x1c]
cmp dword [esi + 0x8488], 0
mov dword [esi + 0x84b8], ebx
mov ebx, dword [ebp - 0x24]
mov dword [esi + 0x84bc], ebx
je 0x1005f6cf
mov dword [esi + 0x94f0], 0
mov edx, dword [esi + 0x84b0]
mov eax, edx
mov ecx, dword [esi + 0x84b4]
or eax, ecx
je 0x1005f61b
push ecx
push edx
xor edx, edx
mov ecx, 0x147
add esi, 0x647c
call fcn.1006e460
push eax
push 0x800
push esi
call fcn.10061500
mov edx, esi
add esp, 0x14
mov esi, dword [ebp - 0x1c]
push dword [ebp - 0x1c]
mov ecx, dword [esi + 0x84a8]
call fcn.10065c30
add esp, 4
cmp dword [esi + 0x8488], 0
jne 0x1005f656
push 0
lea eax, [ebp - 0xd]
mov edx, edi
push 1
push eax
call fcn.1005c7c0
add esp, 0xc
test eax, eax
je 0x1005f656
push esi
xor edx, edx
mov ecx, 0x148
call fcn.1006e460
mov edx, 0x100ab578
mov ecx, eax
call fcn.10065c30
add esp, 4
mov eax, dword [esi + 0x94e4]
test eax, eax
je 0x1005f796
cmp dword [esi + 0x1128], 0
jne 0x1005f78c
shl eax, 2
push eax
call fcn.1008680d
add esp, 4
mov dword [esi + 0x94f8], eax
mov esi, 4
test eax, eax
je 0x1005f68f
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx + 0x94e0]
test ecx, ecx
je 0x1005f6af
lea esp, [esp]
mov dword [eax], ecx
lea eax, [eax + 4]
mov ecx, dword [ecx + 0xc4]
test ecx, ecx
jne 0x1005f6a0
push 0x1005c420
push 4
push dword [edx + 0x94e4]
push dword [edx + 0x94f8]
call fcn.1008a4c0
add esp, 0x10
jmp 0x1005f799
movzx ecx, byte [ebp - 0x83]
movzx eax, byte [ebp - 0x84]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94f0], ecx
jbe 0x1005f5d0
push ecx
call fcn.1008680d
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x1005f705
lea esi, [eax + 4]
jmp 0x1005f799
push 0
push dword [esi + 0x94f0]
mov edx, edi
push ebx
call fcn.1005c7c0
add esp, 0xc
test eax, eax
jne 0x1005f72a
push ebx
lea esi, [eax + 0xb]
call fcn.10086818
add esp, 4
jmp 0x1005f799
mov eax, dword [esi + 0x94f0]
add eax, eax
push eax
call fcn.1008680d
add esp, 4
mov dword [esi + 0x94f4], eax
test eax, eax
je 0x1005f77c
mov ecx, dword [esi + 0x94f0]
push ecx
push eax
movzx eax, word [esi + 0x9c]
push ecx
push ebx
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push ebx
call fcn.10086818
mov eax, dword [ebp - 0x54]
add esp, 4
mov esi, eax
test eax, eax
jne 0x1005f799
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
jmp 0x1005f5d0
push ebx
mov esi, 4
call fcn.10086818
add esp, 4
jmp 0x1005f799
mov dword [esi + 0x94f8], 0
mov esi, dword [ebp - 0x18]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [edi + 4]
test eax, eax
je 0x1005f86a
cmp eax, 0xffffffff
je 0x1005f86a
mov ecx, dword [edi]
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x50], 0
test ecx, ecx
je 0x1005f7d9
push eax
call fcn.10037b00
mov dword [ebp - 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x50], eax
push dword [edi + 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xc0], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x98], eax
mov eax, dword [edi]
mov dword [ebp - 0x54], eax
test eax, eax
je 0x1005f819
add dword [eax], 0xffffffff
jne 0x1005f819
mov ecx, eax
call fcn.100370a0
push 0xc0
push dword [ebp - 0x54]
call fcn.10079cf9
add esp, 8
push 8
push edi
call fcn.10079cf9
add esp, 8
cmp dword [ebp - 0x2c], 0
jne 0x1005f842
push dword [ebp - 0x50]
call ebx
mov eax, 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 [ebp - 0xc0], 0
jne 0x1005f929
push dword [ebp - 0x98]
call ebx
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 6
call ebx
mov eax, 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 [edi + 0x94e4], 0
je 0x1005f929
mov eax, dword [edi + 0x94e0]
test eax, eax
je 0x1005f8b0
jmp 0x1005f8a0
xor ecx, ecx
mov word [eax + 0x5c], cx
mov eax, dword [eax + 0xc4]
test eax, eax
jne 0x1005f8a0
cmp dword [edi + 0x1128], 0
jne 0x1005f91f
mov eax, dword [edi + 0x94e4]
shl eax, 2
push eax
call fcn.1008680d
add esp, 4
mov dword [edi + 0x94f8], eax
test eax, eax
jne 0x1005f8d8
lea esi, [eax + 4]
mov ecx, dword [edi + 0x94e0]
test ecx, ecx
je 0x1005f8f1
mov dword [eax], ecx
lea eax, [eax + 4]
mov ecx, dword [ecx + 0xc4]
test ecx, ecx
jne 0x1005f8e2
push 0x1005c420
push 4
push dword [edi + 0x94e4]
push dword [edi + 0x94f8]
call fcn.1008a4c0
add esp, 0x10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x94f8], 0
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret