Function at 0x1007dd73
Capabilities:
Accept command line arguments
Create directory
Parse pe header

Disassembly:
push 0x974
mov eax, 0x100b396e
call fcn.100a572a
mov dword [ebp - 0x214], ecx
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x32c]
and dword [ebp - 0x270], 0
and dword [ebp - 0x200], 0
push ebx
mov dword [ebp - 0x208], ebx
mov dword [ebp - 0x228], ebx
call fcn.100813fc
and dword [ebp - 4], 0
lea ecx, [ebp - 0x32c]
call fcn.100813a0
push ecx
mov ecx, esp
mov edi, 0x100093a4
push edi
call fcn.1006f4e2
lea ecx, [ebp - 0x224]
call fcn.1007b6d8
mov byte [ebp - 4], 1
mov edx, ebx
mov ecx, dword [eax]
call fcn.10063add
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
call fcn.1008ebf5
push ecx
mov ecx, esp
push edi
call fcn.1006f4e2
lea ecx, [ebp - 0x220]
call fcn.1007b6d8
push ecx
mov byte [ebp - 4], 2
mov esi, esp
mov dword [ebp - 0x1f8], esi
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.1008eb5d
add eax, 0x10
lea ecx, [ebp - 0x230]
mov edx, ebx
mov dword [esi], eax
call fcn.10035b08
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x224]
push dword [ebp - 0x230]
call fcn.1006f4e2
mov edx, ebx
mov byte [ebp - 4], 4
mov ecx, eax
call fcn.10063c86
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov edx, ebx
lea ecx, [ebp - 0x230]
call fcn.10063e3a
push dword [ebp - 0x230]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
push ebx
call fcn.10081043
push ebx
lea ecx, [ebp - 0x404]
call fcn.10041169
lea ecx, [ebp - 0x404]
mov byte [ebp - 4], 5
call fcn.10041700
test al, al
jne 0x1007df31
push 0x1001cb80
lea ecx, [ebp - 0x220]
call fcn.1006f4e2
push edi
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 6
call fcn.1006f4e2
push eax
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x264]
call fcn.10033056
lea ecx, [ebp - 0x228]
call fcn.1002e190
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0xa
call fcn.1002e190
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x410]
call fcn.100352a0
push 0x100c575c
lea eax, [ebp - 0x410]
push eax
call fcn.10091a7b
lea ecx, [ebp - 0x404]
call fcn.10041521
call dword [sym.imp.kernel32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x28c]
call fcn.1002e7ee
mov byte [ebp - 4], 0xb
call fcn.1007b0b6
cmp byte [ebp - 0x3e0], 0
mov esi, eax
mov dword [ebp - 0x224], esi
lea eax, [ebp - 0x3d8]
push ebx
jne 0x1007df75
lea eax, [ebp - 0x400]
push eax
push ecx
mov ecx, esp
push edi
call fcn.1006f4e2
lea ecx, [ebp - 0x1fc]
call fcn.1007b6d8
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x584]
mov edx, dword [eax]
call fcn.10091a7b
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x1fc]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
push 0x1001cc28
lea ecx, [ebp - 0x230]
call fcn.1006f4e2
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x3d8]
cmp byte [ebp - 0x3e0], 0
jne 0x1007dfd6
lea eax, [ebp - 0x400]
mov dword [ebp - 0x220], eax
lea ecx, [ebp - 0x230]
mov eax, dword [eax]
push ecx
lea ecx, [ebp - 0x21c]
push ecx
mov edi, dword [eax]
mov ecx, edi
call dword [0x100d0614]
mov ecx, dword [ebp - 0x220]
call edi
mov byte [ebp - 4], 0x10
mov ecx, dword [0x100cfe78]
push eax
lea ecx, [ecx + 0xbf4]
call fcn.10091a7b
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x230]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov eax, dword [ebp - 0x3dc]
mov edi, 0x100213dc
and dword [ebp - 0x298], 0
mov dword [ebp - 0x2a4], edi
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], 0x10019934
mov dword [ebp - 0x294], esi
mov byte [ebp - 4], 0x11
cmp esi, 1
jne 0x1007e086
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x584]
call fcn.1004fe50
test al, al
je 0x1007e086
push 3
pop esi
mov dword [ebp - 0x224], esi
mov eax, dword [ebp - 0x3dc]
and dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2e0], edi
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2d8], 0x10019934
mov dword [ebp - 0x2d0], esi
lea eax, [ebp - 0x384]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x528]
mov dword [ebp - 0x388], 0x1001b168
call fcn.10091a7b
lea eax, [ebp - 0x380]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x528]
call fcn.10091a7b
mov eax, dword [ebp - 0x478]
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0x378], eax
mov al, byte [ebp - 0x46f]
mov byte [ebp - 0x374], al
push 0
push 0x100070b8
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 0x14
call fcn.1002e39c
push 0
push 0x10007088
lea ecx, [ebp - 0x288]
mov byte [ebp - 0x1fc], al
call fcn.1002e39c
mov byte [ebp - 0x21c], al
call dword [sym.imp.kernel32.dll_GetThreadLocale]
push dword [ebp - 0x1fc]
movzx edi, ax
lea ecx, [ebp - 0x28c]
mov eax, dword [ebp - 0x214]
push dword [ebp - 0x21c]
add eax, 4
mov dword [ebp - 0x230], eax
call fcn.1002eb94
mov ecx, dword [ebp - 0x230]
movzx eax, al
push eax
push esi
push edi
lea eax, [ebp - 0x388]
push eax
push ebx
call fcn.10066488
mov edi, dword [ebp - 0x214]
mov edx, ebx
mov ecx, esi
mov eax, dword [edi + 0x40]
mov dword [ebp - 0x30c], eax
call fcn.10066c99
mov edx, ebx
lea ecx, [ebp - 0x528]
call fcn.10066b84
mov ecx, dword [ebp - 0x47c]
mov edx, ebx
call fcn.10066d49
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x28c]
call fcn.1002ed8c
lea edx, [ebp - 0x24c]
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x268]
call fcn.1003092b
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x24c]
cmp dword [eax - 0xc], 0
je 0x1007e1fe
mov eax, dword [ebp - 0x268]
cmp dword [eax - 0xc], 0
jne 0x1007e37a
mov eax, dword [ebx]
lea ecx, [ebp - 0x218]
push ecx
mov edi, dword [eax + 0x10]
mov ecx, edi
call dword [0x100d0614]
mov ecx, ebx
call edi
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 0x17
call fcn.1006e86f
mov eax, dword [ebp - 0x268]
cmp dword [eax - 0xc], 0
jne 0x1007e257
mov ecx, dword [ebp - 0x24c]
lea ecx, [ecx - 0x10]
call fcn.1008eb5d
add eax, 0x10
mov dword [ebp - 0x21c], eax
xor eax, eax
mov byte [ebp - 4], 0x18
lea edi, [ebp - 0x21c]
inc eax
jmp 0x1007e273
push 0x10017200
lea ecx, [ebp - 0x240]
call fcn.1006f4e2
mov edi, eax
push 2
mov dword [ebp - 4], 0x19
pop eax
mov dword [ebp - 0x270], eax
lea ecx, [ebp - 0x528]
mov dword [ebp - 0x20c], eax
lea eax, [ebp - 0x210]
push eax
call fcn.10091a7b
push edi
mov edx, eax
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x1fc]
call fcn.100661dc
mov ecx, dword [ebp - 0x210]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov eax, dword [ebp - 0x20c]
test al, 2
je 0x1007e2db
mov ecx, dword [ebp - 0x240]
and eax, 0xfffffffd
mov dword [ebp - 0x20c], eax
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov eax, dword [ebp - 0x20c]
mov byte [ebp - 4], 0x1e
test al, 1
je 0x1007e2f1
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
call fcn.1008e9f3
push eax
lea ecx, [ebp - 0x220]
call fcn.10091a7b
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x220]
push dword [ebp - 0x1fc]
push dword [ebp - 0x218]
call fcn.10091a7b
mov eax, dword [ebx]
lea ecx, [ebp - 0x220]
push ecx
mov edi, dword [eax + 0x14]
mov ecx, edi
call dword [0x100d0614]
mov ecx, ebx
call edi
cmp al, 1
jne 0x1007e346
mov edx, ebx
lea ecx, [ebp - 0x218]
call fcn.1006665c
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x1fc]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov edi, dword [ebp - 0x214]
cmp esi, 1
je 0x1007e384
cmp esi, 4
jne 0x1007e3df
mov edx, ebx
lea ecx, [ebp - 0x508]
call fcn.10091a7b
test al, al
je 0x1007fc05
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x528]
call fcn.10091a7b
mov edx, ebx
mov byte [ebp - 4], 0x20
mov ecx, eax
call fcn.10091a7b
mov bl, al
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x240]
neg bl
sbb bl, bl
add ecx, 0xfffffff0
call fcn.1008ebf5
add bl, 1
mov ebx, dword [ebp - 0x208]
jne 0x1007fc05
xor eax, eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x250], eax
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 0x22
push eax
push ebx
lea eax, [ebp - 0x490]
push eax
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0x201]
call fcn.10065b33
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x528]
call fcn.10091a7b
mov edi, eax
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 0x23
call fcn.1002ec1d
test al, al
jne 0x1007e45a
lea ecx, [ebp - 0x28c]
call fcn.1002ec5e
test al, al
jne 0x1007e45a
cmp byte [ebp - 0x201], al
jne 0x1007e45a
xor eax, eax
jmp 0x1007e45d
xor eax, eax
inc eax
push eax
push edi
lea ecx, [ebp - 0x2b8]
call fcn.100526e2
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x240]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x404]
mov dword [ebp - 0x218], eax
push ebx
push ecx
mov eax, dword [eax]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x100d0614]
mov ecx, dword [ebp - 0x218]
call edi
mov dword [ebp - 0x200], eax
test eax, eax
jns 0x1007e511
push ebx
sub esp, 0x24
lea eax, [ebp - 0x32c]
mov ecx, esp
mov dword [ebp - 0x1f8], esp
push eax
call fcn.10080b57
push 1
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x26
push 0x1001cc7c
call fcn.1006f4e2
mov ecx, dword [ebp - 0x214]
lea eax, [ebp - 0x200]
push eax
mov byte [ebp - 4], 0x25
call fcn.100812f6
mov edi, dword [ebp - 0x200]
lea ecx, [ebp - 0x2b8]
call fcn.10091a7b
lea ecx, [ebp - 0x258]
call fcn.1006abe9
jmp 0x1007fc52
and dword [ebp - 0x244], 0
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x528]
call fcn.10091a7b
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x218]
mov edi, dword [ecx]
lea ecx, [ebp - 0x244]
push ecx
lea ecx, [ebp - 0x258]
push ecx
mov ecx, dword [edi + 0x24]
push eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x218]
call dword [edi + 0x24]
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x200], eax
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
cmp dword [ebp - 0x200], 0
jge 0x1007e5a3
push ebx
sub esp, 0x24
lea eax, [ebp - 0x32c]
mov ecx, esp
mov dword [ebp - 0x1f8], esp
push eax
call fcn.10080b57
push 0
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x28
push 0x1001cca8
jmp 0x1007e4d5
mov ebx, dword [ebp - 0x244]
mov dword [ebp - 0x3b8], ebx
lea eax, [ebp - 0x210]
mov byte [ebp - 4], 0x29
and dword [ebp - 0x248], 0
lea ecx, [ebp - 0x528]
push eax
call fcn.10091a7b
mov byte [ebp - 4], 0x2a
lea edx, [ebp - 0x248]
mov ecx, dword [ebp - 0x218]
push edx
push eax
mov ecx, dword [ecx]
mov edi, dword [ecx + 0x10]
mov ecx, edi
call dword [0x100d0614]
mov ecx, dword [ebp - 0x218]
call edi
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x200], eax
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
cmp dword [ebp - 0x200], 0
jge 0x1007e67a
push dword [ebp - 0x208]
lea eax, [ebp - 0x32c]
sub esp, 0x24
mov ecx, esp
mov dword [ebp - 0x1f8], esp
push eax
call fcn.10080b57
push 0
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2b
push 0x1001ccc8
call fcn.1006f4e2
mov ecx, dword [ebp - 0x214]
lea eax, [ebp - 0x200]
push eax
mov byte [ebp - 4], 0x29
call fcn.100812f6
mov edi, dword [ebp - 0x200]
mov byte [ebp - 4], 0x2c
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, ebx
call esi
jmp 0x1007e4f6
lea ecx, [ebp - 0x4a4]
call fcn.100370b3
test al, al
je 0x1007e6b9
cmp byte [ebp - 0x450], 0
jne 0x1007e6b9
push 8
call fcn.10091a7b
mov edi, eax
mov dword [ebp - 0x1f8], edi
mov eax, dword [ebp - 0x248]
pop ecx
mov dword [edi], 0x10016428
mov dword [edi + 4], eax
mov dword [ebp - 0x248], edi
jmp 0x1007e6bf
mov edi, dword [ebp - 0x248]
mov dword [ebp - 0x350], edi
lea eax, [ebp - 0x210]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [ebp - 0x528]
call fcn.10091a7b
push dword [ebp - 0x208]
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x2e
push ecx
mov ecx, dword [ebp - 0x214]
push eax
push dword [ebp - 0x218]
call fcn.100811a5
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x200], eax
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x210], eax
test eax, eax
je 0x1007e771
mov byte [ebp - 4], 0x2f
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x30
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, ebx
call esi
lea ecx, [ebp - 0x2b8]
call fcn.10091a7b
lea ecx, [ebp - 0x258]
call fcn.1006abe9
mov edi, dword [ebp - 0x210]
jmp 0x1007fc52
lea ecx, [ebp - 0x28c]
call fcn.1002ec1d
test al, al
jne 0x1007fb4c
lea ecx, [ebp - 0x28c]
call fcn.1002ec5e
test al, al
jne 0x1007fb4c
cmp byte [ebp - 0x201], al
jne 0x1007fb4c
push 0x1001cd10
lea ecx, [ebp - 0x238]
call fcn.1006f4e2
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 0x34
push eax
lea ecx, [ebp - 0x28c]
call fcn.1002eef4
test al, al
jne 0x1007e892
mov esi, dword [ebp - 0x208]
lea eax, [ebp - 0x32c]
push esi
sub esp, 0x24
mov dword [ebp - 0x200], 0x80070057
mov ecx, esp
mov dword [ebp - 0x1f8], esp
push eax
call fcn.10080b57
push 0
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x35
push 0x1001ccec
call fcn.1006f4e2
mov ecx, dword [ebp - 0x214]
lea eax, [ebp - 0x200]
push eax
mov byte [ebp - 4], 0x34
call fcn.100812f6
mov eax, dword [esi]
push dword [ebp - 0x238]
push 0
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, dword [ebp - 0x208]
call esi
mov eax, dword [ebp - 0x244]
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x100d0614]
mov ecx, dword [ebp - 0x244]
call esi
mov ecx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x210], eax
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov byte [ebp - 4], 0x36
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x37
jmp 0x1007e73f
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x528]
call fcn.10091a7b
push dword [ebp - 0x208]
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x38
push ecx
mov ecx, dword [ebp - 0x218]
push ecx
push eax
lea eax, [ebp - 0x460]
push eax
lea ecx, [ebp - 0x308]
call fcn.1006447e
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x210]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
lea ecx, [ebp - 0x308]
call fcn.10064560
mov dword [ebp - 0x200], eax
test eax, eax
je 0x1007ea5d
cmp eax, 0x652
jne 0x1007e9c5
push ecx
mov ecx, esp
push 0x1001cd48
call fcn.1006f4e2
mov eax, dword [ebp - 0x214]
push 7
mov ecx, dword [eax + 0x40]
call fcn.1006d244
lea ecx, [ebp - 0x28c]
mov dword [ebp - 0x1fc], 0x13ec
call fcn.1002ebc5
push dword [ebp - 0x208]
lea eax, [ebp - 0x1fc]
push 0
push ecx
mov ecx, dword [ebp - 0x230]
push eax
call fcn.10091a7b
push dword [ebp - 0x308]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov ecx, dword [ebp - 0x304]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x238]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov byte [ebp - 4], 0x3b
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x3c
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, ebx
call esi
lea ecx, [ebp - 0x2b8]
call fcn.10091a7b
lea ecx, [ebp - 0x258]
call fcn.1006abe9
mov edi, dword [ebp - 0x1fc]
jmp 0x1007fc52
push dword [ebp - 0x208]
lea eax, [ebp - 0x32c]
sub esp, 0x24
mov ecx, esp
mov dword [ebp - 0x1f8], esp
push eax
call fcn.10080b57
push 0
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x3d
push 0x1001cd48
call fcn.1006f4e2
mov ecx, dword [ebp - 0x214]
lea eax, [ebp - 0x200]
push eax
mov byte [ebp - 4], 0x3a
call fcn.100812f6
mov eax, dword [ebp - 0x200]
push dword [ebp - 0x308]
mov dword [ebp - 0x210], eax
call dword [sym.imp.kernel32.dll_CloseHandle]
mov ecx, dword [ebp - 0x304]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x238]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov byte [ebp - 4], 0x3e
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x3f
jmp 0x1007e73f
and dword [ebp - 0x274], 0
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x528]
call fcn.10091a7b
mov byte [ebp - 4], 0x40
lea edx, [ebp - 0x274]
mov ecx, dword [ebp - 0x218]
push edx
push eax
mov ecx, dword [ecx]
mov eax, dword [ecx + 0x14]
mov ecx, eax
mov dword [ebp - 0x1fc], eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x218]
call dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x21c]
add ecx, 0xfffffff0
mov dword [ebp - 0x200], eax
call fcn.1008ebf5
cmp dword [ebp - 0x200], 0
jge 0x1007eb36
push dword [ebp - 0x308]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov ecx, dword [ebp - 0x304]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x238]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov byte [ebp - 4], 0x41
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x42
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, ebx
call esi
lea ecx, [ebp - 0x2b8]
call fcn.10091a7b
lea ecx, [ebp - 0x258]
call fcn.1006abe9
mov edi, 0x13ec
jmp 0x1007fc52
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x214]
mov byte [ebp - 4], 0x43
push dword [eax + 0x40]
lea eax, [ebp - 0x32c]
push dword [ebp - 0x208]
push eax
push dword [ebp - 0x218]
push ecx
push esp
lea ecx, [ebp - 0x528]
call fcn.10091a7b
lea eax, [ebp - 0x2e0]
push eax
lea eax, [ebp - 0x57c]
push eax
lea ecx, [ebp - 0x3b4]
call fcn.10055b74
lea eax, [ebp - 0x1fc]
mov byte [ebp - 4], 0x44
push eax
lea ecx, [ebp - 0x28c]
call fcn.10091a7b
mov ecx, dword [ebp - 0x1fc]
mov eax, dword [eax]
lea ecx, [ecx - 0x10]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x21c], eax
call fcn.1008ebf5
cmp dword [ebp - 0x21c], 0
jne 0x1007ede4
cmp esi, 3
je 0x1007ebd4
cmp esi, 2
jne 0x1007ebe7
lea ecx, [ebp - 0x28c]
call fcn.1002ebc5
test al, al
jne 0x1007ede4
push 0
lea ecx, [ebp - 0x3b4]
call fcn.10055bf0
mov dword [ebp - 0x20c], eax
mov ecx, dword [eax]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x1fc], eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x20c]
call dword [ebp - 0x1fc]
test al, al
je 0x1007ed09
and dword [ebp - 0x200], 0
lea ecx, [ebp - 0x28c]
call fcn.1002ebc5
push dword [ebp - 0x208]
lea eax, [ebp - 0x200]
push 0
push ecx
mov ecx, dword [ebp - 0x230]
push eax
call fcn.10091a7b
mov ecx, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x224], eax
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov dword [ebp - 0x3b4], 0x100204e0
mov byte [ebp - 4], 0x46
mov esi, dword [ebp - 0x220]
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x228], eax
call dword [0x100d0614]
mov ecx, esi
call dword [ebp - 0x228]
push dword [ebp - 0x308]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov ecx, dword [ebp - 0x304]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x238]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov byte [ebp - 4], 0x47
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x48
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, ebx
call esi
lea ecx, [ebp - 0x2b8]
call fcn.10091a7b
lea ecx, [ebp - 0x258]
call fcn.1006abe9
mov edi, dword [ebp - 0x224]
jmp 0x1007fc52
mov eax, dword [ebp - 0x20c]
lea ecx, [ebp - 0x200]
push ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x1fc], eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x20c]
call dword [ebp - 0x1fc]
test al, al
jne 0x1007ec27
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ecx, eax
mov dword [ebp - 0x1fc], eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x20c]
call dword [ebp - 0x1fc]
test al, al
je 0x1007edb0
push 0x1001cd60
lea ecx, [ebp - 0x1fc]
call fcn.1006f4e2
lea eax, [ebp - 0x1fc]
mov byte [ebp - 4], 0x45
push eax
mov eax, dword [ebp - 0x214]
mov ecx, dword [eax + 0x40]
call fcn.1006cf67
mov byte [ebp - 4], 0x44
mov ecx, dword [ebp - 0x1fc]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov dword [ebp - 0x200], 0x80070642
jmp 0x1007ec27
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, eax
mov dword [ebp - 0x1fc], eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x20c]
call dword [ebp - 0x1fc]
test al, al
je 0x1007ede4
lea ecx, [ebp - 0x32c]
call fcn.100813a0
lea eax, [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x28c]
call fcn.10091a7b
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x26c]
push dword [eax]
call fcn.1006f4e2
mov byte [ebp - 4], 0x4b
mov ecx, dword [ebp - 0x1fc]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
lea ecx, [ebp - 0x23c]
call fcn.10030831
mov byte [ebp - 4], 0x4c
call fcn.1008e9f3
push eax
lea ecx, [ebp - 0x1fc]
call fcn.10091a7b
lea eax, [ebp - 0x1fc]
mov byte [ebp - 4], 0x4d
push eax
push ecx
mov dword [ebp - 0x21c], esp
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx - 0x10]
call fcn.1008eb5d
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
call fcn.1005064a
mov byte [ebp - 4], 0x4c
test al, al
mov ecx, dword [ebp - 0x1fc]
sete byte [ebp - 0x201]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
cmp byte [ebp - 0x201], 0
je 0x1007f167
xor eax, eax
mov ecx, 0x1001f554
mov dword [ebp - 0x298], ecx
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x36c], eax
mov byte [ebp - 0x368], al
mov dword [ebp - 0x364], 2
mov dword [ebp - 0x370], 0x1001f580
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x354], eax
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x50
call fcn.10091a7b
push ecx
push 0x1f01ff
push eax
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 0x51
call fcn.10061ca9
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x50
call fcn.100617af
lea ecx, [ebp - 0xd4]
call fcn.10091a7b
push ecx
push 0x1f01ff
push eax
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 0x52
call fcn.10061ca9
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x50
call fcn.100617af
lea ecx, [ebp - 0x1f4]
call fcn.10091a7b
push ecx
push 0xa0000000
push eax
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 0x53
call fcn.10061ca9
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], 0x50
call fcn.100617af
lea ecx, [ebp - 0x194]
call fcn.10091a7b
push ecx
push 0xa0000000
push eax
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 0x54
call fcn.10061ca9
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 0x50
call fcn.100617af
push ecx
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x260]
call fcn.10091a7b
lea ecx, [ebp - 0x74]
call fcn.10091a7b
push ecx
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x260]
push eax
call fcn.10091a7b
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x50
call fcn.100617af
push ecx
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x2a4]
call fcn.10091a7b
push 0x10017200
lea ecx, [ebp - 0x1f8]
call fcn.1006f4e2
mov dword [ebp - 0x1fc], eax
lea eax, [ebp - 0x20c]
mov byte [ebp - 4], 0x56
push eax
lea ecx, [ebp - 0x528]
call fcn.10091a7b
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x270]
push dword [ebp - 0x1fc]
mov edx, eax
call fcn.100661dc
mov edx, eax
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x21c]
call fcn.1002fe2c
push eax
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x59
call fcn.10091a7b
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x270]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x20c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov byte [ebp - 4], 0x50
mov ecx, dword [ebp - 0x1f8]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
lea eax, [ebp - 0x2a4]
push eax
push dword [ebp - 0x23c]
call dword [sym.imp.kernel32.dll_CreateDirectoryW]
test eax, eax
jne 0x1007f12e
call fcn.1008e9f3
push eax
lea ecx, [ebp - 0x1fc]
call fcn.10091a7b
mov byte [ebp - 4], 0x5a
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push dword [ebp - 0x23c]
lea eax, [ebp - 0x1fc]
push 0x1001cd70
push eax
call fcn.10091a7b
mov eax, dword [ebp - 0x208]
add esp, 0x10
mov esi, dword [ebp - 0x1fc]
mov eax, dword [eax]
push esi
push 1
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x208]
call dword [ebp - 0x1f8]
lea ecx, [esi - 0x10]
call fcn.1008ebf5
mov esi, dword [ebp - 0x224]
lea ecx, [ebp - 0x370]
call fcn.10061c72
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x260], 0x1001f554
call fcn.10091a7b
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x298], 0x1001f554
call fcn.10091a7b
mov eax, dword [ebp - 0x214]
lea ecx, [ebp - 0x980]
push dword [eax + 0x40]
lea eax, [ebp - 0x32c]
push dword [ebp - 0x208]
push eax
push esi
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x2e0]
push eax
lea eax, [ebp - 0x3b4]
push eax
lea eax, [ebp - 0x584]
push eax
call fcn.10083a67
mov eax, dword [ebp - 0x214]
lea ecx, [ebp - 0x674]
push dword [eax + 0x40]
lea eax, [ebp - 0x980]
push dword [ebp - 0x208]
push dword [ebp - 0x4f4]
push dword [ebp - 0x4f8]
push dword [ebp - 0x4fc]
push eax
call fcn.10091a7b
lea eax, [ebp - 0x674]
mov dword [ebp - 0x34c], 0x10020200
mov dword [ebp - 0x348], eax
call fcn.10030475
and dword [ebp - 0x340], 0
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x208]
mov byte [ebp - 4], 0x5d
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x208]
call dword [ebp - 0x1f8]
mov ecx, eax
mov dword [ebp - 0x2ec], 0x1001b1e0
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x388]
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x260], eax
mov al, byte [ebp - 0x500]
mov byte [ebp - 0x25c], al
mov eax, dword [ebp - 0x214]
push dword [eax + 0x40]
lea eax, [ebp - 0x260]
push ecx
push eax
push dword [ebp - 0x274]
lea eax, [ebp - 0x97c]
push dword [ebp - 0x248]
lea ecx, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x2ec]
push eax
lea eax, [ebp - 0x980]
push eax
push esi
call fcn.10091a7b
mov byte [ebp - 0x2c8], 0
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x2c4]
mov dword [ebp - 0x2cc], 0x10015e84
call fcn.10030831
mov byte [ebp - 4], 0x61
mov ecx, dword [ebp - 0x26c]
lea ecx, [ecx - 0x10]
call fcn.1008eb5d
add eax, 0x10
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x2bc], eax
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 0x62
push eax
lea ecx, [ebp - 0x28c]
call fcn.10091a7b
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
lea eax, [ebp - 0x44c]
je 0x1007f321
lea eax, [ebp - 0x2cc]
mov dword [ebp - 0x33c], 0x10020200
mov dword [ebp - 0x338], eax
call fcn.10030475
and dword [ebp - 0x330], 0
mov dword [ebp - 0x334], eax
mov byte [ebp - 4], 0x63
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
lea eax, [ebp - 0x1f8]
push eax
lea ecx, [ebp - 0x28c]
call fcn.10091a7b
mov esi, dword [ebp - 0x208]
lea ecx, [ebp - 0x5c0]
push esi
push 1
push eax
lea eax, [ebp - 0x34c]
mov byte [ebp - 4], 0x64
push eax
call fcn.100537f2
mov byte [ebp - 4], 0x66
mov ecx, dword [ebp - 0x1f8]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
lea eax, [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x28c]
call fcn.10091a7b
push esi
push 0
push eax
lea eax, [ebp - 0x33c]
mov byte [ebp - 4], 0x67
push eax
lea ecx, [ebp - 0x638]
call fcn.100537f2
mov byte [ebp - 4], 0x69
mov ecx, dword [ebp - 0x1fc]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
lea eax, [ebp - 0x34c]
mov dword [ebp - 0x260], eax
lea ecx, [ebp - 0x28c]
lea eax, [ebp - 0x33c]
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x21c]
push eax
call fcn.10091a7b
mov ecx, dword [ebp - 0x21c]
mov eax, dword [eax]
lea ecx, [ecx - 0x10]
mov esi, dword [eax - 0xc]
call fcn.1008ebf5
test esi, esi
je 0x1007f455
lea ecx, [ebp - 0x5b0]
call fcn.10091a7b
mov byte [ebp - 0x1f8], al
mov eax, dword [ebp - 0x214]
push dword [ebp - 0x1f8]
mov ecx, dword [eax + 0x40]
call fcn.10083fb0
lea eax, [ebp - 0x5c0]
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x638]
mov dword [ebp - 0x25c], eax
push dword [ebp - 0x20c]
lea eax, [ebp - 0x260]
push dword [ebp - 0x208]
lea ecx, [ebp - 0x5fc]
push eax
call fcn.10052aa0
mov byte [ebp - 4], 0x6a
mov eax, dword [ebp - 0x218]
and dword [ebp - 0x234], 0
mov esi, dword [eax]
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x97c]
push eax
mov ecx, dword [esi + 0xc]
lea eax, [ebp - 0x5fc]
push eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x218]
call dword [esi + 0xc]
mov dword [ebp - 0x200], eax
test eax, eax
jns 0x1007f661
push dword [ebp - 0x208]
lea eax, [ebp - 0x32c]
sub esp, 0x24
mov ecx, esp
mov dword [ebp - 0x1f8], esp
push eax
call fcn.10080b57
push 0
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x6b
push 0x1001cdd0
call fcn.1006f4e2
mov ecx, dword [ebp - 0x214]
lea eax, [ebp - 0x200]
push eax
mov byte [ebp - 4], 0x6a
call fcn.100812f6
mov eax, dword [ebp - 0x200]
lea ecx, [ebp - 0x5fc]
mov dword [ebp - 0x228], eax
call fcn.10052b89
lea ecx, [ebp - 0x638]
call fcn.10053882
lea ecx, [ebp - 0x5c0]
call fcn.10053882
lea ecx, [ebp - 0x33c]
call fcn.10052cd2
mov ecx, dword [ebp - 0x2c0]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x2c4]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov eax, 0x10020268
mov dword [ebp - 0x444], 0x10019934
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x2ec], 0x1001b1e0
call fcn.10052cd2
lea ecx, [ebp - 0x674]
call fcn.10082f35
lea ecx, [ebp - 0x980]
call fcn.100839e0
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x26c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x39c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov dword [ebp - 0x3b4], 0x100204e0
mov byte [ebp - 4], 0x6c
mov esi, dword [ebp - 0x220]
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
mov ecx, esi
call dword [ebp - 0x1f8]
push dword [ebp - 0x308]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov ecx, dword [ebp - 0x304]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x238]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov byte [ebp - 4], 0x6d
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x6e
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, ebx
call esi
lea ecx, [ebp - 0x2b8]
call fcn.10091a7b
lea ecx, [ebp - 0x258]
call fcn.1006abe9
jmp 0x1007fc4c
mov esi, dword [ebp - 0x234]
mov dword [ebp - 0x1fc], esi
mov byte [ebp - 4], 0x6f
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
mov ecx, esi
call dword [ebp - 0x1f8]
mov dword [ebp - 0x694], eax
mov eax, dword [ebp - 0x234]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x234]
call dword [ebp - 0x1f8]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x440], eax
mov eax, dword [ebp - 0x234]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x234]
call dword [ebp - 0x1f8]
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0x229]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x234]
mov byte [ebp - 0x229], 0
push ecx
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x234]
call dword [ebp - 0x1f8]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x208]
mov dword [ebp - 4], 0x6f
push dword [ebp - 0x20c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x208]
call dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x208]
push dword [ebp - 0x20c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x208]
call dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x3b0]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
lea ecx, [ebp - 0x3b0]
call dword [ebp - 0x1f8]
mov cl, al
mov byte [ebp - 0x201], cl
test cl, cl
jne 0x1007f801
mov ecx, dword [ebp - 0x3b0]
lea eax, [ebp - 0x224]
and dword [ebp - 0x224], 0
push eax
mov eax, dword [ecx + 4]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
lea ecx, [ebp - 0x3b0]
call dword [ebp - 0x1f8]
test al, al
je 0x1007f7fb
mov eax, dword [ebp - 0x224]
mov cl, 1
mov dword [ebp - 0x200], eax
jmp 0x1007f801
mov cl, byte [ebp - 0x201]
push dword [ebp - 0x208]
test cl, cl
sete al
movzx eax, al
push eax
mov eax, dword [ebp - 0x234]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
mov ecx, dword [ebp - 0x234]
call dword [ebp - 0x1f8]
push eax
lea ecx, [ebp - 0x28c]
call fcn.1002ebc5
mov ecx, dword [ebp - 0x230]
neg al
sbb al, al
inc al
movzx eax, al
push eax
lea eax, [ebp - 0x200]
push eax
call fcn.10091a7b
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x528]
call fcn.10091a7b
mov byte [ebp - 4], 0x73
cmp byte [ebp - 0x229], 0
je 0x1007f895
push dword [ebp - 0x208]
mov edx, eax
lea ecx, [ebp - 0x28c]
push dword [ebp - 0x218]
call fcn.1008b378
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x228], eax
mov byte [ebp - 4], 0x74
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
mov ecx, esi
call dword [ebp - 0x1f8]
lea ecx, [ebp - 0x5fc]
call fcn.10052b89
lea ecx, [ebp - 0x638]
call fcn.10053882
lea ecx, [ebp - 0x5c0]
call fcn.10053882
lea ecx, [ebp - 0x33c]
call fcn.10052cd2
mov ecx, dword [ebp - 0x2c0]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x2c4]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov eax, 0x10020268
mov dword [ebp - 0x444], 0x10019934
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x2ec], 0x1001b1e0
call fcn.10052cd2
lea ecx, [ebp - 0x674]
call fcn.10082f35
lea ecx, [ebp - 0x980]
call fcn.100839e0
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x26c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x39c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov dword [ebp - 0x3b4], 0x100204e0
mov byte [ebp - 4], 0x75
mov esi, dword [ebp - 0x220]
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x1f8], eax
call dword [0x100d0614]
mov ecx, esi
call dword [ebp - 0x1f8]
push dword [ebp - 0x308]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov ecx, dword [ebp - 0x304]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x238]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov byte [ebp - 4], 0x76
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x77
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, ebx
call esi
lea ecx, [ebp - 0x2b8]
call fcn.10091a7b
lea ecx, [ebp - 0x258]
call fcn.1006abe9
mov ecx, dword [ebp - 0x268]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x24c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
lea ecx, [ebp - 0x388]
call fcn.100646b3
lea ecx, [ebp - 0x584]
mov dword [ebp - 0x2d8], 0x10019934
call fcn.1004f7d2
lea ecx, [ebp - 0x28c]
call fcn.1002eb70
lea ecx, [ebp - 0x404]
call fcn.1004125f
lea ecx, [ebp - 0x32c]
call fcn.100813c0
mov eax, dword [ebp - 0x228]
jmp 0x1007fcb1
push dword [ebp - 0x208]
lea eax, [ebp - 0x32c]
mov dword [ebp - 0x200], 0x80070057
sub esp, 0x24
mov ecx, esp
mov dword [ebp - 0x290], esp
push eax
call fcn.10080b57
push 0
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x31
push 0x1001ccec
call fcn.1006f4e2
mov ecx, dword [ebp - 0x214]
lea eax, [ebp - 0x200]
push eax
mov byte [ebp - 4], 0x2d
call fcn.100812f6
mov eax, dword [ebp - 0x244]
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x100d0614]
mov ecx, dword [ebp - 0x244]
call esi
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 4], 0x32
mov ecx, dword [edi]
mov esi, dword [ecx + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x33
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d0614]
mov ecx, ebx
call esi
lea ecx, [ebp - 0x2b8]
call fcn.10091a7b
lea ecx, [ebp - 0x258]
call fcn.1006abe9
mov edi, dword [ebp - 0x1f8]
jmp 0x1007fc52
push ebx
sub esp, 0x24
mov dword [ebp - 0x228], 0x80004005
lea eax, [ebp - 0x32c]
mov dword [ebp - 0x290], esp
mov ecx, esp
push eax
call fcn.10080b57
push 1
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x21
push 0x1001cc58
call fcn.1006f4e2
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0x16
push eax
mov ecx, edi
call fcn.100812f6
mov edi, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x268]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x24c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
lea ecx, [ebp - 0x388]
call fcn.100646b3
lea ecx, [ebp - 0x584]
mov dword [ebp - 0x2d8], 0x10019934
call fcn.1004f7d2
lea ecx, [ebp - 0x28c]
call fcn.1002eb70
lea ecx, [ebp - 0x404]
call fcn.1004125f
lea ecx, [ebp - 0x32c]
call fcn.100813c0
mov eax, edi
call fcn.100a5677
ret 4