Function at 0x1001c18c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x18c
xor ecx, ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x188], eax
mov byte [eax + 0x17], 0
mov dword [eax], 0
mov dword [eax + 4], 0x7ffffffe
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [esp + 0x14c], ecx
mov edx, dword [eax + 0x28]
cmp ecx, edx
jae 0x1001d170
mov ebx, dword [esp + 0x188]
mov edx, dword [ebx + 0x2c]
mov ebx, dword [ebx + 0x28]
mov dword [esp + 0x108], ebx
mov eax, dword [esp + 0x14c]
cmp eax, ebx
mov dword [esp + 0x10c], edx
jb 0x1001c212
mov dword [esp + 4], 0x4e2
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ecx, dword [esp + 0x10c]
movzx esi, byte [ecx + eax]
sub esi, 0x20
cmp esi, 0x19
ja case.0x1001c229.33
jmp dword [esi*4 + 0x10070ba0]
mov esi, dword [esp + 0x14c]
inc esi
xor ebx, ebx
mov edx, dword [esp + 0x188]
lea ecx, [esi + 1]
cmp ecx, dword [edx + 0x28]
setb cl
mov edx, 0x1001d1d0
push ecx
lea eax, [esp + 0x18c]
mov ecx, 0x1001bf8c
push edx
push eax
mov eax, 0x4ea
push ecx
push 0xc
call fcn.1000b2fc
mov edx, dword [esp + 0x188]
mov eax, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
mov edi, esi
inc esi
mov dword [esp + 0x140], eax
cmp edi, eax
mov dword [esp + 0x144], edx
jb 0x1001c2a1
mov dword [esp + 4], 0x4ec
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ecx, dword [esp + 0x144]
cmp byte [ecx + edi], 0x25
jne 0x1001c23a
mov dword [esp + 0x130], eax
cmp esi, eax
mov dword [esp + 0x134], edx
jb 0x1001c2d4
mov dword [esp + 4], 0x4f1
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov edx, dword [esp + 0x134]
cmp byte [edx + esi], 0x2d
jne 0x1001c310
mov ecx, dword [esp + 0x188]
inc esi
cmp esi, dword [ecx + 0x28]
setb dl
mov ecx, 0x1001d210
push edx
lea eax, [esp + 0x18c]
mov edx, 0x1001bf8c
push ecx
push eax
mov eax, 0x4f4
push edx
push 0xc
call fcn.1000b2fc
mov ecx, dword [esp + 0x188]
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x138], eax
cmp esi, eax
mov dword [esp + 0x13c], edx
jb 0x1001c343
mov dword [esp + 4], 0x4f7
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ecx, dword [esp + 0x13c]
cmp byte [ecx + esi], 0x29
jne 0x1001c35d
test ebx, ebx
lea ebx, [ebx - 1]
jne 0x1001c23a
jmp 0x1001c3d7
mov dword [esp + 0x120], eax
cmp esi, eax
mov dword [esp + 0x124], edx
jb 0x1001c383
mov dword [esp + 4], 0x4fb
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ecx, dword [esp + 0x124]
cmp byte [ecx + esi], 0x7c
jne 0x1001c39a
test ebx, ebx
jne 0x1001c23a
jmp 0x1001c3d7
mov dword [esp + 0x110], eax
cmp esi, eax
mov dword [esp + 0x114], edx
jb 0x1001c3c0
mov dword [esp + 4], 0x4ff
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov edx, dword [esp + 0x114]
cmp byte [edx + esi], 0x28
jne 0x1001c23a
inc ebx
jmp 0x1001c23a
mov ebx, dword [esp + 0x188]
mov eax, dword [ebx + 0x28]
mov edx, dword [ebx + 0x2c]
mov dword [esp + 0x40], eax
cmp esi, eax
mov dword [esp + 0x44], edx
jb 0x1001c404
mov dword [esp + 4], 0x504
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov edi, dword [esp + 0x44]
cmp byte [edi + esi], 0x7c
jne 0x1001c62d
mov dword [esp + 0x17c], esi
inc esi
mov edx, dword [esp + 0x188]
mov eax, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x128], eax
mov edi, esi
inc esi
mov dword [esp + 0x12c], edx
cmp edi, eax
jb 0x1001c450
mov dword [esp + 4], 0x509
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ecx, dword [esp + 0x12c]
mov ebx, 0x25
cmp byte [ecx + edi], bl
jne 0x1001c41a
mov dword [esp + 0x118], eax
cmp esi, eax
mov dword [esp + 0x11c], edx
jb 0x1001c487
mov dword [esp + 4], 0x50b
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov edi, dword [esp + 0x11c]
cmp byte [edi + esi], bl
jne 0x1001c499
inc esi
jmp 0x1001c41a
mov dword [esp + 0xe0], eax
cmp esi, eax
mov dword [esp + 0xe4], edx
jb 0x1001c4bf
mov dword [esp + 4], 0x50d
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov eax, dword [esp + 0xe4]
cmp byte [eax + esi], 0x29
je 0x1001c558
mov dword [esp], 0x10070d60
call fcn.1001e334
mov edx, 0x1001c14c
mov edi, eax
push edx
push 0x1d
mov ecx, dword [esp + 0x190]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0xf8], eax
mov edx, dword [ecx + 0x2c]
mov ebx, eax
mov dword [esp + 0xfc], edx
cmp ebx, ebx
jb 0x1001c50b
cmp ebx, esi
jae 0x1001c51b
mov ecx, 0x1001bf8c
push 0x512
push ecx
call fcn.10018044
mov eax, ebx
mov edx, dword [esp + 0xfc]
add edx, esi
sub eax, esi
push edx
push eax
call fcn.1000b34c
mov ecx, 0x1001bf8c
push edx
push eax
mov eax, 0xc
push ecx
push eax
mov eax, edi
push 0x510
push 0
call fcn.1001d7f0
mov dword [esp], eax
call fcn.10019b14
jmp 0x1001c41a
mov edx, dword [esp + 0x188]
lea ebx, [edx + 0x18]
mov eax, dword [edx + 0x28]
mov dword [esp + 0x68], eax
mov edx, dword [edx + 0x2c]
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0x6c], edx
lea edx, [ecx - 1]
cmp dword [esp + 0x68], edx
jb 0x1001c58f
mov eax, dword [esp + 0x14c]
inc eax
cmp edx, eax
jae 0x1001c5a3
mov dword [esp + 4], 0x514
mov dword [esp], 0x1001bf8c
call fcn.10018044
lea eax, [ecx - 2]
mov edx, dword [esp + 0x6c]
sub eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x14c]
mov dword [ebx], eax
lea edx, [ecx + edx + 1]
mov dword [ebx + 4], edx
mov ecx, dword [esp + 0x188]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x60], eax
mov edx, dword [ecx + 0x2c]
lea edi, [ecx + 0x20]
mov dword [esp + 0x64], edx
lea ecx, [esi - 1]
cmp dword [esp + 0x60], ecx
jb 0x1001c5f6
mov edx, dword [esp + 0x17c]
lea eax, [edx + 1]
cmp ecx, eax
jae 0x1001c60a
mov dword [esp + 4], 0x515
mov dword [esp], 0x1001bf8c
call fcn.10018044
lea eax, [esi - 2]
mov ecx, dword [esp + 0x64]
sub eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x17c]
mov dword [edi], eax
lea ecx, [edx + ecx + 1]
mov dword [edi + 4], ecx
jmp 0x1001c6a1
mov dword [esp + 0x5c], edx
mov ecx, dword [esp + 0x188]
lea ebx, [ecx + 0x18]
mov dword [esp + 0x58], eax
lea edx, [esi - 1]
cmp dword [esp + 0x58], edx
jb 0x1001c657
mov ecx, dword [esp + 0x14c]
inc ecx
cmp edx, ecx
jae 0x1001c66b
mov dword [esp + 4], 0x519
mov dword [esp], 0x1001bf8c
call fcn.10018044
lea eax, [esi - 2]
mov edx, dword [esp + 0x5c]
sub eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x14c]
mov dword [ebx], eax
lea edx, [ecx + edx + 1]
mov dword [ebx + 4], edx
mov ecx, dword [esp + 0x188]
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x24], 0
mov edx, dword [esp + 0x188]
mov byte [edx + 0x14], 0x28
mov edi, dword [esp + 0x188]
add edi, 0x28
mov ecx, dword [esp + 0x188]
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x38], eax
mov ebx, eax
cmp ebx, ebx
mov dword [esp + 0x3c], edx
jb 0x1001c6d8
lea ecx, [esi + 1]
cmp ebx, ecx
jae 0x1001c6ec
mov dword [esp + 4], 0x51f
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov eax, ebx
lea edx, [esi + 1]
mov ecx, dword [esp + 0x3c]
sub eax, edx
lea edx, [esi + ecx + 1]
mov dword [edi], eax
mov dword [edi + 4], edx
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
add esp, 0x18c
ret
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x164], ecx
push 1
mov eax, dword [esp + 0x168]
call fcn.1001c084
inc dword [esp + 0x14c]
mov edx, dword [esp + 0x188]
mov ebx, dword [edx + 0x28]
cmp dword [esp + 0x14c], ebx
jb 0x1001c1d8
jmp 0x1001d170
mov ebx, dword [esp + 0x188]
mov dword [esp + 0x16c], ebx
push 1
mov eax, dword [esp + 0x170]
call fcn.1001c0e4
inc dword [esp + 0x14c]
jmp 0x1001c736
mov edx, dword [esp + 0x188]
mov dword [esp + 0x170], edx
push 1
mov eax, dword [esp + 0x174]
call fcn.1001c104
inc dword [esp + 0x14c]
jmp 0x1001c736
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x174], ecx
push 1
mov eax, dword [esp + 0x178]
call fcn.1001c0a4
inc dword [esp + 0x14c]
jmp 0x1001c736
mov ebx, dword [esp + 0x188]
mov dword [esp + 0x148], ebx
push 1
mov eax, dword [esp + 0x14c]
call fcn.1001c0c4
inc dword [esp + 0x14c]
jmp 0x1001c736
inc dword [esp + 0x14c]
mov edx, dword [esp + 0x188]
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
cmp dword [esp + 0x14c], eax
jb 0x1001c832
mov dword [esp + 4], 0x527
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov esi, dword [esp + 0x8c]
movzx eax, byte [esi + ebx]
call fcn.10021344
test al, al
je 0x1001c93f
mov edi, dword [esp + 0x188]
mov edx, dword [esp + 0x188]
mov eax, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
add edi, 0x28
mov dword [esp + 0x90], eax
mov ebx, eax
cmp ebx, ebx
mov dword [esp + 0x94], edx
jb 0x1001c87a
cmp ebx, 1
jae 0x1001c88e
mov dword [esp + 4], 0x52b
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ecx, dword [esp + 0x94]
lea eax, [ebx - 1]
mov dword [edi], eax
inc ecx
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x188]
mov dword [esp + 0x184], edx
mov ecx, dword [esp + 0x188]
lea eax, [ecx + 0x28]
call fcn.1000b4ec
mov edx, dword [esp + 0x184]
neg eax
mov dword [edx], eax
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x14c], 0
mov esi, dword [esp + 0x14c]
inc esi
mov dword [esp + 0x14c], esi
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x70], eax
dec esi
cmp esi, eax
mov dword [esp + 0x74], edx
jb 0x1001c90e
mov dword [esp + 4], 0x52e
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ecx, dword [esp + 0x74]
cmp byte [ecx + esi], 0x24
sete dl
mov ecx, 0x1001d25c
push edx
lea eax, [esp + 0x18c]
mov edx, 0x1001bf8c
push ecx
push eax
mov eax, 0x52e
push edx
push 0xc
call fcn.1000b2fc
jmp 0x1001c736
mov ebx, dword [esp + 0x188]
mov dword [ebx], 0x7fffffff
jmp 0x1001c736
mov ecx, dword [esp + 0x188]
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0xb0], eax
mov ebx, eax
cmp ebx, ebx
mov dword [esp + 0xb4], edx
jb 0x1001c97b
cmp ebx, dword [esp + 0x14c]
jae 0x1001c98f
mov dword [esp + 4], 0x538
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ecx, ebx
mov edx, dword [esp + 0xb4]
sub ecx, dword [esp + 0x14c]
lea eax, [esp + 0x30]
add edx, dword [esp + 0x14c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
call fcn.1000c200
mov ecx, 0x1001d288
mov edx, 0x1001bf8c
push dword [esp + 0x30]
lea edi, [esp + 0x18c]
mov esi, eax
push ecx
mov eax, 0x53a
push edi
push edx
push 0xc
call fcn.1000c4a0
push dword [esp + 0x34]
push dword [esp + 0x34]
mov ecx, dword [esp + 0x190]
push dword [ecx + 0x2c]
push dword [ecx + 0x28]
call fcn.1000c4f0
mov dword [esp + 0x14c], eax
mov eax, 0x24
push dword [esp + 0x34]
push dword [esp + 0x34]
call fcn.1000c50c
test al, al
je 0x1001ca38
mov ecx, dword [esp + 0x188]
lea ebx, [ecx + 0x16]
lea edi, [ecx + 0x15]
mov eax, esi
call fcn.1000c57c
mov byte [edi], al
mov byte [ebx], al
inc dword [esp + 0x14c]
jmp 0x1001c736
push dword [esp + 0x34]
mov eax, 0x3a
push dword [esp + 0x34]
call fcn.1000c50c
test al, al
je 0x1001cb64
mov ebx, dword [esp + 0x188]
add ebx, 0x15
mov eax, esi
call fcn.1000c57c
mov byte [ebx], al
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x30]
cmp ecx, ecx
jb 0x1001ca76
cmp ecx, 1
jae 0x1001ca8a
mov dword [esp + 4], 0x547
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov edx, dword [esp + 0x34]
lea eax, [edi - 1]
mov dword [esp + 0x30], eax
inc edx
mov dword [esp + 0x34], edx
push edx
push eax
mov eax, 0x24
call fcn.1000c50c
test al, al
je 0x1001cab7
mov ecx, dword [esp + 0x188]
mov byte [ecx + 0x16], 0xff
jmp 0x1001cacc
mov ebx, dword [esp + 0x188]
add ebx, 0x16
lea eax, [esp + 0x30]
call fcn.1000c5f0
mov byte [ebx], al
push dword [esp + 0x34]
push dword [esp + 0x34]
mov esi, dword [esp + 0x190]
push dword [esi + 0x2c]
push dword [esi + 0x28]
call fcn.1000c4f0
mov edx, dword [esp + 0x188]
mov dword [esp + 0x14c], eax
mov ebx, dword [esp + 0x14c]
inc ebx
mov dword [esp + 0x14c], ebx
mov eax, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0xb8], eax
dec ebx
cmp ebx, eax
mov dword [esp + 0xbc], edx
jb 0x1001cb30
mov dword [esp + 4], 0x551
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov edi, dword [esp + 0xbc]
cmp byte [edi + ebx], 0x24
sete cl
mov edx, 0x1001d2c8
push ecx
lea esi, [esp + 0x18c]
mov eax, 0x1001bf8c
push edx
push esi
push eax
mov eax, 0x551
push 0xc
call fcn.1000b2fc
jmp 0x1001c736
mov ebx, dword [esp + 0x188]
mov eax, esi
call fcn.1000c650
mov dword [ebx], eax
jmp 0x1001c736
inc dword [esp + 0x14c]
mov ebx, dword [esp + 0x188]
mov dword [esp + 0x168], ebx
push 1
mov eax, dword [esp + 0x16c]
call fcn.1001c124
mov edx, dword [esp + 0x188]
mov eax, dword [edx + 0x28]
mov dword [esp + 0xc8], eax
mov edx, dword [edx + 0x2c]
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0xcc], edx
cmp ecx, eax
jb 0x1001cbd6
mov dword [esp + 4], 0x55f
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ebx, dword [esp + 0xcc]
cmp byte [ebx + ecx], 0x2a
jne 0x1001cbfd
inc dword [esp + 0x14c]
mov ebx, dword [esp + 0x188]
mov dword [ebx + 8], 0x7fffffff
jmp 0x1001ccce
mov dword [esp + 0x78], eax
cmp ecx, eax
mov dword [esp + 0x7c], edx
jb 0x1001cc1d
mov dword [esp + 4], 0x565
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov esi, dword [esp + 0x7c]
movzx eax, byte [esi + ecx]
call fcn.10021344
test al, al
je 0x1001ccc0
mov edx, dword [esp + 0x188]
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov dword [esp + 0xc0], eax
mov ebx, eax
cmp ebx, ebx
mov dword [esp + 0xc4], ecx
jb 0x1001cc5c
cmp ebx, dword [esp + 0x14c]
jae 0x1001cc70
mov dword [esp + 4], 0x567
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ecx, ebx
lea esi, [edx + 8]
sub ecx, dword [esp + 0x14c]
lea eax, [esp + 0x28]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0xc4]
add ecx, dword [esp + 0x14c]
mov dword [esp + 0x2c], ecx
call fcn.1000b4ec
mov dword [esi], eax
push dword [esp + 0x2c]
push dword [esp + 0x2c]
mov edx, dword [esp + 0x190]
push dword [edx + 0x2c]
push dword [edx + 0x28]
call fcn.1000c4f0
mov dword [esp + 0x14c], eax
jmp 0x1001ccce
mov ecx, dword [esp + 0x188]
mov dword [ecx + 8], 3
mov ecx, dword [esp + 0x188]
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x98], eax
mov esi, dword [esp + 0x14c]
cmp esi, eax
mov dword [esp + 0x9c], edx
jb 0x1001cd08
mov dword [esp + 4], 0x571
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov edi, dword [esp + 0x9c]
cmp byte [edi + esi], 0x3f
jne 0x1001c736
mov dword [ecx + 0xc], 0x7fffffff
inc dword [esp + 0x14c]
jmp 0x1001c736
inc dword [esp + 0x14c]
mov eax, dword [esp + 0x188]
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x28]
mov esi, dword [esp + 0x14c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
cmp dword [esp + 0x14c], eax
jb 0x1001cd72
mov dword [esp + 4], 0x57a
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ebx, dword [esp + 0x84]
cmp byte [ebx + esi], 0x2a
jne 0x1001cefe
inc dword [esp + 0x14c]
mov edx, dword [esp + 0x188]
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
cmp dword [esp + 0x14c], eax
jb 0x1001cdc9
mov dword [esp + 4], 0x57c
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov esi, dword [esp + 0xd4]
movzx eax, byte [esi + ebx]
call fcn.10021344
test al, al
je 0x1001ceeb
mov edi, dword [esp + 0x188]
mov edx, dword [esp + 0x188]
mov eax, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
add edi, 0x28
mov dword [esp + 0xa8], eax
mov ebx, eax
cmp ebx, ebx
mov dword [esp + 0xac], edx
jb 0x1001ce15
cmp ebx, dword [esp + 0x14c]
jae 0x1001ce29
mov dword [esp + 4], 0x580
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov eax, ebx
mov ecx, dword [esp + 0xac]
sub eax, dword [esp + 0x14c]
add ecx, dword [esp + 0x14c]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x188]
lea ecx, [edx + 4]
mov dword [esp + 0x14c], 0
mov dword [esp + 0x180], ecx
lea eax, [edx + 0x28]
call fcn.1000b4ec
mov edx, dword [esp + 0x180]
neg eax
mov dword [edx], eax
mov esi, dword [esp + 0x14c]
inc esi
mov dword [esp + 0x14c], esi
mov ecx, dword [esp + 0x188]
dec esi
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
cmp esi, eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
jb 0x1001ceb7
mov dword [esp + 4], 0x583
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ecx, dword [esp + 0xdc]
cmp byte [ecx + esi], 0x24
sete dl
mov ecx, 0x1001d2d4
push edx
lea eax, [esp + 0x18c]
mov edx, 0x1001bf8c
push ecx
push eax
mov eax, 0x583
push edx
push 0xc
call fcn.1000b2fc
jmp 0x1001c736
mov ebx, dword [esp + 0x188]
mov dword [ebx + 4], 0x7fffffff
jmp 0x1001c736
mov dword [esp + 0xe8], eax
mov esi, dword [esp + 0x14c]
cmp esi, eax
mov dword [esp + 0xec], edx
jb 0x1001cf2b
mov dword [esp + 4], 0x58c
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ecx, dword [esp + 0xec]
cmp byte [ecx + esi], 0x2d
jne 0x1001cfd6
mov esi, dword [esp + 0x188]
mov dword [esi + 4], 0
mov edi, dword [esp + 0x188]
mov eax, dword [edi + 0x28]
mov edx, dword [edi + 0x2c]
mov ebx, eax
mov dword [esp + 0xf8], eax
cmp ebx, ebx
mov dword [esp + 0xfc], edx
jb 0x1001cf74
cmp ebx, dword [esp + 0x14c]
jae 0x1001cf88
mov dword [esp + 4], 0x590
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ecx, ebx
mov esi, dword [esp + 0xfc]
sub ecx, dword [esp + 0x14c]
lea eax, [esp + 0x20]
add esi, dword [esp + 0x14c]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], esi
call fcn.1000b4ec
push dword [esp + 0x24]
push dword [esp + 0x24]
mov edi, dword [esp + 0x190]
push dword [edi + 0x2c]
push dword [edi + 0x28]
call fcn.1000c4f0
mov dword [esp + 0x14c], eax
jmp 0x1001c736
mov dword [esp + 0x100], eax
cmp esi, eax
mov dword [esp + 0x104], edx
jb 0x1001cffc
mov dword [esp + 4], 0x594
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov edx, dword [esp + 0x104]
movzx eax, byte [edx + esi]
call fcn.10021344
test al, al
je 0x1001d0a5
mov ecx, dword [esp + 0x188]
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0xa0], eax
mov ebx, eax
cmp ebx, ebx
mov dword [esp + 0xa4], edx
jb 0x1001d03e
cmp ebx, dword [esp + 0x14c]
jae 0x1001d052
mov dword [esp + 4], 0x596
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov edx, ebx
lea esi, [ecx + 4]
sub edx, dword [esp + 0x14c]
lea eax, [esp + 0x18]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xa4]
add edx, dword [esp + 0x14c]
mov dword [esp + 0x1c], edx
call fcn.1000b4ec
mov dword [esi], eax
push dword [esp + 0x1c]
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x190]
push dword [ecx + 0x2c]
push dword [ecx + 0x28]
call fcn.1000c4f0
mov dword [esp + 0x14c], eax
jmp 0x1001c736
mov ebx, dword [esp + 0x188]
mov dword [ebx + 4], 0
jmp 0x1001c736
mov ecx, dword [esp + 0x188]
mov esi, dword [esp + 0x14c]
inc esi
mov dword [esp + 0x14c], esi
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x48], eax
dec esi
lea edi, [ecx + 0x14]
mov dword [esp + 0x4c], edx
cmp esi, eax
jb 0x1001d0f8
mov dword [esp + 4], 0x5a2
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov ecx, dword [esp + 0x4c]
movzx edx, byte [ecx + esi]
mov byte [edi], dl
mov ecx, dword [esp + 0x188]
mov edx, dword [esp + 0x188]
mov eax, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
add ecx, 0x28
mov dword [esp + 0x50], eax
mov ebx, eax
cmp ebx, ebx
mov dword [esp + 0x54], edx
jb 0x1001d130
cmp ebx, dword [esp + 0x14c]
jae 0x1001d144
mov dword [esp + 4], 0x5a3
mov dword [esp], 0x1001bf8c
call fcn.10018044
mov eax, ebx
mov edx, dword [esp + 0x54]
sub eax, dword [esp + 0x14c]
add edx, dword [esp + 0x14c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
add esp, 0x18c
ret
mov dword [esp], 0x10070d60
call fcn.1001e334
mov esi, 0x1001c16c
mov ebx, eax
push esi
push 0x1c
mov ecx, dword [esp + 0x190]
push dword [ecx + 0x2c]
push dword [ecx + 0x28]
call fcn.1000b34c
push edx
mov edx, 0x1001bf8c
push eax
mov eax, 0xc
push edx
push eax
mov eax, ebx
push 0x5a7
push 0
call fcn.1001d7f0
mov dword [esp], eax
call fcn.10019b14
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
add esp, 0x18c
ret