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

Disassembly:
sub esp, 0x5c
push ebp
mov ebp, dword [esp + 0x6c]
push ebx
push esi
push edi
mov ecx, dword [esp + 0x70]
mov esi, dword [ecx]
mov eax, dword [esp + 0x74]
mov ebx, dword [eax]
or edx, 0xffffffff
mov dword [esp + 0x1c], esi
cmp dword [esp + 0x7c], edx
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], edx
mov dword [esp + 0x14], ebx
jne 0x10019cdb
mov edx, dword [eax + 8]
mov dword [esp + 0x7c], edx
push ebp
push eax
push ecx
call fcn.10019640
mov ebp, eax
shl eax, 5
mov ecx, dword [eax + ebx + 0xc]
lea esi, [eax + ebx]
mov eax, 1
add esp, 0xc
cmp ecx, eax
jne 0x10019d68
cmp word [esi + 0x14], 0
jne 0x10019d68
cmp dword [esi + 0x2c], eax
jne 0x10019d68
cmp word [esi + 0x34], 0
jne 0x10019d68
mov edi, dword [esi + 4]
cmp edi, eax
jne 0x10019d32
mov eax, dword [esi]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
shl ecx, 4
mov eax, dword [ecx + edx + 0x1c]
push eax
call fcn.10012bd0
add esp, 4
test eax, eax
jne 0x10019d61
cmp edi, 2
jne 0x10019d68
mov eax, dword [esi]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [ecx + edx]
cmp byte [eax], 4
jne 0x10019d68
cmp byte [eax + 0x30], 3
jne 0x10019d68
mov eax, dword [eax + 0x4c]
push eax
call fcn.10012cb0
add esp, 4
test eax, eax
je 0x10019d68
mov word [esi + 0x14], 4
inc ebp
mov eax, ebp
shl eax, 5
cmp dword [eax + ebx + 0xc], 1
jne 0x1001abde
mov ecx, dword [esp + 0x14]
cmp word [eax + ecx + 0x14], 0
jne 0x1001abde
mov edx, dword [esp + 0x74]
mov edi, dword [edx]
mov esi, dword [esp + 0x88]
add edi, eax
test esi, esi
mov dword [esp + 0x3c], edi
je 0x10019df8
mov eax, dword [esi + 8]
cmp eax, 0x20
jge 0x10019df8
mov ecx, dword [esi + 4]
inc eax
cmp eax, ecx
jl 0x10019ded
nop
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
inc eax
cmp eax, ecx
jl 0x10019dce
movzx eax, word [esi + 0xc]
nop
add dword [esi + 4], eax
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
inc ecx
cmp ecx, edx
jge 0x10019dc0
mov edx, dword [esi + 4]
mov eax, dword [esi]
shl edx, 2
push edx
push eax
call fcn.10083ee0
mov dword [esi], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
add esp, 8
inc ecx
cmp ecx, eax
jge 0x10019db0
mov edx, dword [esi + 8]
mov eax, dword [esi]
mov dword [eax + edx*4], ebp
inc dword [esi + 8]
mov ebx, dword [esp + 0x1c]
lea ecx, [esp + 0x50]
push ecx
push edi
push ebx
call fcn.10019700
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x60]
inc ebp
cmp ebp, esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], ecx
jge 0x10019f5d
nop
mov edx, ebp
shl edx, 5
lea ecx, [edx + edi]
mov edx, dword [ecx + 0xc]
cmp edx, 3
je 0x10019e72
cmp edx, 0xb
jne 0x10019f5d
cmp edx, 3
jne 0x10019f54
mov eax, dword [ecx]
inc eax
lea eax, [eax + eax*2]
shl eax, 4
cmp byte [eax + ebx], 0x23
jne 0x10019ed6
mov eax, dword [ecx + 0x2c]
test eax, eax
jne 0x10019ed6
cmp dword [ecx + 0x30], 0x2c
jne 0x10019ed6
lea eax, [ebp + 2]
shl eax, 5
mov eax, dword [eax + edi]
lea eax, [eax + eax*2]
shl eax, 4
cmp byte [eax + ebx], 0x23
je 0x10019ed6
mov eax, dword [ecx + 0x4c]
cmp eax, 1
jne 0x10019ed6
cmp dword [ecx + 0x6c], 0
jne 0x10019eb9
add ebp, 4
jmp 0x10019f55
cmp eax, 1
jne 0x10019ed6
cmp dword [ecx + 0x6c], 3
jne 0x10019ed6
mov eax, dword [ecx + 0x8c]
test eax, eax
jne 0x10019ed6
add ebp, 5
jmp 0x10019f55
cmp edx, 3
jne 0x10019f54
cmp dword [esp + 0x30], 0xffffffff
jne 0x10019ee6
mov dword [esp + 0x30], ebp
cmp edx, 3
jne 0x10019f54
mov eax, dword [ecx + 0x10]
test ah, 0x40
je 0x10019f54
inc ebp
cmp ebp, esi
jge 0x10019f5d
mov ecx, ebp
shl ecx, 5
lea eax, [ecx + edi + 0x10]
cmp dword [eax - 4], 5
jne 0x10019f0e
mov ecx, dword [eax]
test ch, 1
jne 0x10019f18
inc ebp
add eax, 0x20
cmp ebp, esi
jl 0x10019f01
jmp 0x10019f5d
inc ebp
cmp ebp, esi
jge 0x10019f41
mov edx, ebp
shl edx, 5
lea eax, [edx + edi + 0xc]
mov ecx, dword [eax]
cmp ecx, 2
je 0x10019f39
cmp ecx, 0xb
je 0x10019f39
cmp word [eax + 8], 0
je 0x10019f41
inc ebp
add eax, 0x20
cmp ebp, esi
jl 0x10019f26
mov eax, ebp
shl eax, 5
mov eax, dword [eax + edi + 0xc]
cmp eax, 1
je 0x10019f54
cmp eax, 4
jne 0x10019f55
inc ebp
cmp ebp, esi
jl 0x10019e50
mov eax, dword [esp + 0x68]
test eax, eax
mov edx, 1
je 0x10019f8b
mov ecx, ebp
shl ecx, 5
lea eax, [ecx + edi]
cmp dword [eax + 0xc], edx
jne 0x10019f8b
mov eax, dword [eax]
lea eax, [eax + eax*2]
shl eax, 4
cmp byte [eax + ebx], 0x23
jne 0x10019f8b
inc ebp
jmp 0x1001a012
mov ecx, ebp
shl ecx, 5
lea eax, [ecx + edi]
mov ecx, dword [eax - 0x14]
cmp ecx, edx
je 0x10019f9f
cmp ecx, 3
jne 0x10019fe9
mov ecx, dword [eax - 0x20]
lea ecx, [ecx + ecx*2]
shl ecx, 4
cmp byte [ecx + ebx], 0x23
jne 0x10019fe9
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x1001a012
cmp dword [eax + 0x2c], edx
jne 0x10019fe9
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x10019fcd
cmp ecx, 3
jne 0x10019fe9
mov esi, dword [eax + 0x6c]
test esi, esi
jne 0x10019fe9
mov eax, dword [eax]
lea eax, [eax + eax*2]
shl eax, 4
cmp byte [eax + ebx], 0x23
je 0x1001a012
xor eax, eax
cmp ecx, 3
sete al
lea ebp, [eax + ebp + 3]
jmp 0x1001a00e
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x1001a012
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x1001a012
cmp dword [eax + 0x2c], edx
jne 0x1001a012
mov eax, dword [eax + 0x20]
lea ecx, [eax + eax*2]
shl ecx, 4
cmp byte [ecx + ebx], 0x23
jne 0x1001a012
add ebp, 3
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x14]
mov edx, ebp
shl edx, 5
lea ebx, [edx + eax]
cmp dword [ebx + 0xc], 1
jne 0x1001a155
mov eax, dword [ebx]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [ecx + edx]
cmp byte [eax], 7
jne 0x1001a155
cmp word [eax + 0xa], 3
jne 0x1001a155
mov eax, dword [eax + 0x1c]
mov edi, 0x100a63dc
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001a155
mov esi, eax
mov edi, 0x100a63dc
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001a155
mov eax, dword [esp + 0x88]
test eax, eax
je 0x1001a0fc
mov ecx, eax
mov eax, dword [ecx + 8]
cmp eax, 0x20
jge 0x1001a0fc
mov edx, ecx
mov ecx, dword [edx + 4]
inc eax
cmp eax, ecx
jl 0x1001a0ea
lea esp, [esp]
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
inc eax
cmp eax, edx
jl 0x1001a0c4
movzx eax, word [ecx + 0xc]
add dword [ecx + 4], eax
mov edx, dword [ecx + 8]
mov esi, dword [ecx + 4]
inc edx
cmp edx, esi
jge 0x1001a0b6
mov esi, dword [esp + 0x88]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
shl eax, 2
push eax
push ecx
call fcn.10083ee0
mov dword [esi], eax
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
add esp, 8
inc edx
cmp edx, eax
jge 0x1001a0a0
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov dword [edx + ecx*4], ebp
inc dword [eax + 8]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x50]
push eax
push ebx
push ecx
call fcn.10019700
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
add eax, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x64]
add ebx, eax
mov eax, dword [esp + 0x6c]
add edi, ecx
mov ecx, dword [esp + 0x1c]
add esi, edx
add esp, 0xc
or ecx, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x10], ecx
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
push ebp
push ebx
push ecx
call fcn.10019640
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x88]
mov ebp, eax
mov edx, ebp
shl edx, 5
mov ecx, dword [edx + esi + 0xc]
lea eax, [edx + esi]
add esp, 0xc
test ecx, ecx
jne 0x1001a2b1
cmp dword [eax + 0x10], 0x2c
jne 0x1001a2b1
lea edx, [ebp + 1]
cmp edx, edi
jge 0x1001a2b1
mov eax, edx
shl eax, 5
lea ecx, [eax + esi + 0xc]
cmp edx, edi
jge 0x1001a1f3
mov eax, dword [ecx]
test eax, eax
jne 0x1001a1b7
cmp dword [ecx + 4], 0x2c
je 0x1001a1c7
cmp eax, 8
je 0x1001a1f3
cmp eax, 9
je 0x1001a1f3
inc edx
add ecx, 0x20
jmp 0x1001a1a7
lea eax, [edx + 1]
cmp eax, edi
jge 0x1001a1f3
mov ecx, eax
shl ecx, 5
lea ecx, [ecx + esi + 0x14]
mov edx, 0xb
lea esp, [esp]
cmp dword [ecx - 8], edx
je 0x1001a1eb
cmp word [ecx], 0
je 0x1001a24f
inc eax
add ecx, 0x20
cmp eax, edi
jl 0x1001a1e0
cmp ebp, edi
mov eax, ebp
jge 0x1001a356
lea ecx, [ecx]
mov ecx, eax
shl ecx, 5
mov edx, dword [ecx + esi + 0xc]
add ecx, esi
test edx, edx
jne 0x1001a215
cmp dword [ecx + 0x10], 0x2c
je 0x1001a22a
cmp edx, 5
jne 0x1001a336
mov edx, dword [ecx + 0x10]
test dh, 1
je 0x1001a336
inc eax
cmp eax, edi
jge 0x1001a358
mov edx, eax
shl edx, 5
mov ecx, dword [edx + esi + 0xc]
cmp ecx, 0xb
jne 0x1001a2ff
inc eax
cmp eax, edi
jl 0x1001a233
jmp 0x1001a356
cmp eax, edi
jge 0x1001a1f3
mov edx, eax
shl edx, 5
mov ecx, dword [edx + esi + 0xc]
add edx, esi
cmp ecx, 8
je 0x1001a2f8
cmp ecx, 9
je 0x1001a2f8
cmp ecx, 1
jne 0x1001a1f3
mov edx, dword [edx + 0x2c]
cmp edx, 8
je 0x1001a28a
cmp edx, 9
jne 0x1001a1f3
mov ecx, dword [esp + 0x88]
xor edx, edx
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x84]
cmp ecx, edx
je 0x1001a2a3
mov dword [ecx], edx
mov dword [esp + 0x8c], edx
mov ebp, eax
jmp 0x10019cab
cmp ebp, edi
jge 0x1001a1f3
cmp ecx, 1
jne 0x1001a1f3
mov eax, dword [eax + 0x2c]
cmp eax, 8
je 0x1001a2d3
cmp eax, 9
jne 0x1001a1f3
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
xor ecx, ecx
cmp eax, ecx
mov dword [edx + 8], ecx
je 0x1001a2ec
mov dword [eax], ecx
mov dword [esp + 0x8c], ecx
jmp 0x10019cab
mov ebp, eax
jmp 0x1001a79f
cmp ecx, 1
jne 0x1001a32c
inc eax
cmp eax, edi
jge 0x1001a358
mov ecx, eax
shl ecx, 5
lea edx, [ecx + esi + 0xc]
mov ecx, dword [edx]
cmp ecx, 3
je 0x1001a322
cmp ecx, 0xb
jne 0x1001a246
inc eax
add edx, 0x20
cmp eax, edi
jl 0x1001a312
jmp 0x1001a356
cmp eax, edi
jl 0x1001a200
jmp 0x1001a356
cmp eax, edi
jge 0x1001a358
mov edx, eax
shl edx, 5
lea ecx, [edx + esi]
mov edx, dword [ecx + 0xc]
test edx, edx
jne 0x1001a356
mov ecx, dword [ecx + 0x10]
cmp ecx, 0x2e
je 0x1001a37f
cmp ecx, 0x3b
je 0x1001a37f
cmp eax, edi
jne 0x1001a530
shl eax, 5
mov eax, dword [eax + esi + 0xc]
cmp eax, 8
je 0x1001a530
cmp eax, 9
je 0x1001a530
test eax, eax
je 0x1001a530
cmp ebp, edi
mov esi, ebp
jge 0x1001a529
lea esp, [esp]
mov ecx, dword [esp + 0x14]
mov eax, esi
shl eax, 5
add eax, ecx
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x1001a3a8
cmp dword [eax + 0x10], 0x2c
je 0x1001a3bd
cmp ecx, 5
jne 0x1001a529
mov ecx, dword [eax + 0x10]
test ch, 1
je 0x1001a529
mov eax, dword [esp + 0x7c]
inc esi
cmp esi, eax
jge 0x1001a529
lea ebx, [ebx]
mov edx, dword [esp + 0x14]
mov eax, esi
shl eax, 5
mov ecx, dword [eax + edx + 0xc]
cmp ecx, 0xb
jne 0x1001a3f2
mov edx, dword [esp + 0x7c]
inc esi
cmp esi, edx
jl 0x1001a3d0
mov ebp, esi
jmp 0x1001a797
cmp ecx, 1
jne 0x1001a51f
mov ecx, dword [esp + 0x74]
mov edi, dword [ecx]
mov ebx, dword [esp + 0x14]
mov ecx, dword [eax + ebx + 0x2c]
add edi, eax
cmp ecx, 4
jne 0x1001a42c
cmp dword [eax + ebx - 0x14], 5
jne 0x1001a420
mov ecx, dword [eax + ebx - 0x10]
test ch, 1
jne 0x1001a42c
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x1001a51f
mov ebp, dword [esp + 0x88]
test ebp, ebp
je 0x1001a491
mov eax, dword [ebp + 8]
cmp eax, 0x20
jge 0x1001a491
mov ecx, dword [ebp + 4]
inc eax
cmp eax, ecx
jl 0x1001a485
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
inc edx
cmp edx, eax
jl 0x1001a464
movzx eax, word [ebp + 0xc]
add dword [ebp + 4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
inc ecx
cmp ecx, edx
jge 0x1001a456
mov edx, dword [ebp + 4]
mov eax, dword [ebp]
shl edx, 2
push edx
push eax
call fcn.10083ee0
mov dword [ebp], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 4]
add esp, 8
inc ecx
cmp ecx, eax
jge 0x1001a447
mov edx, dword [ebp + 8]
mov eax, dword [ebp]
mov dword [eax + edx*4], esi
inc dword [ebp + 8]
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x50]
push ecx
push edi
push edx
call fcn.10019700
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x68]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
add ecx, eax
mov eax, dword [esp + 0x34]
add ebp, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x64]
add eax, ecx
mov ecx, dword [esp + 0x6c]
or edx, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x5c]
add edi, eax
add esp, 0xc
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x7c]
inc esi
cmp esi, edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x20], edi
jge 0x1001a529
mov eax, esi
shl eax, 5
lea ecx, [eax + ebx + 0xc]
lea esp, [esp]
mov eax, dword [ecx]
cmp eax, 3
je 0x1001a510
cmp eax, 0xb
jne 0x1001a3e7
inc esi
add ecx, 0x20
cmp esi, edx
jl 0x1001a500
mov ebp, esi
jmp 0x1001a797
cmp esi, dword [esp + 0x7c]
jl 0x1001a390
mov ebp, esi
jmp 0x1001a797
mov eax, ebp
shl eax, 5
mov edx, dword [eax + esi + 0xc]
test edx, edx
jne 0x1001a580
cmp dword [eax + esi + 0x10], 0x2c
jne 0x1001a580
mov ecx, dword [eax + esi + 0x2c]
cmp ecx, 1
je 0x1001a552
cmp ecx, 3
jne 0x1001a580
cmp dword [eax + esi + 0x4c], 0
jne 0x1001a580
cmp dword [eax + esi + 0x50], 0x2c
jne 0x1001a580
cmp dword [eax + esi + 0x6c], 5
jne 0x1001a79f
mov edx, dword [eax + esi + 0x70]
test dh, 1
je 0x1001a79f
add ebp, 3
jmp 0x1001a79f
lea ecx, [ebp + 4]
cmp ecx, edi
mov dword [esp + 0x78], ecx
jne 0x1001a79f
test edx, edx
jne 0x1001a79f
cmp dword [eax + esi + 0x10], 0x2c
jne 0x1001a79f
cmp dword [eax + esi + 0x2c], 1
jne 0x1001a79f
cmp dword [eax + esi + 0x4c], 5
jne 0x1001a79f
mov ecx, dword [eax + esi + 0x50]
test ch, 1
je 0x1001a79f
mov ecx, dword [eax + esi + 0x6c]
cmp ecx, 1
je 0x1001a5d7
cmp ecx, 2
jne 0x1001a79f
mov ecx, dword [eax + esi + 0x8c]
cmp ecx, 9
je 0x1001a5fe
cmp ecx, 8
je 0x1001a5fe
test ecx, ecx
jne 0x1001a79f
cmp dword [eax + esi + 0x90], 0x2e
jne 0x1001a79f
mov esi, dword [esp + 0x88]
test esi, esi
mov ecx, dword [ebx]
lea edi, [eax + ecx + 0x20]
je 0x1001a66b
mov eax, dword [esi + 8]
cmp eax, 0x20
jge 0x1001a66b
mov ecx, dword [esi + 4]
inc eax
cmp eax, ecx
jl 0x1001a65d
nop
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
inc edx
cmp edx, eax
jl 0x1001a63e
movzx eax, word [esi + 0xc]
nop
add dword [esi + 4], eax
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
inc ecx
cmp ecx, edx
jge 0x1001a630
mov edx, dword [esi + 4]
mov eax, dword [esi]
shl edx, 2
push edx
push eax
call fcn.10083ee0
mov dword [esi], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
add esp, 8
inc ecx
cmp ecx, eax
jge 0x1001a620
mov eax, dword [esi + 8]
mov ecx, dword [esi]
lea edx, [ebp + 1]
mov dword [ecx + eax*4], edx
inc dword [esi + 8]
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x50]
push edx
push edi
push eax
call fcn.10019700
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x1c]
add edx, ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x68]
add eax, edx
mov edx, dword [esp + 0x80]
add ebx, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
or esi, ecx
mov ecx, dword [edx]
add edi, eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x1c], esi
lea edi, [ebp + 3]
mov ebp, dword [esp + 0x94]
mov esi, edi
shl esi, 5
add esp, 0xc
add esi, ecx
test ebp, ebp
je 0x1001a73b
mov eax, dword [ebp + 8]
cmp eax, 0x20
jge 0x1001a73b
mov ecx, dword [ebp + 4]
inc eax
cmp eax, ecx
jl 0x1001a72f
mov edi, edi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
inc eax
cmp eax, ecx
jl 0x1001a70e
movzx eax, word [ebp + 0xc]
nop
add dword [ebp + 4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
inc ecx
cmp ecx, edx
jge 0x1001a700
mov edx, dword [ebp + 4]
mov eax, dword [ebp]
shl edx, 2
push edx
push eax
call fcn.10083ee0
mov dword [ebp], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 4]
add esp, 8
inc ecx
cmp ecx, eax
jge 0x1001a6f0
mov edx, dword [ebp + 8]
mov eax, dword [ebp]
mov dword [eax + edx*4], edi
inc dword [ebp + 8]
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x50]
push ecx
push esi
push edx
call fcn.10019700
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x5c]
add ecx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x68]
add edi, ecx
mov ecx, dword [esp + 0x1c]
add ebx, ebp
mov ebp, dword [esp + 0x84]
add esi, edx
add esp, 0xc
or ecx, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x10], ecx
mov edi, dword [esp + 0x7c]
mov esi, dword [esp + 0x14]
mov ecx, ebp
shl ecx, 5
lea eax, [ecx + esi]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x1001a816
cmp dword [eax + 0x10], 0x2c
jne 0x1001a816
cmp dword [eax + 0x2c], 5
jne 0x1001a816
mov ecx, dword [eax + 0x30]
test ch, 1
je 0x1001a816
mov ecx, dword [eax + 0x4c]
cmp ecx, 1
je 0x1001a7cf
cmp ecx, 3
jne 0x1001a816
lea edx, [ebp + 4]
cmp edx, edi
jne 0x1001a7e3
mov ecx, dword [eax + 0x6c]
test ecx, ecx
jne 0x1001a7e3
cmp dword [eax + 0x70], 0x2c
je 0x1001a80a
lea ecx, [ebp + 5]
cmp ecx, edi
jne 0x1001a816
mov ecx, dword [eax + 0x6c]
cmp ecx, 1
je 0x1001a7f7
cmp ecx, 3
jne 0x1001a816
mov ecx, dword [eax + 0x8c]
test ecx, ecx
jne 0x1001a816
cmp dword [eax + 0x90], 0x2c
jne 0x1001a816
mov eax, dword [esp + 0x2c]
inc ebp
or eax, 1
mov dword [esp + 0x2c], eax
mov edx, ebp
shl edx, 5
mov ecx, dword [edx + esi + 0xc]
cmp ecx, 5
lea eax, [edx + esi]
jne 0x1001ab12
mov ecx, dword [eax + 0x10]
test ch, 1
je 0x1001ab12
cmp ebp, dword [esp + 0x7c]
jge 0x1001ab12
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
inc ebp
push ebp
push eax
push ecx
mov dword [esp + 0x44], 0xffffffff
call fcn.10019640
mov edx, dword [esp + 0x20]
mov dword [esp + 0x84], eax
shl eax, 5
mov ecx, dword [eax + edx + 0xc]
add esp, 0xc
cmp ecx, 1
jne 0x1001aa88
mov ecx, dword [esp + 0x74]
mov edi, dword [ecx]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
add edi, eax
mov eax, dword [edx]
lea eax, [eax + eax*2]
shl eax, 4
mov cl, byte [eax + esi]
add eax, esi
cmp cl, 1
mov dword [esp + 0x34], edi
je 0x1001a8e6
cmp cl, 4
jne 0x1001a8bb
mov edx, dword [eax + 0x28]
mov dl, byte [edx + 4]
cmp dl, 0x6e
je 0x1001a8e6
cmp dl, 0x70
je 0x1001a8e6
xor ebp, ebp
cmp cl, 7
je 0x1001a8c7
cmp cl, 4
jne 0x1001a8eb
mov cl, byte [eax + 0x30]
cmp cl, 1
je 0x1001a8e6
cmp cl, 4
jne 0x1001a8e2
mov eax, dword [eax + 0x58]
mov al, byte [eax + 4]
cmp al, 0x6e
je 0x1001a8e6
cmp al, 0x70
je 0x1001a8e6
xor ebp, ebp
jmp 0x1001a8eb
mov ebp, 1
mov ebx, dword [edi]
lea ecx, [ebx + ebx*2]
shl ecx, 4
mov al, byte [ecx + esi]
add ecx, esi
cmp al, 1
mov dword [esp + 0x40], ebx
je 0x1001a93f
cmp al, 8
je 0x1001a93f
cmp al, 4
jne 0x1001a918
mov edx, dword [ecx + 0x28]
mov dl, byte [edx + 4]
cmp dl, 0x6e
je 0x1001a93f
cmp dl, 0x70
je 0x1001a93f
xor edx, edx
cmp al, 7
je 0x1001a922
cmp al, 4
jne 0x1001a944
mov al, byte [ecx + 0x30]
cmp al, 1
je 0x1001a93f
cmp al, 4
jne 0x1001a93b
mov eax, dword [ecx + 0x58]
mov al, byte [eax + 4]
cmp al, 0x6e
je 0x1001a93f
cmp al, 0x70
je 0x1001a93f
xor edx, edx
jmp 0x1001a944
mov edx, 1
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
cmp ecx, dword [eax + 8]
jne 0x1001a958
cmp dword [esp + 0x30], 0xffffffff
je 0x1001a964
test ebp, ebp
je 0x1001a964
test edx, edx
je 0x1001aa88
mov ecx, dword [edi + 4]
xor ebp, ebp
test ecx, ecx
mov dword [esp + 0x3c], ecx
jle 0x1001a9e3
lea eax, [ebx + ebp]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x1c]
shl edx, 4
add eax, edx
cmp byte [eax], 6
jne 0x1001a9ca
mov edx, dword [eax + 0x1c]
mov edi, 0x100a6528
mov esi, edx
mov ecx, 2
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001a9df
mov edi, 0x100a700c
mov esi, edx
mov ecx, 3
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001a9df
mov esi, edx
mov edi, 0x100a708c
mov ecx, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
mov edi, dword [esp + 0x34]
je 0x1001a9e3
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
mov eax, dword [eax + 0x14]
cmp eax, 1
jge 0x1001a9d7
mov eax, 1
add ebp, eax
cmp ebp, ecx
jl 0x1001a971
jmp 0x1001a9e3
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x78]
lea eax, [esp + 0x50]
push eax
push edi
push ecx
mov dword [esp + 0x44], esi
call fcn.10019700
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x20]
shl ecx, 5
mov edx, dword [ecx + eax + 0x10]
add esp, 0xc
test dh, 4
jne 0x1001aa58
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
add ebp, edx
mov edx, dword [esp + 0x5c]
add edi, edx
mov edx, dword [esp + 0x20]
add ebx, ecx
mov ecx, dword [esp + 0x50]
add edx, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x60]
or ecx, edx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x7c]
inc esi
cmp esi, edx
mov dword [esp + 0x78], esi
jge 0x1001aa88
mov ecx, esi
shl ecx, 5
lea ecx, [ecx + eax + 0xc]
mov edi, edi
mov eax, dword [ecx]
cmp eax, 3
je 0x1001aa7c
cmp eax, 0xb
jne 0x1001aa84
inc esi
add ecx, 0x20
cmp esi, edx
jl 0x1001aa70
mov dword [esp + 0x78], esi
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
push edx
push eax
push ecx
call fcn.10019640
mov esi, dword [esp + 0x94]
add esp, 0xc
test esi, esi
mov ebp, eax
je 0x1001ab0e
mov eax, dword [esi + 8]
cmp eax, 0x20
jge 0x1001ab0e
mov edi, dword [esp + 0x38]
cmp edi, 0xffffffff
je 0x1001ab0e
mov ecx, dword [esi + 4]
inc eax
cmp eax, ecx
jl 0x1001ab01
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
inc edx
cmp edx, eax
jl 0x1001aae2
movzx eax, word [esi + 0xc]
add dword [esi + 4], eax
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
inc ecx
cmp ecx, edx
jge 0x1001aad4
mov edx, dword [esi + 4]
mov eax, dword [esi]
shl edx, 2
push edx
push eax
call fcn.10083ee0
mov dword [esi], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
add esp, 8
inc ecx
cmp ecx, eax
jge 0x1001aac5
mov edx, dword [esi + 8]
mov eax, dword [esi]
mov dword [eax + edx*4], edi
inc dword [esi + 8]
jmp 0x1001ab12
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1001abde
cmp eax, 1
mov edi, dword [esp + 0x18]
jle 0x1001ab28
inc edi
mov esi, dword [esp + 0x24]
test esi, esi
je 0x1001ab34
xor ecx, ecx
jmp 0x1001ab38
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
test dl, 1
je 0x1001ab4c
cmp eax, 1
jle 0x1001ab4c
dec edx
or edx, 0x10
jmp 0x1001ab5c
test dl, 2
je 0x1001ab60
cmp eax, 1
jle 0x1001ab60
add edx, 0xfffffffe
or edx, 0x20
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x84]
test eax, eax
je 0x1001abde
test dh, 1
je 0x1001ab74
mov dword [eax], edx
jmp 0x1001abde
test byte [esp + 0x4c], 1
je 0x1001aba2
xor ebx, ebx
test esi, esi
setne bl
mov dword [esp + 0x7c], eax
xor eax, eax
shl ebx, 7
test ecx, ecx
setne al
shl eax, 6
mov ecx, eax
mov eax, dword [esp + 0x7c]
or ebx, ecx
or ebx, edx
or ebx, 0xc
jmp 0x1001abdc
xor ebx, ebx
test esi, esi
setne bl
mov dword [esp + 0x7c], eax
xor eax, eax
shl ebx, 7
test ecx, ecx
setne al
shl eax, 6
mov ecx, eax
or ebx, ecx
xor ecx, ecx
mov eax, dword [esp + 0x7c]
test edi, edi
sete cl
shl ecx, 3
or ebx, ecx
xor ecx, ecx
test edi, edi
setne cl
shl ecx, 2
or ebx, ecx
or ebx, edx
mov dword [eax], ebx
mov eax, dword [esp + 0x8c]
test eax, eax
pop edi
pop esi
pop ebx
je 0x1001abf2
mov edx, dword [esp + 0x20]
mov dword [eax], edx
mov eax, ebp
pop ebp
add esp, 0x5c
ret