Function at 0x1005d87c
Capabilities:
Accept command line arguments
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1009714a
mov eax, dword fs:[0]
push eax
sub esp, 0x100
push ebx
push esi
push edi
mov eax, dword [0x100ae210]
xor eax, esp
push eax
lea eax, [esp + 0x110]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x2c], ebx
push 0x1000c9f4
lea eax, [esp + 0x34]
push eax
call fcn.1005833e
and dword [esp + 0x118], 0
mov esi, dword [ebx + 0x18]
mov edi, 0x1000ca50
push edi
lea eax, [esp + 0x70]
push eax
call fcn.1005833e
mov byte [esp + 0x118], 1
lea eax, [esp + 0x30]
push 0x10012df8
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], esi
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 8]
xor edi, edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov byte [esp + 0x118], 3
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
call dword [eax]
test eax, eax
je 0x1005d95f
push dword [ebx + 0x14]
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 0x14]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ecx]
push eax
call dword [edx + 0x1c]
lea ebx, [esp + 0x64]
lea esi, [esp + 0x48]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
call fcn.100619c7
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx]
inc edi
call dword [eax]
mov ebx, dword [esp + 0x2c]
cmp edi, eax
jb 0x1005d922
lea eax, [esp + 0x48]
push eax
mov eax, dword [ebp + 8]
lea edi, [esp + 0xd0]
call fcn.10049811
and dword [esp + 0x28], 0
mov byte [esp + 0x118], 4
mov ecx, dword [ebx + 0x14]
and dword [esp + 0x7c], 0
mov eax, edi
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0xa0], 0x10019830
mov dword [esp + 0xa8], eax
mov eax, dword [ecx]
call dword [eax]
test eax, eax
je 0x1005e7ee
cmp byte [ebx + 4], 0
jne 0x1005e7f4
push dword [ebx + 0x14]
mov eax, dword [ebx]
push dword [esp + 0x2c]
mov ecx, ebx
call dword [eax + 0x14]
mov esi, eax
push 0xff
lea ecx, [esp + 0xd0]
mov dword [esp + 0x64], esi
call fcn.1004991f
lea ecx, [esp + 0xcc]
call fcn.100498e4
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
lea edx, [esp + 0xb0]
push edx
call dword [eax + 0x20]
push 0x10012e5c
lea ecx, [esp + 0xb4]
push ecx
mov edi, eax
mov byte [esp + 0x120], 5
call fcn.10058cd5
push 0x10012e38
lea ecx, [esp + 0xbc]
push ecx
mov edi, eax
mov byte [esp + 0x120], 6
call fcn.10058c7a
mov byte [esp + 0x118], 7
mov eax, dword [eax]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ecx]
push eax
push 4
call dword [edx + 4]
mov eax, dword [esp + 0xb8]
add eax, 0xfffffff0
call fcn.10078f0e
mov eax, dword [esp + 0xb0]
add eax, 0xfffffff0
call fcn.10078f0e
mov byte [esp + 0x118], 4
mov eax, dword [esp + 0xac]
add eax, 0xfffffff0
call fcn.10078f0e
jmp 0x1005daa6
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
call dword [eax + 0x24]
test al, al
jne 0x1005dab3
mov eax, dword [ebx]
push 0x3e8
mov ecx, ebx
call dword [eax + 0x18]
cmp byte [ebx + 4], 0
jne 0x1005e2fc
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
call dword [eax + 8]
test al, al
je 0x1005da83
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
lea edx, [esp + 0xc8]
push edx
call dword [eax + 0x20]
push 0x10012e7c
lea ecx, [esp + 0xcc]
push ecx
mov edi, eax
mov byte [esp + 0x120], 8
call fcn.10058c7a
mov byte [esp + 0x118], 9
mov eax, dword [eax]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ecx]
push eax
push 4
call dword [edx + 4]
mov eax, dword [esp + 0xc8]
add eax, 0xfffffff0
call fcn.10078f0e
mov byte [esp + 0x118], 4
mov eax, dword [esp + 0xc4]
add eax, 0xfffffff0
call fcn.10078f0e
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
call dword [eax + 0x24]
test al, al
je 0x1005db95
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
lea edx, [esp + 0xc4]
push edx
call dword [eax + 0x20]
push 0x10012eb8
lea ecx, [esp + 0xc0]
push ecx
mov edi, eax
mov byte [esp + 0x120], 0xa
call fcn.10058c7a
mov byte [esp + 0x118], 0xb
mov eax, dword [eax]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ecx]
push eax
push 7
call dword [edx + 4]
mov eax, dword [esp + 0xbc]
add eax, 0xfffffff0
call fcn.10078f0e
mov byte [esp + 0x118], 4
mov eax, dword [esp + 0xc0]
add eax, 0xfffffff0
call fcn.10078f0e
jmp 0x1005e2e2
mov eax, dword [ebx]
push 0x10012f24
push 0
push 1
mov ecx, ebx
call dword [eax + 0x1c]
test eax, eax
je 0x1005dcdc
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
push ecx
mov eax, esp
mov dword [esp + 0x38], esp
push 0x1001ab18
push eax
call fcn.1005833e
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push 0xd
call dword [eax + 8]
mov dword [esp + 0x20], 0x3c
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea eax, [esp + 0xf8]
push eax
call fcn.10023e77
lea eax, [esp + 0xf4]
mov byte [esp + 0x118], 0xc
call fcn.1002420c
test al, al
jne 0x1005dc0d
mov dword [esp + 0x20], 0x258
push dword [esp + 0x20]
mov esi, dword [ebx + 0x18]
push 0x10012f50
push 2
pop edi
push edi
call fcn.100239ad
and dword [esp + 0x20], 0
add esp, 0xc
cmp dword [esp + 0x20], 0
jle 0x1005dc81
push 0
lea ecx, [esp + 0xd0]
call fcn.1004991f
mov eax, dword [ebx]
push 0x3e8
mov ecx, ebx
call dword [eax + 0x18]
cmp byte [ebx + 4], 0
jne 0x1005e354
mov eax, dword [ebx]
push 0x10012f24
push 0
push 1
mov ecx, ebx
call dword [eax + 0x1c]
mov esi, eax
mov eax, dword [ebx]
push esi
mov ecx, ebx
call dword [eax + 0x20]
test esi, esi
je 0x1005dcac
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x20]
jl 0x1005dc31
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx]
call dword [eax + 8]
cmp eax, edi
je 0x1005e37f
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x100131a8
push edi
call dword [eax + 4]
mov dword [esp + 0x20], 1
jmp 0x1005dc0d
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x1001305c
push edi
call dword [eax + 4]
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x10013088
push edi
call dword [eax + 4]
lea ecx, [esp + 0xf4]
mov byte [esp + 0x118], 4
call fcn.100241a9
mov ecx, dword [ebx + 0x14]
push dword [esp + 0x60]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x3c]
xor esi, esi
mov edi, eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
lea esi, [esp + 0x88]
mov dword [esp + 0x10], edi
mov dword [esp + 0x80], 0x100199c4
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
call fcn.1005be94
push 0
push 0x100b6130
push 0x100b5fa8
mov byte [esp + 0x124], 0xe
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push 0
push dword [esp + 0x70]
call dword [eax + 4]
push eax
call fcn.100868b5
mov dword [esp + 0x98], eax
mov eax, dword [edi + 8]
add esp, 0x14
dec eax
cmp eax, 9
ja case.0x1005dd80.7
jmp dword [eax*4 + 0x1005e894]
push edi
mov ecx, ebx
call fcn.1006271f
jmp 0x1005de36
mov esi, dword [esp + 0x2c]
mov ebx, edi
mov eax, esi
call fcn.10062123
mov dword [esi + 0x1c], eax
mov ebx, esi
jmp 0x1005de39
mov esi, dword [esp + 0x2c]
mov ebx, edi
mov eax, esi
call fcn.10062226
jmp 0x1005dda1
push edi
mov ecx, ebx
call fcn.1006257c
jmp 0x1005de36
mov esi, edi
mov ecx, ebx
call fcn.100628c7
jmp 0x1005de36
mov esi, edi
mov ecx, ebx
call fcn.10062329
jmp 0x1005de36
push edi
mov ecx, ebx
call fcn.100623e4
jmp 0x1005de36
push edi
mov ecx, ebx
call fcn.10062481
jmp 0x1005de36
push 8
call fcn.1007c0aa
pop ecx
test eax, eax
je 0x1005de06
mov byte [eax + 4], 0
mov dword [eax], 0x1001a2fc
jmp 0x1005de08
xor eax, eax
mov ecx, dword [ebx + 0x18]
push 0x10013280
mov dword [ebx + 0x1c], eax
mov eax, dword [ecx]
push 4
call dword [eax + 4]
jmp 0x1005de39
push 8
call fcn.1007c0aa
pop ecx
test eax, eax
je 0x1005de34
mov byte [eax + 4], 0
mov dword [eax], 0x1001a2fc
jmp 0x1005de36
xor eax, eax
mov dword [ebx + 0x1c], eax
mov ecx, dword [ebx + 0x18]
mov al, 1
mov dword [esp + 0x54], ecx
mov byte [esp + 0x5c], 0
jmp 0x1005df9f
test al, al
je 0x1005dfae
push 0x1001ab18
lea eax, [esp + 0x7c]
push eax
call fcn.1005833e
lea eax, [esp + 0x78]
push eax
mov byte [esp + 0x11c], 0xf
mov esi, dword [0x100b8468]
push 0
call fcn.10027ee4
mov byte [esp + 0x118], 0xe
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
call fcn.10078f0e
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ecx]
lea edx, [esp + 0xa0]
push edx
call dword [eax + 4]
push dword [esp + 0x7c]
lea edi, [esp + 0x58]
call fcn.10049aa1
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
dec eax
je 0x1005df44
dec eax
je 0x1005df44
dec eax
je 0x1005df44
sub eax, 3
je 0x1005df44
sub eax, 4
je 0x1005df44
push dword [esp + 0x58]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xac]
lea eax, [esp + 0x20]
push eax
call fcn.1004b8a3
sub esp, 0xc
mov eax, esp
mov byte [esp + 0x124], 0x10
mov dword [eax], 0x1001876c
mov dword [eax], 0x10019830
mov dword [eax + 4], esi
mov dword [eax + 8], edi
mov dword [esp + 0x40], esp
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x94]
push eax
call fcn.1004b1fe
mov byte [esp + 0x27], al
mov byte [esp + 0x118], 0xe
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.10078f0e
mov al, byte [esp + 0x27]
jmp 0x1005df8a
sub esp, 0xc
mov eax, esp
mov dword [eax], 0x1001876c
mov dword [eax], 0x10019830
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xb4]
mov dword [eax + 8], ecx
mov eax, dword [0x100b8468]
mov dword [esp + 0x40], esp
push dword [eax + 0xbe8]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x94]
push eax
call fcn.1004b010
test al, al
je 0x1005dfa4
cmp byte [esp + 0x5c], 0
jne 0x1005dfa4
cmp dword [esp + 0x58], 0x80070bc2
je 0x1005dfa4
and dword [esp + 0x58], 0
cmp byte [ebx + 4], 0
je 0x1005de4c
mov esi, dword [ebx + 0x1c]
call fcn.10046fbd
mov dword [ebx + 0x1c], eax
test esi, esi
je 0x1005dfc5
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
lea edi, [esp + 0x54]
call fcn.10049b0f
test al, al
je 0x1005e27f
mov ecx, dword [ebx + 0x14]
mov esi, dword [esp + 0x60]
mov eax, dword [ecx]
push esi
call dword [eax + 4]
push 0
push 0x100b6088
push 0x100b5fa8
push 0
push eax
call fcn.100868b5
mov ecx, dword [ebx + 8]
add esp, 0x14
dec ecx
je 0x1005e016
dec ecx
je 0x1005e00e
dec ecx
jne 0x1005e016
mov ecx, dword [eax + 0x2c]
mov al, byte [eax + 0x30]
jmp 0x1005e01c
mov ecx, dword [eax + 0x1c]
mov al, byte [eax + 0x20]
jmp 0x1005e01c
mov ecx, dword [eax + 0xc]
mov al, byte [eax + 0x10]
cmp byte [ebx + 0x24], 0
mov byte [esp + 0x68], al
je 0x1005e034
test al, al
jne 0x1005e034
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x20]
mov dword [esp + 0x38], eax
push 2
pop edi
cmp ecx, edi
je 0x1005e3db
test ecx, ecx
je 0x1005e5ee
cmp ecx, 1
jne 0x1005e2b7
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x24]
test al, al
jne 0x1005e247
cmp byte [esp + 0x68], al
jne 0x1005e247
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
lea edx, [esp + 0xb8]
push edx
call dword [eax + 0x20]
mov dword [esp + 0x20], eax
mov byte [esp + 0x118], 0x1d
mov eax, dword [ebx + 0x40]
mov esi, dword [0x100b8468]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xbe4]
cmp eax, 1
je 0x1005e0ad
cmp eax, edi
jne 0x1005e20c
push 3
pop eax
call fcn.10027fcb
mov eax, dword [0x100b8468]
lea ecx, [esp + 0x44]
call fcn.10027ff6
mov byte [esp + 0x118], 0x1e
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x3c]
push eax
push 0x1ce
call fcn.1002c5d4
mov edi, eax
mov byte [esp + 0x118], 0x1d
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
call fcn.10078f0e
push 0x10013b88
lea eax, [esp + 0x1c]
push eax
call fcn.1005833e
push edi
push esi
lea edi, [esp + 0x20]
mov byte [esp + 0x120], 0x1f
call fcn.10061236
mov byte [esp + 0x118], 0x1d
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
call fcn.10078f0e
mov esi, dword [esp + 0x20]
mov eax, dword [esi]
sub eax, 0x10
call fcn.10078eab
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x1000b270
xor ecx, ecx
mov byte [esp + 0x11c], 0x20
call fcn.10058897
cmp eax, 0xffffffff
je 0x1005e189
mov ecx, eax
lea edx, [esp + 0x40]
mov eax, esi
call fcn.10058aed
lea edi, [esp + 0x14]
mov byte [esp + 0x118], 0x21
call fcn.100584b9
mov byte [esp + 0x118], 0x20
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
call fcn.10078f0e
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x3c]
lea eax, [esp + 0x14]
push eax
push 0x1cd
call fcn.1002c5d4
mov edi, eax
push 0x10013be8
lea eax, [esp + 0x40]
push eax
call fcn.1005833e
push edi
push esi
lea edi, [esp + 0x44]
mov byte [esp + 0x120], 0x22
call fcn.10061236
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
call fcn.10078f0e
mov eax, dword [0x100b8468]
mov edi, dword [esp + 0x14]
mov esi, eax
add eax, 0x9e4
push eax
mov edx, edi
mov ecx, 0xff
call fcn.10078a55
mov ecx, dword [esp + 0x34]
xor eax, eax
mov word [esi + 0xbe0], ax
mov eax, dword [0x100b8468]
mov dword [eax + 0xbec], ecx
lea eax, [edi - 0x10]
call fcn.10078f0e
mov byte [esp + 0x118], 0xe
mov eax, dword [esp + 0xb4]
add eax, 0xfffffff0
call fcn.10078f0e
mov edx, dword [esp + 0x58]
lea ecx, [ebx + 0x30]
call fcn.10049a69
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x10013398
push 0
call dword [eax + 4]
push 0x10013418
push 0
jmp 0x1005e24e
push 0x100134c0
push 1
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebx + 4], 0
jne 0x1005e7cf
mov edi, dword [ebp + 8]
mov eax, dword [ebx]
mov esi, dword [edi]
mov ecx, ebx
call dword [eax + 0x24]
xor ecx, ecx
test al, al
sete cl
lea ecx, [ecx + ecx + 2]
push ecx
mov ecx, edi
call dword [esi + 4]
jmp 0x1005e2b7
mov edx, dword [esp + 0x58]
mov esi, 0x80070bc2
cmp edx, esi
jne 0x1005e2af
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x1001353c
push 4
call dword [eax + 4]
lea ecx, [ebx + 0x30]
mov edx, esi
call fcn.10049a69
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax + 0x10]
jmp 0x1005e2b7
lea ecx, [ebx + 0x30]
call fcn.10049a69
mov ecx, dword [ebx + 0x14]
push dword [esp + 0x60]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov byte [esp + 0x118], 4
lea esi, [esp + 0x88]
mov dword [esp + 0x80], 0x100199c4
call fcn.1005be94
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
inc dword [esp + 0x28]
call dword [eax]
cmp dword [esp + 0x28], eax
jb 0x1005d9b3
jmp 0x1005e7ee
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push 0x80004004
call dword [eax + 0xc]
lea esi, [esp + 0xd4]
mov dword [esp + 0xcc], 0x10019848
call fcn.10069711
cmp dword [esp + 0x48], 0
je 0x1005e331
push dword [esp + 0x48]
call fcn.1007be0e
pop ecx
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0x11c], 0
call fcn.1002395e
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
call fcn.10078f0e
jmp 0x1005e87c
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push 0x80004004
call dword [eax + 0xc]
mov ebx, dword [ebx + 0x18]
mov eax, dword [ebx]
push 0x10012ff8
push edi
mov ecx, ebx
call dword [eax + 4]
lea ecx, [esp + 0xf4]
call fcn.100241a9
jmp 0x1005e309
push 0x100130dc
lea eax, [esp + 0x40]
push eax
call fcn.1005833e
lea eax, [esp + 0x3c]
mov byte [esp + 0x118], 0xd
mov esi, dword [ebx + 0x2c]
push eax
call fcn.1005b057
mov byte [esp + 0x118], 0xc
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
call fcn.10078f0e
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x100130f0
push edi
call dword [eax + 4]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push 0x80004004
call dword [eax + 0xc]
jmp 0x1005e371
mov edx, dword [esp + 0x58]
lea ecx, [ebx + 0x30]
call fcn.10049a69
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
lea edx, [esp + 0x48]
push edx
call dword [eax + 0x20]
mov dword [esp + 0x18], eax
mov byte [esp + 0x118], 0x11
mov eax, dword [ebx + 0x40]
mov esi, dword [0x100b8468]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xbe4]
cmp eax, 1
je 0x1005e428
cmp eax, edi
jne 0x1005e587
push 3
pop eax
call fcn.10027fcb
mov eax, dword [0x100b8468]
lea ecx, [esp + 0x34]
call fcn.10027ff6
mov byte [esp + 0x118], 0x12
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0x3c]
push eax
push 0x1ce
call fcn.1002c5d4
mov edi, eax
mov byte [esp + 0x118], 0x11
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
call fcn.10078f0e
push 0x10013b88
lea eax, [esp + 0x14]
push eax
call fcn.1005833e
push edi
push esi
lea edi, [esp + 0x18]
mov byte [esp + 0x120], 0x13
call fcn.10061236
mov byte [esp + 0x118], 0x11
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.10078f0e
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
sub eax, 0x10
call fcn.10078eab
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x1000b270
xor ecx, ecx
mov byte [esp + 0x11c], 0x14
call fcn.10058897
cmp eax, 0xffffffff
je 0x1005e504
mov ecx, eax
lea edx, [esp + 0x34]
mov eax, esi
call fcn.10058aed
lea edi, [esp + 0x14]
mov byte [esp + 0x118], 0x15
call fcn.100584b9
mov byte [esp + 0x118], 0x14
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
call fcn.10078f0e
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0x3c]
lea eax, [esp + 0x14]
push eax
push 0x1cd
call fcn.1002c5d4
mov edi, eax
push 0x10013be8
lea eax, [esp + 0x14]
push eax
call fcn.1005833e
push edi
push esi
lea edi, [esp + 0x18]
mov byte [esp + 0x120], 0x16
call fcn.10061236
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.10078f0e
mov eax, dword [0x100b8468]
mov edi, dword [esp + 0x14]
mov esi, eax
add eax, 0x9e4
push eax
mov edx, edi
mov ecx, 0xff
call fcn.10078a55
mov ecx, dword [esp + 0x40]
xor eax, eax
mov word [esi + 0xbe0], ax
mov eax, dword [0x100b8468]
mov dword [eax + 0xbec], ecx
lea eax, [edi - 0x10]
call fcn.10078f0e
mov byte [esp + 0x118], 0xe
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
call fcn.10078f0e
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x100132e0
push 0
call dword [eax + 4]
mov al, byte [ebx + 4]
mov esi, dword [ebp + 8]
mov edx, dword [esi]
xor ecx, ecx
test al, al
sete cl
dec ecx
and ecx, 3
add ecx, 3
push ecx
mov ecx, esi
call dword [edx + 4]
push dword [esp + 0x28]
mov ecx, ebx
push esi
call fcn.10062096
lea esi, [esp + 0x88]
mov dword [esp + 0x80], 0x100199c4
call fcn.1005be94
jmp 0x1005e823
mov edx, dword [esp + 0x58]
lea ecx, [ebx + 0x30]
call fcn.10049a69
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
lea edx, [esp + 0x48]
push edx
call dword [eax + 0x20]
mov dword [esp + 0x18], eax
mov byte [esp + 0x118], 0x17
mov eax, dword [ebx + 0x40]
mov esi, dword [0x100b8468]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xbe4]
cmp eax, 1
je 0x1005e63b
cmp eax, edi
jne 0x1005e79a
push 3
pop eax
call fcn.10027fcb
mov eax, dword [0x100b8468]
lea ecx, [esp + 0x34]
call fcn.10027ff6
mov byte [esp + 0x118], 0x18
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0x3c]
push eax
push 0x1ce
call fcn.1002c5d4
mov edi, eax
mov byte [esp + 0x118], 0x17
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
call fcn.10078f0e
push 0x10013b88
lea eax, [esp + 0x14]
push eax
call fcn.1005833e
push edi
push esi
lea edi, [esp + 0x18]
mov byte [esp + 0x120], 0x19
call fcn.10061236
mov byte [esp + 0x118], 0x17
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.10078f0e
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
sub eax, 0x10
call fcn.10078eab
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x1000b270
xor ecx, ecx
mov byte [esp + 0x11c], 0x1a
call fcn.10058897
cmp eax, 0xffffffff
je 0x1005e717
mov ecx, eax
lea edx, [esp + 0x34]
mov eax, esi
call fcn.10058aed
lea edi, [esp + 0x14]
mov byte [esp + 0x118], 0x1b
call fcn.100584b9
mov byte [esp + 0x118], 0x1a
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
call fcn.10078f0e
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0x3c]
lea eax, [esp + 0x14]
push eax
push 0x1cd
call fcn.1002c5d4
mov edi, eax
push 0x10013be8
lea eax, [esp + 0x14]
push eax
call fcn.1005833e
push edi
push esi
lea edi, [esp + 0x18]
mov byte [esp + 0x120], 0x1c
call fcn.10061236
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.10078f0e
mov eax, dword [0x100b8468]
mov edi, dword [esp + 0x14]
mov esi, eax
add eax, 0x9e4
push eax
mov edx, edi
mov ecx, 0xff
call fcn.10078a55
mov ecx, dword [esp + 0x40]
xor eax, eax
mov word [esi + 0xbe0], ax
mov eax, dword [0x100b8468]
mov dword [eax + 0xbec], ecx
lea eax, [edi - 0x10]
call fcn.10078f0e
mov byte [esp + 0x118], 0xe
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
call fcn.10078f0e
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x10013340
push 0
call dword [eax + 4]
cmp byte [ebx + 4], 0
lea esi, [esp + 0x88]
jne 0x1005e7d6
jmp 0x1005e5d9
lea esi, [esp + 0x88]
mov byte [esp + 0x118], 4
mov dword [esp + 0x80], 0x100199c4
call fcn.1005be94
cmp byte [ebx + 4], 0
je 0x1005e823
cmp dword [esp + 0x28], 0
jbe 0x1005e823
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x24]
test al, al
je 0x1005e823
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x10013570
push 1
call dword [eax + 4]
push dword [esp + 0x28]
mov ecx, ebx
push dword [ebp + 8]
call fcn.10062096
lea esi, [esp + 0xd4]
mov dword [esp + 0xcc], 0x10019848
call fcn.10069711
cmp dword [esp + 0x48], 0
je 0x1005e84b
push dword [esp + 0x48]
call fcn.1007be0e
pop ecx
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0x11c], 0
call fcn.1002395e
or dword [esp + 0x118], 0xffffffff
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
call fcn.10078f0e
mov ecx, dword [ebp + 8]
push dword [ebx + 0x34]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [esp + 0x110]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4