Function at 0x1005d874
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 0x100975a9
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 0x1000c9dc
lea eax, [esp + 0x34]
push eax
call fcn.100580f9
and dword [esp + 0x118], 0
mov esi, dword [ebx + 0x18]
mov edi, 0x1000ca38
push edi
lea eax, [esp + 0x70]
push eax
call fcn.100580f9
mov byte [esp + 0x118], 1
lea eax, [esp + 0x30]
push 0x10012de0
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 0x1005d957
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.10061a94
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 0x1005d91a
lea eax, [esp + 0x48]
push eax
mov eax, dword [ebp + 8]
lea edi, [esp + 0xd0]
call fcn.1004957f
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], 0x10019810
mov dword [esp + 0xa8], eax
mov eax, dword [ecx]
call dword [eax]
test eax, eax
je 0x1005e7e6
cmp byte [ebx + 4], 0
jne 0x1005e7ec
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.1004968d
lea ecx, [esp + 0xcc]
call fcn.10049652
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
lea edx, [esp + 0xb0]
push edx
call dword [eax + 0x20]
push 0x10012e44
lea ecx, [esp + 0xb4]
push ecx
mov edi, eax
mov byte [esp + 0x120], 5
call fcn.10058a90
push 0x10012e20
lea ecx, [esp + 0xbc]
push ecx
mov edi, eax
mov byte [esp + 0x120], 6
call fcn.10058a35
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.1007924a
mov eax, dword [esp + 0xb0]
add eax, 0xfffffff0
call fcn.1007924a
mov byte [esp + 0x118], 4
mov eax, dword [esp + 0xac]
add eax, 0xfffffff0
call fcn.1007924a
jmp 0x1005da9e
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
call dword [eax + 0x24]
test al, al
jne 0x1005daab
mov eax, dword [ebx]
push 0x3e8
mov ecx, ebx
call dword [eax + 0x18]
cmp byte [ebx + 4], 0
jne 0x1005e2f4
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
call dword [eax + 8]
test al, al
je 0x1005da7b
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
lea edx, [esp + 0xc8]
push edx
call dword [eax + 0x20]
push 0x10012e64
lea ecx, [esp + 0xcc]
push ecx
mov edi, eax
mov byte [esp + 0x120], 8
call fcn.10058a35
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.1007924a
mov byte [esp + 0x118], 4
mov eax, dword [esp + 0xc4]
add eax, 0xfffffff0
call fcn.1007924a
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
call dword [eax + 0x24]
test al, al
je 0x1005db8d
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
push esi
lea edx, [esp + 0xc4]
push edx
call dword [eax + 0x20]
push 0x10012ea0
lea ecx, [esp + 0xc0]
push ecx
mov edi, eax
mov byte [esp + 0x120], 0xa
call fcn.10058a35
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.1007924a
mov byte [esp + 0x118], 4
mov eax, dword [esp + 0xc0]
add eax, 0xfffffff0
call fcn.1007924a
jmp 0x1005e2da
mov eax, dword [ebx]
push 0x10012f0c
push 0
push 1
mov ecx, ebx
call dword [eax + 0x1c]
test eax, eax
je 0x1005dcd4
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x20]
push ecx
mov eax, esp
mov dword [esp + 0x38], esp
push 0x1001ab1c
push eax
call fcn.100580f9
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.10023ed7
lea eax, [esp + 0xf4]
mov byte [esp + 0x118], 0xc
call fcn.1002426c
test al, al
jne 0x1005dc05
mov dword [esp + 0x20], 0x258
push dword [esp + 0x20]
mov esi, dword [ebx + 0x18]
push 0x10012f38
push 2
pop edi
push edi
call fcn.10023a0d
and dword [esp + 0x20], 0
add esp, 0xc
cmp dword [esp + 0x20], 0
jle 0x1005dc79
push 0
lea ecx, [esp + 0xd0]
call fcn.1004968d
mov eax, dword [ebx]
push 0x3e8
mov ecx, ebx
call dword [eax + 0x18]
cmp byte [ebx + 4], 0
jne 0x1005e34c
mov eax, dword [ebx]
push 0x10012f0c
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 0x1005dca4
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x20]
jl 0x1005dc29
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx]
call dword [eax + 8]
cmp eax, edi
je 0x1005e377
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x10013190
push edi
call dword [eax + 4]
mov dword [esp + 0x20], 1
jmp 0x1005dc05
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x10013044
push edi
call dword [eax + 4]
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x10013070
push edi
call dword [eax + 4]
lea ecx, [esp + 0xf4]
mov byte [esp + 0x118], 4
call fcn.10024209
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], 0x100199a4
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
call fcn.1005b149
push 0
push 0x100b61d8
push 0x100b6050
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.10086c45
mov dword [esp + 0x98], eax
mov eax, dword [edi + 8]
add esp, 0x14
dec eax
cmp eax, 9
ja case.0x1005dd78.7
jmp dword [eax*4 + 0x1005e88c]
push edi
mov ecx, ebx
call fcn.10062641
jmp 0x1005de2e
mov esi, dword [esp + 0x2c]
mov ebx, edi
mov eax, esi
call fcn.10062045
mov dword [esi + 0x1c], eax
mov ebx, esi
jmp 0x1005de31
mov esi, dword [esp + 0x2c]
mov ebx, edi
mov eax, esi
call fcn.10062148
jmp 0x1005dd99
push edi
mov ecx, ebx
call fcn.1006249e
jmp 0x1005de2e
mov esi, edi
mov ecx, ebx
call fcn.100627e9
jmp 0x1005de2e
mov esi, edi
mov ecx, ebx
call fcn.1006224b
jmp 0x1005de2e
push edi
mov ecx, ebx
call fcn.10062306
jmp 0x1005de2e
push edi
mov ecx, ebx
call fcn.100623a3
jmp 0x1005de2e
push 8
call fcn.1007c44a
pop ecx
test eax, eax
je 0x1005ddfe
mov byte [eax + 4], 0
mov dword [eax], 0x1001a2f4
jmp 0x1005de00
xor eax, eax
mov ecx, dword [ebx + 0x18]
push 0x10013268
mov dword [ebx + 0x1c], eax
mov eax, dword [ecx]
push 4
call dword [eax + 4]
jmp 0x1005de31
push 8
call fcn.1007c44a
pop ecx
test eax, eax
je 0x1005de2c
mov byte [eax + 4], 0
mov dword [eax], 0x1001a2f4
jmp 0x1005de2e
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 0x1005df97
test al, al
je 0x1005dfa6
push 0x1001ab1c
lea eax, [esp + 0x7c]
push eax
call fcn.100580f9
lea eax, [esp + 0x78]
push eax
mov byte [esp + 0x11c], 0xf
mov esi, dword [0x100b8508]
push 0
call fcn.10027f2c
mov byte [esp + 0x118], 0xe
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
call fcn.1007924a
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.1004981c
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
dec eax
je 0x1005df3c
dec eax
je 0x1005df3c
dec eax
je 0x1005df3c
sub eax, 3
je 0x1005df3c
sub eax, 4
je 0x1005df3c
push dword [esp + 0x58]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xac]
lea eax, [esp + 0x20]
push eax
call fcn.1004b5fe
sub esp, 0xc
mov eax, esp
mov byte [esp + 0x124], 0x10
mov dword [eax], 0x1001874c
mov dword [eax], 0x10019810
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.1004af59
mov byte [esp + 0x27], al
mov byte [esp + 0x118], 0xe
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.1007924a
mov al, byte [esp + 0x27]
jmp 0x1005df82
sub esp, 0xc
mov eax, esp
mov dword [eax], 0x1001874c
mov dword [eax], 0x10019810
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xb4]
mov dword [eax + 8], ecx
mov eax, dword [0x100b8508]
mov dword [esp + 0x40], esp
push dword [eax + 0xbe8]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x94]
push eax
call fcn.1004ad6b
test al, al
je 0x1005df9c
cmp byte [esp + 0x5c], 0
jne 0x1005df9c
cmp dword [esp + 0x58], 0x80070bc2
je 0x1005df9c
and dword [esp + 0x58], 0
cmp byte [ebx + 4], 0
je 0x1005de44
mov esi, dword [ebx + 0x1c]
call fcn.10046d18
mov dword [ebx + 0x1c], eax
test esi, esi
je 0x1005dfbd
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
lea edi, [esp + 0x54]
call fcn.1004988a
test al, al
je 0x1005e277
mov ecx, dword [ebx + 0x14]
mov esi, dword [esp + 0x60]
mov eax, dword [ecx]
push esi
call dword [eax + 4]
push 0
push 0x100b6130
push 0x100b6050
push 0
push eax
call fcn.10086c45
mov ecx, dword [ebx + 8]
add esp, 0x14
dec ecx
je 0x1005e00e
dec ecx
je 0x1005e006
dec ecx
jne 0x1005e00e
mov ecx, dword [eax + 0x2c]
mov al, byte [eax + 0x30]
jmp 0x1005e014
mov ecx, dword [eax + 0x1c]
mov al, byte [eax + 0x20]
jmp 0x1005e014
mov ecx, dword [eax + 0xc]
mov al, byte [eax + 0x10]
cmp byte [ebx + 0x24], 0
mov byte [esp + 0x68], al
je 0x1005e02c
test al, al
jne 0x1005e02c
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x20]
mov dword [esp + 0x38], eax
push 2
pop edi
cmp ecx, edi
je 0x1005e3d3
test ecx, ecx
je 0x1005e5e6
cmp ecx, 1
jne 0x1005e2af
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x24]
test al, al
jne 0x1005e23f
cmp byte [esp + 0x68], al
jne 0x1005e23f
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 [0x100b8508]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xbe4]
cmp eax, 1
je 0x1005e0a5
cmp eax, edi
jne 0x1005e204
push 3
pop eax
call fcn.10028013
mov eax, dword [0x100b8508]
lea ecx, [esp + 0x44]
call fcn.1002803e
mov byte [esp + 0x118], 0x1e
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x3c]
push eax
push 0x1ce
call fcn.1002c58b
mov edi, eax
mov byte [esp + 0x118], 0x1d
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
call fcn.1007924a
push 0x10013b70
lea eax, [esp + 0x1c]
push eax
call fcn.100580f9
push edi
push esi
lea edi, [esp + 0x20]
mov byte [esp + 0x120], 0x1f
call fcn.10061303
mov byte [esp + 0x118], 0x1d
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
call fcn.1007924a
mov esi, dword [esp + 0x20]
mov eax, dword [esi]
sub eax, 0x10
call fcn.100791e7
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x1000b270
xor ecx, ecx
mov byte [esp + 0x11c], 0x20
call fcn.10058652
cmp eax, 0xffffffff
je 0x1005e181
mov ecx, eax
lea edx, [esp + 0x40]
mov eax, esi
call fcn.100588a8
lea edi, [esp + 0x14]
mov byte [esp + 0x118], 0x21
call fcn.10058274
mov byte [esp + 0x118], 0x20
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
call fcn.1007924a
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x3c]
lea eax, [esp + 0x14]
push eax
push 0x1cd
call fcn.1002c58b
mov edi, eax
push 0x10013bd0
lea eax, [esp + 0x40]
push eax
call fcn.100580f9
push edi
push esi
lea edi, [esp + 0x44]
mov byte [esp + 0x120], 0x22
call fcn.10061303
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
call fcn.1007924a
mov eax, dword [0x100b8508]
mov edi, dword [esp + 0x14]
mov esi, eax
add eax, 0x9e4
push eax
mov edx, edi
mov ecx, 0xff
call fcn.10078d81
mov ecx, dword [esp + 0x34]
xor eax, eax
mov word [esi + 0xbe0], ax
mov eax, dword [0x100b8508]
mov dword [eax + 0xbec], ecx
lea eax, [edi - 0x10]
call fcn.1007924a
mov byte [esp + 0x118], 0xe
mov eax, dword [esp + 0xb4]
add eax, 0xfffffff0
call fcn.1007924a
mov edx, dword [esp + 0x58]
lea ecx, [ebx + 0x30]
call fcn.100497e4
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x10013380
push 0
call dword [eax + 4]
push 0x10013400
push 0
jmp 0x1005e246
push 0x100134a8
push 1
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebx + 4], 0
jne 0x1005e7c7
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 0x1005e2af
mov edx, dword [esp + 0x58]
mov esi, 0x80070bc2
cmp edx, esi
jne 0x1005e2a7
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x10013524
push 4
call dword [eax + 4]
lea ecx, [ebx + 0x30]
mov edx, esi
call fcn.100497e4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax + 0x10]
jmp 0x1005e2af
lea ecx, [ebx + 0x30]
call fcn.100497e4
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], 0x100199a4
call fcn.1005b149
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
inc dword [esp + 0x28]
call dword [eax]
cmp dword [esp + 0x28], eax
jb 0x1005d9ab
jmp 0x1005e7e6
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push 0x80004004
call dword [eax + 0xc]
lea esi, [esp + 0xd4]
mov dword [esp + 0xcc], 0x10019828
call fcn.10069e22
cmp dword [esp + 0x48], 0
je 0x1005e329
push dword [esp + 0x48]
call fcn.1007c1ae
pop ecx
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0x11c], 0
call fcn.100239be
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
call fcn.1007924a
jmp 0x1005e874
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 0x10012fe0
push edi
mov ecx, ebx
call dword [eax + 4]
lea ecx, [esp + 0xf4]
call fcn.10024209
jmp 0x1005e301
push 0x100130c4
lea eax, [esp + 0x40]
push eax
call fcn.100580f9
lea eax, [esp + 0x3c]
mov byte [esp + 0x118], 0xd
mov esi, dword [ebx + 0x2c]
push eax
call fcn.1005ad9b
mov byte [esp + 0x118], 0xc
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
call fcn.1007924a
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x100130d8
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 0x1005e369
mov edx, dword [esp + 0x58]
lea ecx, [ebx + 0x30]
call fcn.100497e4
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 [0x100b8508]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xbe4]
cmp eax, 1
je 0x1005e420
cmp eax, edi
jne 0x1005e57f
push 3
pop eax
call fcn.10028013
mov eax, dword [0x100b8508]
lea ecx, [esp + 0x34]
call fcn.1002803e
mov byte [esp + 0x118], 0x12
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0x3c]
push eax
push 0x1ce
call fcn.1002c58b
mov edi, eax
mov byte [esp + 0x118], 0x11
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
call fcn.1007924a
push 0x10013b70
lea eax, [esp + 0x14]
push eax
call fcn.100580f9
push edi
push esi
lea edi, [esp + 0x18]
mov byte [esp + 0x120], 0x13
call fcn.10061303
mov byte [esp + 0x118], 0x11
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.1007924a
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
sub eax, 0x10
call fcn.100791e7
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x1000b270
xor ecx, ecx
mov byte [esp + 0x11c], 0x14
call fcn.10058652
cmp eax, 0xffffffff
je 0x1005e4fc
mov ecx, eax
lea edx, [esp + 0x34]
mov eax, esi
call fcn.100588a8
lea edi, [esp + 0x14]
mov byte [esp + 0x118], 0x15
call fcn.10058274
mov byte [esp + 0x118], 0x14
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
call fcn.1007924a
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0x3c]
lea eax, [esp + 0x14]
push eax
push 0x1cd
call fcn.1002c58b
mov edi, eax
push 0x10013bd0
lea eax, [esp + 0x14]
push eax
call fcn.100580f9
push edi
push esi
lea edi, [esp + 0x18]
mov byte [esp + 0x120], 0x16
call fcn.10061303
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.1007924a
mov eax, dword [0x100b8508]
mov edi, dword [esp + 0x14]
mov esi, eax
add eax, 0x9e4
push eax
mov edx, edi
mov ecx, 0xff
call fcn.10078d81
mov ecx, dword [esp + 0x40]
xor eax, eax
mov word [esi + 0xbe0], ax
mov eax, dword [0x100b8508]
mov dword [eax + 0xbec], ecx
lea eax, [edi - 0x10]
call fcn.1007924a
mov byte [esp + 0x118], 0xe
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
call fcn.1007924a
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x100132c8
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.10061fb8
lea esi, [esp + 0x88]
mov dword [esp + 0x80], 0x100199a4
call fcn.1005b149
jmp 0x1005e81b
mov edx, dword [esp + 0x58]
lea ecx, [ebx + 0x30]
call fcn.100497e4
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 [0x100b8508]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xbe4]
cmp eax, 1
je 0x1005e633
cmp eax, edi
jne 0x1005e792
push 3
pop eax
call fcn.10028013
mov eax, dword [0x100b8508]
lea ecx, [esp + 0x34]
call fcn.1002803e
mov byte [esp + 0x118], 0x18
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0x3c]
push eax
push 0x1ce
call fcn.1002c58b
mov edi, eax
mov byte [esp + 0x118], 0x17
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
call fcn.1007924a
push 0x10013b70
lea eax, [esp + 0x14]
push eax
call fcn.100580f9
push edi
push esi
lea edi, [esp + 0x18]
mov byte [esp + 0x120], 0x19
call fcn.10061303
mov byte [esp + 0x118], 0x17
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.1007924a
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
sub eax, 0x10
call fcn.100791e7
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x1000b270
xor ecx, ecx
mov byte [esp + 0x11c], 0x1a
call fcn.10058652
cmp eax, 0xffffffff
je 0x1005e70f
mov ecx, eax
lea edx, [esp + 0x34]
mov eax, esi
call fcn.100588a8
lea edi, [esp + 0x14]
mov byte [esp + 0x118], 0x1b
call fcn.10058274
mov byte [esp + 0x118], 0x1a
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
call fcn.1007924a
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0x3c]
lea eax, [esp + 0x14]
push eax
push 0x1cd
call fcn.1002c58b
mov edi, eax
push 0x10013bd0
lea eax, [esp + 0x14]
push eax
call fcn.100580f9
push edi
push esi
lea edi, [esp + 0x18]
mov byte [esp + 0x120], 0x1c
call fcn.10061303
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.1007924a
mov eax, dword [0x100b8508]
mov edi, dword [esp + 0x14]
mov esi, eax
add eax, 0x9e4
push eax
mov edx, edi
mov ecx, 0xff
call fcn.10078d81
mov ecx, dword [esp + 0x40]
xor eax, eax
mov word [esi + 0xbe0], ax
mov eax, dword [0x100b8508]
mov dword [eax + 0xbec], ecx
lea eax, [edi - 0x10]
call fcn.1007924a
mov byte [esp + 0x118], 0xe
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
call fcn.1007924a
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x10013328
push 0
call dword [eax + 4]
cmp byte [ebx + 4], 0
lea esi, [esp + 0x88]
jne 0x1005e7ce
jmp 0x1005e5d1
lea esi, [esp + 0x88]
mov byte [esp + 0x118], 4
mov dword [esp + 0x80], 0x100199a4
call fcn.1005b149
cmp byte [ebx + 4], 0
je 0x1005e81b
cmp dword [esp + 0x28], 0
jbe 0x1005e81b
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x24]
test al, al
je 0x1005e81b
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
push 0x10013558
push 1
call dword [eax + 4]
push dword [esp + 0x28]
mov ecx, ebx
push dword [ebp + 8]
call fcn.10061fb8
lea esi, [esp + 0xd4]
mov dword [esp + 0xcc], 0x10019828
call fcn.10069e22
cmp dword [esp + 0x48], 0
je 0x1005e843
push dword [esp + 0x48]
call fcn.1007c1ae
pop ecx
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0x11c], 0
call fcn.100239be
or dword [esp + 0x118], 0xffffffff
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
call fcn.1007924a
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