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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x108
mov eax, dword [0x10155004]
xor eax, esp
mov dword [esp + 0x104], eax
push esi
mov esi, ecx
mov dword [esp + 0x70], 1
mov ecx, dword [ebp + 8]
mov eax, edx
push edi
mov dword [esp + 0x70], ecx
mov edi, dword [esi + 8]
mov ecx, dword [esi]
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x9c], 0
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edi
test edi, edi
jne 0x100a2516
cmp dword [esi + 0x80], edi
jne 0x100a2505
test byte [ecx + 0x50], 8
jne 0x100a2505
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.1004ac20
mov edi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], edi
test eax, eax
je 0x100a59ef
cmp dword [esi + 0x24], 0
jne 0x100a59ef
push 0
push 0
push 0
mov edx, 0x15
mov ecx, esi
call fcn.10073a80
add esp, 0xc
test eax, eax
jne 0x100a59ef
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
cmp byte [eax], 6
ja 0x100a25ba
mov eax, dword [ecx + 0x30]
mov dword [esp + 8], eax
test eax, eax
je 0x100a25ac
mov ecx, dword [esi]
push 0
push 0xc
test ecx, ecx
je 0x100a256e
call fcn.10025f80
jmp 0x100a2573
call fcn.10025910
mov edx, dword [esp + 0x10]
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100a259a
mov eax, dword [esi + 0x8c]
mov dword [ecx], eax
mov dword [esi + 0x8c], ecx
mov dword [ecx + 4], edx
mov dword [ecx + 8], fcn.10064740
jmp 0x100a25a1
mov ecx, dword [esi]
call fcn.10064650
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x30], 0
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
or eax, 0x400000
mov dword [ecx + 4], eax
mov edx, ecx
mov ecx, esi
push 0
call fcn.100a1020
add esp, 4
cmp dword [esi + 0x24], 0
jne 0x100a2614
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov dword [esp + 8], eax
test eax, 0x800000
je 0x100a2652
mov edx, dword [ecx + 0x20]
lea eax, [edx + 8]
mov ecx, eax
mov dword [esp + 0xc], eax
call fcn.100a2430
test eax, eax
je 0x100a2642
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x100a2605
mov eax, dword [ecx + 0x10]
mov eax, dword [eax]
push eax
push str.target_object_alias_may_not_appear_in_FROM_clause:__s
push esi
call fcn.100294d0
add esp, 0xc
mov ecx, dword [esi + 0xe8]
test ecx, ecx
jne 0x100a5994
xor eax, eax
mov dword [esi + 0xe8], eax
mov eax, dword [esp + 0x74]
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.10115f0d
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 8]
and eax, 0xff7fffff
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x70]
cmp byte [eax], 9
jne 0x100a2664
mov edx, ecx
mov ecx, esi
call fcn.1009a400
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.100c1b40
test eax, eax
jne 0x100a2614
mov edx, dword [esp + 0x10]
xorps xmm0, xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xd0], xmm0
movq qword [esp + 0xe0], xmm0
mov eax, dword [edx + 4]
mov ecx, dword [edx + 0x20]
shr eax, 3
and eax, 1
mov dword [esp + 0x44], ecx
mov dword [esp + 0x68], eax
mov eax, dword [edx + 0x30]
mov dword [esp + 0xc0], eax
xor eax, eax
mov dword [esp + 0x40], eax
cmp dword [edx + 0x34], eax
jne 0x100a298e
cmp eax, dword [ecx]
jge 0x100a29f4
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov ecx, dword [edx + 0x18]
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x24], ecx
mov cl, byte [edx + 0x2c]
mov byte [esp + 0x2b], cl
test cl, 0x48
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x30], edx
mov dword [esp + 0x5c], eax
je 0x100a27fc
movzx eax, byte [esp + 0x2b]
mov edx, dword [edx + 0x34]
and eax, 0x40
push eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x24]
call fcn.1006c010
mov edx, dword [esp + 0x34]
add esp, 4
test eax, eax
je 0x100a27f4
mov eax, dword [esp + 0x38]
test dword [eax + 0x50], 0x2000
jne 0x100a27f4
mov al, byte [edx + 0x2c]
test al, 8
je 0x100a275e
test al, 0x10
je 0x100a273e
and al, 0xf7
mov byte [edx + 0x2c], al
jmp 0x100a275e
and al, 0xd7
mov byte [edx + 0x2c], al
mov eax, dword [esp + 0x10]
mov edx, dword [edx + 0x34]
push 0
mov ecx, dword [eax + 0x24]
call fcn.100971b0
mov edx, dword [esp + 0x34]
add esp, 4
mov al, byte [edx + 0x2c]
test al, 0x40
je 0x100a27f4
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
inc ecx
mov dword [esp + 8], ecx
mov eax, dword [edx]
cmp ecx, eax
jge 0x100a27c8
mov edi, dword [esp + 0x10]
lea eax, [ecx + ecx*8]
lea esi, [edx + 0x2c]
lea esi, [esi + eax*8]
mov al, byte [esi]
test al, 0x10
je 0x100a27b2
test al, 8
je 0x100a2796
and al, 0xef
mov byte [esi], al
jmp 0x100a27b2
mov edx, dword [esi + 8]
and al, 0xcf
mov byte [esi], al
mov ecx, dword [edi + 0x24]
push 1
call fcn.100971b0
mov ecx, dword [esp + 0xc]
add esp, 4
mov edx, dword [esp + 0x44]
mov eax, dword [edx]
inc ecx
add esi, 0x48
mov dword [esp + 8], ecx
cmp ecx, eax
jl 0x100a2786
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
lea edx, [eax - 1]
test edx, edx
js 0x100a28a9
lea eax, [edx + edx*8]
lea ecx, [ecx + eax*8]
add ecx, 0x2c
and byte [ecx], 0xbf
test byte [ecx], 0x10
jne 0x100a27f0
sub ecx, 0x48
sub edx, 1
jns 0x100a27e0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x100a2977
mov eax, dword [eax + 0x1c]
mov esi, dword [esp + 0x24]
mov edi, dword [eax]
movsx eax, word [esi + 0x22]
mov esi, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x3c]
jne 0x100a29d6
test dword [edx + 0x30], 0x100
je 0x100a283b
mov eax, dword [edx + 0x4c]
cmp byte [eax + 0x12], 0
je 0x100a2977
mov eax, dword [esp + 0x5c]
test byte [eax + 4], 8
jne 0x100a2977
mov edx, dword [eax + 0x30]
test edx, edx
mov dword [esp + 8], edx
mov edx, dword [esp + 0x10]
je 0x100a2921
cmp dword [edx + 0x30], 0
jne 0x100a286b
cmp dword [ecx], 1
jle 0x100a2905
cmp dword [eax + 0x3c], 0
jne 0x100a2905
test dword [eax + 4], 0x8000000
jne 0x100a2905
test dword [edx + 4], 0x8000000
jne 0x100a2905
mov eax, dword [esp + 0x38]
test dword [eax + 0x50], 0x40000
jne 0x100a2905
mov ecx, dword [esi]
push 0
push 0xc
test ecx, ecx
je 0x100a28b2
call fcn.10025f80
jmp 0x100a28b7
mov edx, dword [esp + 0x30]
jmp 0x100a27f8
call fcn.10025910
mov edx, dword [esp + 0x10]
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100a28ed
mov eax, dword [esi + 0x8c]
mov dword [ecx], eax
mov eax, dword [esp + 0x5c]
mov dword [esi + 0x8c], ecx
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x10]
mov dword [ecx + 8], fcn.10064740
mov dword [eax + 0x30], 0
jmp 0x100a2921
mov ecx, dword [esi]
call fcn.10064650
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x10]
mov dword [eax + 0x30], 0
jmp 0x100a2921
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x100a2921
test dword [edx + 4], 0x40000
je 0x100a2921
cmp dword [ecx], 1
je 0x100a297f
test byte [ecx + 0x74], 0x22
jne 0x100a297f
push dword [esp + 0x68]
mov ecx, esi
push dword [esp + 0x44]
call fcn.1009eaf0
add esp, 8
test eax, eax
je 0x100a2949
cmp dword [esi + 0x24], 0
jne 0x100a2614
mov dword [esp + 0x40], 0xffffffff
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
mov ecx, dword [edx + 0x20]
cmp byte [eax + 0x57], 0
mov dword [esp + 0x44], ecx
jne 0x100a2614
mov eax, dword [esp + 0x70]
cmp byte [eax], 8
jbe 0x100a297b
mov eax, dword [edx + 0x30]
mov dword [esp + 0xc0], eax
jmp 0x100a297b
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
inc eax
cmp dword [edx + 0x34], 0
mov dword [esp + 0x40], eax
je 0x100a26c0
push dword [esp + 0x70]
mov ecx, esi
call fcn.1009bb10
mov edi, eax
add esp, 4
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x38], 0
jne 0x100a597e
mov ecx, dword [esi + 0xe8]
test ecx, ecx
jne 0x100a593d
mov dword [esi + 0xe8], ecx
mov eax, edi
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.10115f0d
mov esp, ebp
pop ebp
ret
push dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
push dword [ecx]
push eax
push str.expected__d_columns_for__s_but_got__d
push esi
call fcn.100294d0
add esp, 0x14
jmp 0x100a2614
mov eax, dword [edx + 0x24]
mov dword [esp + 0x2c], ecx
test eax, eax
je 0x100a2b8a
cmp byte [eax], 0x2c
mov dword [esp + 0x2c], ecx
jne 0x100a2b8a
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], ecx
test dword [eax + 0x50], 0x8000
jne 0x100a2b8a
mov eax, dword [esi]
add eax, 0x57
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], eax
mov dword [esp + 0x2c], ecx
nop dword [eax]
mov eax, dword [edx + 0x20]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x8c], 0
test eax, eax
je 0x100a2a89
cmp dword [eax], 0
jle 0x100a2a89
test byte [eax + 0x2c], 0x40
mov dword [esp + 0x90], 3
jne 0x100a2a94
mov dword [esp + 0x90], 1
mov edx, dword [edx + 0x24]
lea ecx, [esp + 0x7c]
call fcn.1009f4a0
cmp dword [esp + 0x84], 0
je 0x100a2b74
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x7c]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], 0x1009f660
mov edx, dword [edi + 0x24]
mov dword [esp + 0xa8], fcn.10025380
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb8], eax
test edx, edx
je 0x100a2b0e
lea ecx, [esp + 0xa0]
call fcn.1005e690
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x94]
mov ecx, dword [eax]
test edx, edx
je 0x100a2b74
test ecx, ecx
je 0x100a2b6b
cmp edx, dword [ecx + 0x164]
jae 0x100a2b5b
cmp edx, dword [ecx + 0x15c]
jb 0x100a2b43
mov eax, dword [ecx + 0x158]
mov dword [edx], eax
mov dword [ecx + 0x158], edx
jmp 0x100a2b74
cmp edx, dword [ecx + 0x160]
jb 0x100a2b5b
mov eax, dword [ecx + 0x150]
mov dword [edx], eax
mov dword [ecx + 0x150], edx
jmp 0x100a2b74
cmp dword [ecx + 0x210], 0
je 0x100a2b6b
call fcn.10025ba0
jmp 0x100a2b74
push edx
call fcn.10025b30
add esp, 4
cmp dword [esp + 0x88], 0
mov edx, dword [esp + 0x10]
jne 0x100a2a40
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
test dword [ecx + 0x50], 0x201
jne 0x100a2bbd
mov ecx, esi
call fcn.100a2190
test eax, eax
je 0x100a2bbd
mov eax, dword [esp + 0x38]
cmp byte [eax + 0x57], 0
jne 0x100a2614
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x2c], ecx
jmp 0x100a2bc1
mov ecx, dword [esp + 0x2c]
xor eax, eax
mov dword [esp + 0x34], eax
cmp dword [ecx], eax
jle 0x100a354c
nop
lea eax, [eax + eax*8]
lea ecx, [ecx + eax*8]
mov eax, dword [ecx + 0x40]
add ecx, 8
mov dword [esp + 0x14], ecx
or eax, dword [ecx + 0x3c]
jne 0x100a2c08
mov eax, dword [ecx + 8]
test eax, eax
je 0x100a2c08
push dword [ecx + 4]
mov edx, 0x14
mov ecx, esi
push 0x1014475b
push eax
call fcn.10073a80
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x54], eax
test eax, eax
je 0x100a3537
mov ecx, dword [esp + 0x10]
lea edx, [esp + 8]
mov dword [esp + 8], 0
call fcn.100627d0
mov eax, dword [esp + 8]
add dword [esi + 0xe4], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 0x50]
mov eax, edx
test edx, 0x1000
jne 0x100a2c91
test dword [ecx + 0x28], 0x100
je 0x100a2c69
mov edi, dword [ecx + 0x44]
cmp byte [edi + 0x12], 0
mov edi, dword [esp + 0x3c]
je 0x100a2c91
mov edx, dword [ecx + 0x44]
cmp dword [edx], 2
jge 0x100a2c91
push dword [esp + 0x34]
mov eax, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
push dword [eax + 0x24]
call fcn.1009f6d0
mov eax, dword [esp + 0x44]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x50]
test eax, 0x4000000
jne 0x100a2df8
test dword [ecx + 0x28], 0x108
jne 0x100a2df8
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0xc], eax
mov eax, edx
mov dword [esp + 0x24], edx
test edx, edx
je 0x100a2cee
nop dword [eax]
test byte [eax + 4], 9
jne 0x100a2df8
mov edx, dword [eax + 0x34]
test edx, edx
je 0x100a2cda
cmp byte [eax], 0x87
jne 0x100a2df8
cmp dword [eax + 0x44], 0
jne 0x100a2df8
mov eax, edx
test eax, eax
jne 0x100a2cc0
mov edx, dword [esp + 0x24]
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0x4c], eax
mov eax, dword [edx + 0x30]
test eax, eax
je 0x100a2d5c
mov ecx, dword [eax]
mov dword [esp + 8], ecx
test ecx, ecx
jle 0x100a2d5c
lea edi, [eax + 0x18]
movzx eax, word [edi]
test ax, ax
je 0x100a2d4c
add eax, 0xffff
mov edx, 0x3f
cmp ax, 0x40
jae 0x100a2d2b
movzx edx, ax
xor eax, eax
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or dword [esp + 0x60], eax
or dword [esp + 0x4c], ecx
mov ecx, dword [esp + 8]
add edi, 0x14
sub ecx, 1
mov dword [esp + 8], ecx
jne 0x100a2d10
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc], 0
movsx eax, word [eax + 0x22]
mov dword [esp + 8], eax
test eax, eax
jle 0x100a2df8
mov edi, dword [esp + 0xc]
mov dword [esp + 0x20], 0
xor edx, edx
cmp edi, 0x3f
jae 0x100a2da2
mov eax, edi
xor esi, esi
bts edx, eax
cmp eax, 0x20
cmovae esi, edx
xor edx, esi
cmp eax, 0x40
cmovae esi, edx
jmp 0x100a2da7
mov esi, 0x80000000
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x4c]
and ecx, edx
and eax, esi
or ecx, eax
jne 0x100a2de4
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
nop
mov ecx, dword [eax + 0x1c]
mov ecx, dword [ecx + edx + 8]
cmp byte [ecx], 0x79
je 0x100a2ddd
and dword [ecx + 4], 0xfff7dfff
mov byte [ecx], 0x79
or dword [eax + 4], 0x1000000
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x100a2dc0
add dword [esp + 0x20], 0x14
inc edi
cmp edi, dword [esp + 8]
jl 0x100a2d84
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x104]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x58], eax
mov eax, dword [edx + 8]
mov dword [esi + 0x104], eax
test dword [edx + 0x28], 0x100
mov dword [esp + 0xc], ecx
je 0x100a2e38
mov eax, dword [edx + 0x44]
mov cl, byte [eax + 0x12]
test cl, cl
je 0x100a2e9d
cmp dword [eax], 2
jl 0x100a2e34
cmp cl, 2
jne 0x100a2e9d
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
test byte [eax + 0x2c], 0x40
jne 0x100a2e9d
mov eax, dword [esi]
test dword [eax + 0x50], 0x2000000
jne 0x100a2e9d
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
push dword [eax]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x30]
push eax
call fcn.100a2060
mov edx, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x100a2e9d
cmp dword [esp + 0x34], eax
jne 0x100a2eef
mov eax, dword [esp + 0x2c]
cmp dword [eax], 1
je 0x100a2f2c
test byte [eax + 0x74], 2
jne 0x100a2f2c
mov ecx, dword [esp + 0x10]
test dword [ecx + 4], 0x10000000
je 0x100a2f2c
test dword [edx + 0x28], 0x100
je 0x100a3189
mov eax, dword [edx + 0x44]
mov dword [esp + 0x24], eax
mov ecx, dword [eax + 4]
mov dword [esp + 8], ecx
test ecx, ecx
jle 0x100a3189
mov ecx, dword [edi + 0x6c]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], eax
cmp dword [edi + 0x70], ecx
jg 0x100a30c8
mov edx, dword [esp + 8]
mov ecx, edi
push 0
push edx
push eax
mov edx, 0xa
call fcn.1004ae00
add esp, 0xc
jmp 0x100a30fb
mov ecx, dword [esp + 0x10]
test dword [ecx + 4], 0x10000000
jne 0x100a2e9d
test byte [edx + 0x24], 0x22
lea eax, [edx + 0x24]
jne 0x100a2e9d
mov ecx, dword [esp + 0xc]
nop dword [eax]
test ecx, ecx
je 0x100a2f2c
sub eax, 0x48
dec ecx
cmp dword [eax - 0x10], 0
jne 0x100a2e9d
test byte [eax], 0x22
je 0x100a2f10
jmp 0x100a2e9d
mov eax, dword [edi + 0x6c]
inc dword [esi + 0x2c]
inc eax
mov ecx, dword [esi + 0x2c]
mov dword [edx + 0x1c], ecx
mov dword [esp + 8], ecx
mov ecx, dword [edi + 0x6c]
mov edx, dword [esp + 8]
mov dword [esp + 0x60], eax
cmp dword [edi + 0x70], ecx
jg 0x100a2f66
push eax
push 0
push edx
mov edx, 0xb
mov ecx, edi
call fcn.1004ae00
mov edx, dword [esp + 0x6c]
add esp, 0xc
jmp 0x100a2f95
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x60]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x14]
push ecx
push str.CO_ROUTINE___S
push 1
mov eax, dword [ecx + 0x1c]
push esi
mov dword [ecx + 0x18], edx
mov byte [esp + 0x8c], 0xd
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
call fcn.1004b2a0
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x8c]
push eax
mov ecx, esi
call fcn.100a24a0
mov edx, dword [esp + 0x28]
add esp, 0x14
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + 0x10]
mov ax, word [eax + 2]
mov word [ecx + 0x26], ax
or dword [edx + 0x28], 0x20
mov eax, dword [esp + 0x88]
mov dword [edx + 0x20], eax
mov ecx, dword [edi + 0x6c]
mov edx, dword [edx + 0x1c]
cmp dword [edi + 0x70], ecx
jg 0x100a3040
push 0
push 0
push edx
mov edx, 0x44
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
jmp 0x100a3073
mov esi, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x44
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0xc]
mov byte [eax + 0x13], 0
mov eax, dword [edi + 0xc]
mov dword [eax + 0x1c], 0
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100a30a6
mov eax, 0x10158ba0
mov dword [eax], edx
mov byte [esi + 0x13], 0
mov dword [esi + 0x1c], 0
jmp 0x100a3500
mov eax, dword [esp + 0x60]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
mov dword [eax], edx
mov byte [esi + 0x13], 0
mov dword [esi + 0x1c], 0
jmp 0x100a3500
mov edx, dword [esp + 0xc]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 8]
mov dword [eax + ecx*4], 0xa
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0xc], eax
cmp eax, edx
je 0x100a3174
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a3141
push 0
push edx
push eax
mov edx, 0x73
mov ecx, edi
call fcn.1004ae00
mov eax, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x54]
mov ax, word [eax + 0x10]
mov word [ecx + 2], ax
jmp 0x100a3500
mov esi, dword [esp + 0xc]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x73
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
mov ax, word [eax + 0x10]
mov word [ecx + 2], ax
jmp 0x100a3500
push dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push 0
call fcn.100a2060
mov edx, eax
add esp, 8
mov dword [esp + 0x24], edx
test edx, edx
je 0x100a32a9
mov eax, dword [edx + 0x18]
mov dword [esp + 0xc], eax
test eax, eax
je 0x100a3216
mov ecx, dword [edx + 0x1c]
mov dword [esp + 8], ecx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a31df
push 0
push eax
push dword [esp + 0x10]
mov edx, 0xa
mov ecx, edi
call fcn.1004ae00
mov edx, dword [esp + 0x30]
add esp, 0xc
jmp 0x100a3216
mov esi, dword [esp + 8]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0xc]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0xa
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edx + 0x2c]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0xc], eax
cmp dword [edi + 0x70], ecx
jg 0x100a325e
push 0
push dword [esp + 0xc]
mov edx, 0x73
mov ecx, edi
push eax
call fcn.1004ae00
mov edx, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x54]
mov eax, dword [edx + 0x14]
mov ax, word [eax + 2]
mov word [ecx + 2], ax
jmp 0x100a3500
mov esi, dword [esp + 0xc]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 8]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x73
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edx + 0x14]
mov ecx, dword [esp + 0x54]
mov ax, word [eax + 2]
mov word [ecx + 2], ax
jmp 0x100a3500
inc dword [esi + 0x2c]
xor eax, eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x2c]
mov dword [edx + 0x1c], eax
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x4c], ecx
cmp dword [edi + 0x70], ecx
jg 0x100a32e7
push 0
push 0
push 0
mov edx, 9
mov ecx, edi
call fcn.1004ae00
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x4c], eax
jmp 0x100a3322
mov esi, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x4c]
or dword [edx + 0x28], 0x10
inc eax
test byte [edx + 0x28], 8
mov dword [esp + 8], eax
mov dword [edx + 0x18], eax
jne 0x100a3396
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x60], ecx
cmp dword [edi + 0x70], ecx
jg 0x100a335f
push 0
push 0
push 0
mov edx, 0xf
mov ecx, edi
call fcn.1004ae00
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x60], eax
jmp 0x100a3396
mov esi, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0xf
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edx + 0x2c]
push edx
push str.MATERIALIZE___S
push 1
push esi
mov byte [esp + 0x8c], 0xc
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
call fcn.1004b2a0
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x8c]
push eax
mov ecx, esi
call fcn.100a24a0
mov edx, dword [esp + 0x28]
add esp, 0x14
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + 0x10]
mov ax, word [eax + 2]
mov word [ecx + 0x26], ax
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x100a3439
mov eax, dword [edi + 0x6c]
mov dword [esp + 0xc], eax
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100a3429
mov eax, 0x10158b98
jmp 0x100a3432
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0xc]
mov dword [eax + 8], ecx
mov ecx, dword [edi + 0x6c]
mov eax, dword [edx + 0x1c]
mov dword [esp + 0xc], eax
cmp dword [edi + 0x70], ecx
jg 0x100a3464
push 0
push dword [esp + 0xc]
mov edx, 0x43
mov ecx, edi
push eax
call fcn.1004ae00
mov edx, dword [esp + 0x20]
add esp, 0xc
jmp 0x100a349b
mov esi, dword [esp + 0xc]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 8]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x43
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0x6c]
mov dword [esp + 0xc], eax
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100a34b1
mov eax, 0x10158b98
jmp 0x100a34be
mov eax, dword [esp + 0x4c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0xc]
mov dword [eax + 8], ecx
mov byte [esi + 0x13], 0
mov dword [esi + 0x1c], 0
mov eax, dword [edx + 0x28]
and eax, 0x108
cmp eax, 0x100
jne 0x100a3500
mov ecx, dword [edx + 0x44]
mov eax, dword [edx + 0x18]
mov dword [ecx + 4], eax
mov eax, dword [edx + 0x1c]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0x2c]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x54]
mov ax, word [eax + 2]
mov word [ecx + 0x10], ax
mov eax, dword [esp + 0x38]
cmp byte [eax + 0x57], 0
jne 0x100a2614
mov ecx, dword [esp + 0x10]
lea edx, [esp + 8]
mov dword [esp + 8], 0
call fcn.100627d0
mov eax, dword [esp + 8]
sub dword [esi + 0xe4], eax
mov eax, dword [esp + 0x58]
mov dword [esi + 0x104], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x34], eax
cmp eax, dword [ecx]
jl 0x100a2bd0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x60], eax
mov al, byte [ecx + 4]
and al, 1
mov dword [esp + 0x44], edx
mov byte [esp + 0x100], al
mov eax, dword [ecx + 4]
and al, 9
cmp al, 1
jne 0x100a35d3
mov ecx, dword [esp + 0xc0]
push 0xffffffffffffffff
call fcn.1006bb60
mov edx, dword [esp + 0x48]
add esp, 4
test eax, eax
jne 0x100a35d3
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], 0
jne 0x100a35d3
mov ecx, dword [esp + 0x38]
and dword [eax + 4], 0xfffffffe
push 0
call fcn.10063a30
mov edx, eax
mov byte [esp + 0x104], 2
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x14], edx
or dword [eax + 4], 8
mov dword [eax + 0x28], edx
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x100a369c
push dword [edx]
mov edx, ecx
mov ecx, esi
push 0
call fcn.100995a0
mov dword [esp + 0x60], eax
add esp, 8
mov eax, dword [esi + 0x28]
mov dword [esp + 0xc8], eax
mov dword [esp + 8], eax
inc eax
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0xc0]
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x24], edx
mov ecx, dword [eax]
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
inc eax
add eax, ecx
mov dword [esp + 0xc], eax
cmp dword [edi + 0x70], edx
jg 0x100a3648
push 0
push eax
push dword [esp + 0x10]
mov edx, 0x76
mov ecx, edi
call fcn.1004ae00
mov edx, eax
add esp, 0xc
mov dword [esp + 0x24], edx
jmp 0x100a367f
mov esi, dword [esp + 8]
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0xc]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x76
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffff8
push dword [esp + 0x5c]
mov ecx, edi
call fcn.1004bae0
mov eax, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0xd4], eax
jmp 0x100a36a7
mov dword [esp + 0xd4], 0xffffffff
mov ecx, dword [esp + 0x70]
cmp byte [ecx], 0xc
jne 0x100a37a7
mov eax, dword [esp + 0x44]
mov edx, dword [eax]
mov eax, dword [ecx + 4]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0xc], eax
cmp dword [edi + 0x70], ecx
jg 0x100a36de
push 0
push edx
push eax
mov edx, 0x76
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
jmp 0x100a3711
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0xc]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x76
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
test dword [edx + 4], 0x800
je 0x100a37ab
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
lea edx, [ecx - 1]
mov dword [esp + 8], edx
test edx, edx
jle 0x100a3786
lea esi, [edx*4 + 2]
mov edi, eax
add esi, edx
lea esi, [edi + esi*4]
test byte [esi + 0xc], 0x40
jne 0x100a377a
mov edx, dword [esi]
test edx, edx
je 0x100a3756
mov ecx, dword [esp + 0x38]
call fcn.100633e0
push dword [esi + 4]
push dword [esp + 0x3c]
call fcn.10025c40
mov edx, dword [esp + 0x10]
add esp, 8
mov ecx, dword [edi]
dec edx
dec ecx
mov dword [esp + 8], edx
sub esi, 0x14
mov dword [edi], ecx
test edx, edx
jg 0x100a3741
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
xor edx, edx
test ecx, ecx
jle 0x100a37a7
lea ecx, [eax + 8]
nop
test byte [ecx + 0xc], 0x40
jne 0x100a379f
mov eax, dword [ecx]
mov byte [eax], 0x79
mov eax, dword [esp + 0x44]
inc edx
add ecx, 0x14
cmp edx, dword [eax]
jl 0x100a3790
mov edx, dword [esp + 0x10]
dec dword [esi + 0x38]
test dword [edx + 4], 0x4000
mov eax, dword [esi + 0x38]
mov dword [esp + 0xfc], eax
jne 0x100a37ca
mov ecx, 0x140
mov word [edx + 2], cx
cmp dword [edx + 0x3c], 0
je 0x100a37df
push eax
mov ecx, esi
call fcn.1009aee0
mov edx, dword [esp + 0x14]
add esp, 4
cmp dword [edx + 8], 0
jne 0x100a3819
cmp dword [esp + 0xd4], 0
jl 0x100a3819
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100a37fe
mov eax, 0x10158b98
jmp 0x100a380e
mov eax, dword [esp + 0xd4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov byte [eax], 0x77
or byte [esp + 0xe0], 1
test byte [edx + 4], 1
je 0x100a38f0
mov eax, dword [esi + 0x28]
mov ecx, esi
mov dword [esp + 0x104], eax
inc eax
mov dword [esi + 0x28], eax
mov edx, dword [edx + 0x1c]
push 0
push 0
call fcn.100995a0
mov edx, dword [edi + 0x6c]
add esp, 8
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
cmp dword [edi + 0x70], edx
jg 0x100a3879
push 0
push 0
push eax
mov edx, 0x76
mov ecx, edi
call fcn.1004ae00
mov edx, eax
add esp, 0xc
mov dword [esp + 8], edx
jmp 0x100a38b0
mov esi, dword [esp + 0xc]
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x76
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffff8
push dword [esp + 0x28]
mov ecx, edi
call fcn.1004bae0
mov eax, dword [esp + 0x10]
add esp, 8
mov dword [esp + 0x108], eax
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x100a38e2
lea ecx, [eax + eax*4]
mov edx, 8
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x10]
mov byte [esp + 0x101], 3
jmp 0x100a38f8
mov byte [esp + 0x101], 0
cmp dword [esp + 0x68], 0
mov eax, dword [esp + 0x14]
jne 0x100a3c22
test eax, eax
jne 0x100a3c22
xor ecx, ecx
mov dword [esp + 0xc], 0x4000
cmp byte [esp + 0x100], cl
mov eax, pe_nt_image_headers32
cmovne ecx, eax
mov ax, word [edx + 4]
and ax, word [esp + 0xc]
or cx, ax
movzx eax, cx
mov dword [esp + 0xc], eax
mov eax, dword [edx + 0x44]
mov dword [esp + 8], eax
test eax, eax
je 0x100a3951
mov ecx, esi
call fcn.100c26f0
mov edx, dword [esp + 0x10]
movsx eax, word [edx + 2]
mov ecx, esi
push eax
push dword [esp + 0x10]
push edx
push dword [edx + 0x1c]
mov edx, dword [esp + 0x3c]
push dword [esp + 0xd0]
push dword [esp + 0x60]
call fcn.100be9f0
mov ecx, eax
add esp, 0x18
mov dword [esp + 0x6c], ecx
test ecx, ecx
je 0x100a2614
mov edx, dword [esp + 0x10]
movzx eax, word [ecx + 0x34]
cmp ax, word [edx + 2]
jge 0x100a3997
mov word [edx + 2], ax
cmp byte [esp + 0x100], 0
je 0x100a39bf
mov cl, byte [ecx + 0x2f]
movzx edx, byte [esp + 0x101]
test cl, cl
movzx eax, cl
mov ecx, dword [esp + 0x6c]
cmovne edx, eax
mov byte [esp + 0x101], dl
mov edx, dword [esp + 0xc0]
test edx, edx
je 0x100a3a2f
mov al, byte [ecx + 0x2d]
test al, al
jns 0x100a39de
mov dword [esp + 0xc4], 0
jmp 0x100a39e8
movsx eax, al
mov dword [esp + 0xc4], eax
test byte [ecx + 0x30], 4
jne 0x100a39f3
mov eax, dword [ecx + 0x1c]
jmp 0x100a3a13
movzx eax, byte [ecx + 0x2c]
lea eax, [eax + eax*2]
shl eax, 5
cmp dword [eax + ecx + 0x2d0], 0
je 0x100a3a0c
mov eax, dword [ecx + 0x1c]
jmp 0x100a3a13
mov eax, dword [eax + ecx + 0x2a8]
mov dword [esp + 0xdc], eax
xor ecx, ecx
mov eax, dword [esp + 0xc4]
cmp eax, dword [edx]
cmove edx, ecx
mov dword [esp + 0xc0], edx
mov eax, dword [esp + 0xd4]
test eax, eax
js 0x100a3a6e
test edx, edx
jne 0x100a3a6e
mov ecx, dword [edi]
cmp byte [ecx + 0x57], dl
jne 0x100a3a6e
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
push dword [eax + edx*4 + 0x10]
lea esi, [eax + edx*4]
movsx edx, byte [esi + 1]
call fcn.1004b880
mov word [esi], 0xb9
add esp, 4
mov dword [esi + 0x10], 0
mov esi, dword [esp + 0x1c]
cmp dword [esp + 8], 0
mov edx, dword [esp + 0x10]
je 0x100a3be7
mov eax, dword [esi + 0x38]
inc dword [esi + 0x2c]
lea ecx, [eax - 1]
sub eax, 2
mov dword [esp + 8], eax
dec eax
push ecx
mov dword [esp + 0x24], eax
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x2c]
push eax
push dword [esp + 0x74]
mov dword [esp + 0x18], ecx
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.100c5d80
mov ecx, dword [edi + 0x6c]
add esp, 0xc
mov edx, dword [esp + 0x20]
cmp dword [edi + 0x70], ecx
jg 0x100a3ad2
push 0
push edx
push 0
mov edx, 9
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
jmp 0x100a3b01
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0xc]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100a3b1f
push edx
mov edx, edi
call fcn.1004b440
add esp, 4
jmp 0x100a3b28
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
push dword [esp + 0x20]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x104]
push dword [esp + 0xc]
mov ecx, esi
mov dword [esp + 0xe4], 0
push dword [esp + 0x78]
push eax
lea eax, [esp + 0xd0]
push eax
push 0xffffffffffffffff
call fcn.10098510
mov ecx, dword [edi + 0xc]
add esp, 0x18
mov edx, dword [esp + 8]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100a3b7d
push edx
mov edx, edi
call fcn.1004b440
add esp, 4
jmp 0x100a3b86
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov ecx, dword [edi + 0x6c]
mov edx, dword [esp + 0x24]
cmp dword [edi + 0x70], ecx
jg 0x100a3baf
push 0
push 0
push edx
mov edx, 0x43
mov ecx, edi
call fcn.1004ae00
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x100a587a
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x43
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100a587a
mov eax, dword [esp + 0x6c]
mov ecx, esi
push dword [eax + 0x20]
push dword [eax + 0x1c]
lea eax, [esp + 0x108]
push dword [esp + 0x78]
push eax
lea eax, [esp + 0xd0]
push eax
push 0xffffffffffffffff
call fcn.10098510
mov ecx, dword [esp + 0x84]
add esp, 0x18
call fcn.100bfa10
jmp 0x100a589d
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
test eax, eax
je 0x100a3cf3
mov ecx, dword [edx + 0x1c]
mov eax, dword [ecx]
test eax, eax
jle 0x100a3c62
add ecx, 0x1a
nop
xor esi, esi
lea ecx, [ecx + 0x14]
dec eax
mov word [ecx - 0x14], si
test eax, eax
jg 0x100a3c50
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
test eax, eax
jle 0x100a3c82
add ecx, 0x1a
nop
xor edi, edi
lea ecx, [ecx + 0x14]
dec eax
mov word [ecx - 0x14], di
test eax, eax
jg 0x100a3c70
mov edi, dword [esp + 0x3c]
cmp word [edx + 2], 0x42
jle 0x100a3c92
mov eax, 0x42
mov word [edx + 2], ax
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x100a3cf9
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x100a3cf9
xor edx, edx
test eax, eax
jle 0x100a3cd0
mov edi, dword [esp + 0x14]
xor ecx, ecx
mov eax, dword [esp + 0xc0]
lea ecx, [ecx + 0x14]
inc edx
mov al, byte [ecx + eax - 4]
and al, 1
mov byte [edi + ecx - 4], al
cmp edx, dword [edi]
jl 0x100a3cb3
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x14]
push 0xffffffffffffffff
call fcn.1006bb60
add esp, 4
test eax, eax
jne 0x100a3cf9
mov dword [esp + 0x58], 1
jmp 0x100a3cf9
xor eax, eax
mov word [edx + 2], ax
dec dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov ecx, dword [esp + 0x38]
push 0
push 0x2c
mov dword [esp + 0x5c], eax
call fcn.10025f80
mov ecx, eax
add esp, 8
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x100a3dfb
push 0x2c
push 0
push ecx
call fcn.10117800
mov ecx, dword [esi]
add esp, 0xc
push 0
push 0xc
test ecx, ecx
je 0x100a3d3f
call fcn.10025f80
jmp 0x100a3d44
call fcn.10025910
mov edx, eax
add esp, 8
test edx, edx
je 0x100a3d6e
mov eax, dword [esi + 0x8c]
mov ecx, dword [esp + 0x18]
mov dword [edx], eax
mov dword [esi + 0x8c], edx
mov dword [edx + 4], ecx
mov dword [edx + 8], 0x100a2110
jmp 0x100a3dfb
mov eax, dword [esp + 0x18]
mov ecx, dword [esi]
mov dword [esp + 0x20], ecx
push dword [eax + 0x14]
push ecx
call fcn.10025c40
mov eax, dword [esp + 0x20]
push dword [eax + 0x20]
push dword [esp + 0x2c]
call fcn.10025c40
mov edx, dword [esp + 0x30]
add esp, 0x10
mov ecx, dword [esp + 0x18]
test edx, edx
je 0x100a3dee
cmp ecx, dword [edx + 0x164]
jae 0x100a3dd8
cmp ecx, dword [edx + 0x15c]
jb 0x100a3dc0
mov eax, dword [edx + 0x158]
mov dword [ecx], eax
mov dword [edx + 0x158], ecx
jmp 0x100a3dfb
cmp ecx, dword [edx + 0x160]
jb 0x100a3dd8
mov eax, dword [edx + 0x150]
mov dword [ecx], eax
mov dword [edx + 0x150], ecx
jmp 0x100a3dfb
cmp dword [edx + 0x210], 0
je 0x100a3dee
mov edx, ecx
mov ecx, dword [esp + 0x20]
call fcn.10025ba0
jmp 0x100a3df7
push ecx
call fcn.10025b30
add esp, 4
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
cmp byte [eax + 0x57], 0
jne 0x100a2614
mov eax, dword [esp + 0x10]
xorps xmm0, xmm0
mov edx, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x2c]
movlpd qword [esp + 0x88], xmm0
movlpd qword [esp + 0x90], xmm0
mov dword [esp + 0x98], 0
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
test edx, edx
je 0x100a3e55
mov eax, dword [edx]
jmp 0x100a3e57
xor eax, eax
mov dword [ecx + 0x10], edx
mov edx, dword [esp + 0x44]
mov word [ecx + 2], ax
lea ecx, [esp + 0x7c]
call fcn.1006c860
mov edx, dword [esp + 0xc0]
lea ecx, [esp + 0x7c]
call fcn.1006c860
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x100a3f32
cmp dword [esp + 0x14], 0
je 0x100a3ee2
mov eax, dword [esp + 0x10]
xorps xmm0, xmm0
movlpd qword [esp + 0xa8], xmm0
movlpd qword [esp + 0xb0], xmm0
mov dword [esp + 0xa0], esi
mov edx, dword [eax + 0x2c]
mov dword [esp + 0xa4], 0x100a1ed0
mov dword [esp + 0xb8], eax
test edx, edx
je 0x100a3edb
lea ecx, [esp + 0xa0]
call fcn.1005e690
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0xa4], 0x1006c560
mov edx, ecx
mov dword [esp + 0xa8], 0x1005e960
lea ecx, [esp + 0xa0]
mov dword [esp + 0xac], 0x1005e970
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb8], eax
mov dword [esp + 0xa0], 0
call fcn.1005e690
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x18]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x28], 0
jne 0x100a4072
cmp dword [eax + 0x2c], 0
jne 0x100a4072
cmp dword [edx + 0x24], 1
jne 0x100a4072
mov eax, dword [edx + 0x20]
mov eax, dword [eax]
mov ecx, dword [eax + 0x14]
mov dword [esp + 8], ecx
test ecx, ecx
je 0x100a4072
cmp dword [ecx], 1
jne 0x100a4072
test dword [eax + 4], 0x1000000
jne 0x100a4072
mov ecx, dword [esp + 0x38]
test dword [ecx + 0x50], 0x10000
jne 0x100a4072
mov eax, dword [eax + 8]
mov edx, 0x10149a58
mov dword [esp + 0x20], eax
sub eax, edx
mov dword [esp + 0x24], eax
nop dword [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [edx + eax]
mov dword [esp + 0xc], ecx
cmp eax, ecx
jne 0x100a3fe3
test eax, eax
jne 0x100a3ff9
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 8]
call fcn.10064c70
neg eax
mov byte [esp + 0x2b], 1
sbb al, al
and eax, 0xffffff02
mov dword [esp + 0x24], eax
jmp 0x100a402d
movzx ecx, byte [eax + 0x1013f9f0]
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x1013f9f0]
sub ecx, eax
jne 0x100a4000
mov eax, dword [esp + 0x24]
inc edx
jmp 0x100a3fb0
mov eax, dword [esp + 0x20]
mov edx, 0x10149a5c
sub eax, edx
mov dword [esp + 0x20], eax
nop
movzx ecx, byte [edx]
movzx eax, byte [edx + eax]
mov dword [esp + 0xc], ecx
cmp eax, ecx
jne 0x100a4055
test eax, eax
jne 0x100a406b
mov byte [esp + 0x24], 1
mov byte [esp + 0x2b], 2
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x38]
push 0
call fcn.10063a30
mov ecx, eax
add esp, 4
mov dword [esp + 0x9c], ecx
test ecx, ecx
je 0x100a4077
mov eax, dword [esp + 0x24]
mov byte [ecx + 0x10], al
jmp 0x100a4077
movzx ecx, byte [eax + 0x1013f9f0]
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x1013f9f0]
sub ecx, eax
jne 0x100a4072
mov eax, dword [esp + 0x20]
inc edx
jmp 0x100a4010
mov byte [esp + 0x2b], 0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x7c]
call fcn.100a1100
mov eax, dword [esp + 0x38]
cmp byte [eax + 0x57], 0
jne 0x100a5920
cmp dword [esp + 0x14], 0
je 0x100a51b9
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x5c], 0
mov dword [esp + 8], 0
cmp dword [ecx + 0x24], 1
jne 0x100a4198
mov eax, dword [ecx + 0x20]
cmp dword [eax + 8], 0
jl 0x100a4198
mov eax, dword [eax]
test eax, eax
je 0x100a4198
test dword [eax + 4], 0x1000
jne 0x100a4198
mov edx, dword [eax + 0x14]
test edx, edx
je 0x100a4198
mov edx, dword [edx + 8]
test edx, edx
je 0x100a4107
mov ecx, dword [esp + 0x38]
push 0
push 0
call fcn.100635e0
add esp, 8
mov dword [esp + 0x20], eax
jmp 0x100a410f
mov dword [esp + 0x20], 0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
push 0
call fcn.10063a30
mov ecx, eax
add esp, 4
mov dword [esp + 0x5c], ecx
test ecx, ecx
jne 0x100a413c
mov edx, dword [esp + 0x20]
mov ecx, dword [esi]
call fcn.10064190
mov dword [esp + 0x5c], eax
jmp 0x100a4187
mov eax, dword [ecx]
lea edx, [eax + 1]
cmp dword [ecx + 4], edx
jge 0x100a415d
mov eax, dword [esp + 0x20]
mov edx, ecx
mov ecx, dword [esi]
push eax
call fcn.10064200
add esp, 4
mov dword [esp + 0x5c], eax
jmp 0x100a4187
movups xmm0, xmmword [0x1013e3bc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x5c]
mov dword [eax], edx
mov eax, dword [0x1013e3cc]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
neg eax
sbb eax, eax
and eax, 0x500
mov dword [esp + 8], eax
mov eax, dword [esi + 0x28]
mov edx, dword [esp + 0x14]
mov dword [ecx + 4], eax
inc dword [esi + 0x28]
push dword [ecx + 0x18]
mov ecx, esi
push 0
call fcn.100995a0
mov ecx, dword [edi + 0x6c]
add esp, 8
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
movzx edx, word [eax + 2]
mov eax, dword [eax + 4]
mov dword [esp + 0xc], eax
cmp dword [edi + 0x70], ecx
jg 0x100a41ec
push 0
push edx
push eax
mov edx, 0x77
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
mov dword [esp + 0x24], eax
jmp 0x100a4223
mov esi, dword [esp + 0xc]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x77
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x24]
push 0xfffffffffffffff8
push dword [esp + 0x6c]
mov edx, eax
mov ecx, edi
call fcn.1004bae0
mov eax, dword [esi + 0x2c]
add esp, 8
mov edx, dword [esp + 0x14]
inc eax
mov dword [esp + 0x30], eax
inc eax
mov dword [esp + 0x64], eax
lea ecx, [eax + 2]
mov eax, dword [esi + 0x38]
dec eax
mov dword [esi + 0x2c], ecx
mov dword [esp + 0x6c], eax
dec eax
mov dword [esi + 0x38], eax
mov dword [esp + 0x40], ecx
add ecx, dword [edx]
mov dword [esp + 0x20], eax
mov dword [esi + 0x2c], ecx
lea eax, [ecx + 1]
mov dword [esp + 0x78], eax
mov eax, dword [edx]
add eax, ecx
mov dword [esi + 0x2c], eax
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a4298
push 0
push dword [esp + 0x68]
mov edx, 0x47
mov ecx, edi
push 0
call fcn.1004ae00
mov edx, dword [esp + 0x20]
add esp, 0xc
jmp 0x100a42cf
mov esi, dword [esp + 0x64]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edx]
mov edx, dword [esp + 0x40]
mov ecx, dword [edi + 0x6c]
add edx, eax
cmp dword [edi + 0x70], ecx
jg 0x100a42f9
mov eax, dword [esp + 0x40]
mov ecx, edi
push edx
inc eax
mov edx, 0x4b
push eax
push 0
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4331
mov esi, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
inc esi
mov edi, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a4354
push 0
push dword [esp + 0x24]
mov edx, 0xa
mov ecx, edi
push dword [esp + 0x48]
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4387
mov edx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0xa
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x58]
mov edx, 0x80
neg ecx
mov eax, 0x40
push 0
sbb ecx, ecx
and ecx, 0x200
cmp byte [esp + 0x104], 2
cmove eax, edx
mov edx, dword [esp + 0x30]
or cx, ax
or cx, word [esp + 0xc]
movzx eax, cx
mov ecx, esi
push eax
push dword [esp + 0x18]
mov eax, dword [esp + 0x68]
push eax
push dword [esp + 0x24]
push dword [esp + 0x60]
call fcn.100be9f0
mov edx, eax
add esp, 0x18
mov dword [esp + 0x4c], edx
test edx, edx
jne 0x100a43fd
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x100a591c
mov ecx, dword [esp + 0x38]
mov edx, eax
call fcn.10064650
jmp 0x100a591c
cmp dword [esi + 0x48], 0
je 0x100a445f
mov ecx, dword [esp + 0x18]
cmp word [ecx + 2], 0
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x18], eax
jbe 0x100a4452
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
dec edx
cmp dword [ecx + 0x1c], 0
jle 0x100a444b
mov edi, dword [ecx + 0x14]
add edi, 0xe
xor esi, esi
nop dword [eax]
movsx eax, word [edi]
lea edi, [edi + 0x10]
cmp eax, edx
cmovle eax, edx
inc esi
mov edx, eax
cmp esi, dword [ecx + 0x1c]
jl 0x100a4430
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
lea eax, [edx + 1]
mov word [ecx + 2], ax
lea edx, [esp + 0x7c]
call fcn.100a1100
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x2c]
inc eax
mov dword [ecx + 0xc], eax
mov eax, dword [ecx + 0x24]
add eax, dword [ecx + 0x18]
xor ecx, ecx
add dword [esi + 0x2c], eax
movzx eax, byte [edx + 0x2f]
mov dword [esp + 0xc], eax
mov al, byte [edx + 0x2d]
test al, al
movsx edx, al
mov eax, dword [esp + 0x14]
cmovns ecx, edx
cmp ecx, dword [eax]
jne 0x100a44a1
mov eax, dword [esp + 0x18]
mov dword [esp + 0x74], 0
jmp 0x100a4822
cmp byte [esp + 0x100], 0
je 0x100a44ba
mov eax, dword [esp + 0x10]
test byte [eax + 4], 1
mov eax, str.DISTINCT
je 0x100a44bf
mov eax, str.GROUP_BY
push eax
push str.USE_TEMP_B_TREE_FOR__s
push 0
push esi
call fcn.1004b2a0
mov eax, dword [esp + 0x24]
add esp, 0x10
mov dword [esp + 0x74], 1
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x50], eax
mov edx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
mov edi, dword [eax + 0x18]
test edi, edi
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x3c]
jle 0x100a4536
mov esi, dword [eax + 0x14]
mov edi, edx
add esi, 0xe
movsx ecx, word [esi]
lea eax, [edi + 1]
cmp ecx, edx
lea esi, [esi + 0x10]
cmovl eax, edi
mov edi, eax
lea eax, [edx + 1]
cmovl eax, edx
sub dword [esp + 0x48], 1
mov edx, eax
jne 0x100a4505
mov esi, dword [esp + 0x1c]
mov ecx, edi
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x34], ecx
cmp ecx, 1
jne 0x100a4563
mov al, byte [esi + 0x13]
test al, al
jne 0x100a454e
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x2c], eax
jmp 0x100a4589
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0xa4]
mov dword [esp + 0x2c], eax
jmp 0x100a4589
mov edx, dword [esi + 0x20]
mov dword [esp + 0x2c], edx
cmp ecx, dword [esi + 0x1c]
jg 0x100a457a
sub dword [esi + 0x1c], ecx
lea eax, [ecx + edx]
mov dword [esi + 0x20], eax
jmp 0x100a4589
mov eax, dword [esi + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], eax
mov edx, dword [esp + 0x14]
mov ecx, esi
push 0
push 0
push dword [esp + 0x34]
call fcn.1006aa40
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x48], 0
cmp dword [ecx + 0x18], 0
mov byte [ecx], 1
jle 0x100a4602
xor edi, edi
nop word [eax + eax]
mov edx, dword [ecx + 0x14]
movsx eax, word [edx + edi + 0xe]
cmp eax, dword [esp + 0x50]
jl 0x100a45ed
mov eax, dword [esp + 0x50]
mov ecx, esi
add eax, dword [esp + 0x2c]
mov edx, dword [edx + edi + 4]
push eax
call fcn.1006a8e0
mov ecx, dword [esp + 0x1c]
add esp, 4
inc dword [esp + 0x50]
mov eax, dword [esp + 0x48]
add edi, 0x10
inc eax
mov dword [esp + 0x48], eax
cmp eax, dword [ecx + 0x18]
jl 0x100a45c0
mov edi, dword [esp + 0x3c]
mov byte [ecx], 0
mov al, byte [esi + 0x13]
test al, al
jne 0x100a4614
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
jmp 0x100a4623
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0xa4]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x50], eax
cmp dword [edi + 0x70], ecx
jg 0x100a464e
mov edx, dword [esp + 0x34]
mov ecx, edi
push eax
push edx
push dword [esp + 0x34]
mov edx, 0x61
call fcn.1004ae00
mov edx, dword [esp + 0x5c]
add esp, 0xc
jmp 0x100a4681
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x50]
mov dword [eax + ecx*4], 0x61
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 0x6c]
mov eax, dword [eax + 4]
mov dword [esp + 0x48], eax
cmp dword [edi + 0x70], ecx
jg 0x100a46ad
push 0
push edx
push eax
mov edx, 0x8b
mov ecx, edi
call fcn.1004ae00
mov edx, dword [esp + 0x5c]
add esp, 0xc
jmp 0x100a46e0
mov esi, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x8b
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test edx, edx
je 0x100a46f8
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x100a46f8
movzx eax, al
mov dword [esi + eax*4 + 0xa4], edx
inc byte [esi + 0x13]
mov eax, dword [esp + 0x34]
cmp eax, 1
jne 0x100a471f
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x100a472e
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x100a472e
movzx eax, al
mov dword [esi + eax*4 + 0xa4], ecx
inc byte [esi + 0x13]
jmp 0x100a472e
cmp eax, dword [esi + 0x1c]
jle 0x100a472e
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x20], eax
mov ecx, dword [esp + 0x4c]
call fcn.100bfa10
mov eax, dword [esp + 0x18]
mov edx, dword [esi + 0x28]
mov dword [esp + 0x48], edx
mov dword [eax + 8], edx
mov al, byte [esi + 0x13]
inc dword [esi + 0x28]
test al, al
jne 0x100a4757
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
jmp 0x100a4766
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0xa4]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x50], eax
cmp dword [edi + 0x70], ecx
jg 0x100a478d
mov edx, dword [esp + 0x34]
mov ecx, edi
push edx
push eax
push dword [esp + 0x50]
mov edx, 0x79
call fcn.1004ae00
add esp, 0xc
jmp 0x100a47c0
mov esi, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x50]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x79
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 0x6c]
mov edx, dword [eax + 4]
cmp dword [edi + 0x70], ecx
jg 0x100a47e7
push 0
push dword [esp + 0x58]
mov ecx, edi
push edx
mov edx, 0x22
call fcn.1004ae00
add esp, 0xc
jmp 0x100a481a
mov esi, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4], 0x22
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
mov byte [eax + 1], 1
cmp dword [esi + 0x48], 0
je 0x100a4893
cmp dword [eax + 0x24], 0
xorps xmm0, xmm0
movaps xmmword [esp + 0xa0], xmm0
movq qword [esp + 0xb0], xmm0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xa4], 0x100a11b0
jle 0x100a4893
mov edi, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x34], ecx
xor esi, esi
mov eax, dword [edi + 0x20]
mov edx, dword [ecx + eax]
test edx, edx
je 0x100a487e
lea ecx, [esp + 0xa0]
call fcn.1005e690
mov ecx, dword [esp + 0x34]
inc esi
add ecx, 0x18
mov dword [esp + 0x34], ecx
cmp esi, dword [edi + 0x24]
jl 0x100a4864
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x58], 0
je 0x100a48f8
mov eax, dword [esp + 0x38]
test byte [eax + 0x50], 4
jne 0x100a48f8
cmp dword [esp + 0x74], 0
jne 0x100a48b5
mov eax, dword [esp + 0x4c]
test byte [eax + 0x30], 8
je 0x100a48f8
mov dword [esp + 0xc0], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
jne 0x100a48f8
mov eax, dword [esp + 0xd4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
push dword [eax + edx*4 + 0x10]
lea esi, [eax + edx*4]
movsx edx, byte [esi + 1]
call fcn.1004b880
mov word [esi], 0xb9
add esp, 4
mov dword [esi + 0x10], 0
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x74], 0
mov ecx, dword [edi + 0x6c]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
je 0x100a496b
mov eax, dword [edx + 4]
mov dword [esp + 0x58], eax
cmp dword [edi + 0x70], ecx
jg 0x100a4934
push dword [esp + 0x48]
mov edx, 0x85
mov ecx, edi
push dword [esp + 0x54]
push eax
call fcn.1004ae00
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x100a496b
mov esi, dword [esp + 0x58]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x85
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x58], eax
mov ecx, dword [ecx]
mov dword [esp + 0x34], ecx
test ecx, ecx
jle 0x100a4a31
mov ecx, dword [esp + 0x14]
add ecx, 8
mov dword [esp + 0x50], ecx
nop
mov ecx, dword [esp + 0x78]
add ecx, eax
cmp dword [esp + 0x74], 0
mov dword [esp + 0x34], ecx
je 0x100a49f9
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a49c4
mov edx, dword [esp + 0x34]
mov ecx, edi
push edx
push eax
push dword [esp + 0x50]
mov edx, 0x5e
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4a0d
mov edx, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x58]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100a4a0d
mov byte [edx], 1
mov edx, dword [esp + 0x50]
push ecx
mov ecx, esi
mov edx, dword [edx]
call fcn.1006a8e0
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x58]
add dword [esp + 0x50], 0x14
inc eax
mov edx, dword [esp + 0x18]
mov ecx, dword [ecx]
mov dword [esp + 0x58], eax
mov dword [esp + 0x34], ecx
cmp eax, ecx
jl 0x100a4990
mov eax, dword [esp + 0x68]
test eax, eax
je 0x100a4a45
inc dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov dword [esp + 0x34], ecx
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x58], edx
cmp dword [edi + 0x70], edx
jg 0x100a4a6d
mov eax, dword [esp + 0x40]
mov edx, 0x5a
push ecx
push dword [esp + 0x7c]
inc eax
mov ecx, edi
push eax
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4aa9
mov esi, dword [esp + 0x1c]
lea eax, [edx + 1]
lea ecx, [edx + edx*4]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
mov edx, dword [esp + 0x40]
inc edx
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x5a
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x58]
push 0xfffffffffffffff8
push dword [esp + 0x6c]
mov edx, eax
mov ecx, edi
call fcn.1004bae0
mov eax, dword [edi + 0x6c]
add esp, 8
mov dword [esp + 0x50], eax
lea edx, [eax + 1]
cmp dword [edi + 0x70], eax
jg 0x100a4adf
push edx
push 0
push edx
mov edx, 0xe
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4b0b
mov esi, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov dword [edi + 0x6c], edx
mov dword [eax + ecx*4], 0xe
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x68], ecx
mov edx, dword [ecx + 0x6c]
mov eax, dword [eax]
mov dword [esp + 0x58], eax
cmp dword [ecx + 0x70], edx
jg 0x100a4b41
push eax
mov eax, dword [esp + 0x44]
mov edx, 0x4f
inc eax
push eax
push dword [esp + 0x80]
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4b7d
mov edi, dword [esp + 0x3c]
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x78]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x40]
inc edx
mov dword [eax + ecx*4], 0x4f
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x58]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a4ba2
mov eax, dword [esp + 0x64]
mov edx, 0xa
push 0
push dword [esp + 0x70]
inc eax
mov ecx, edi
push eax
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4bda
mov edx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x1c]
lea ecx, [ecx + ecx*4]
mov dword [edi + 0x6c], eax
inc edx
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + ecx*4], 0xa
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a4bfd
push 0
push dword [esp + 0x58]
mov edx, 0x3b
mov ecx, edi
push dword [esp + 0x6c]
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4c30
mov edx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4], 0x3b
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a4c53
push 0
push dword [esp + 0x24]
mov edx, 0xa
mov ecx, edi
push dword [esp + 0x48]
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4c86
mov edx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0xa
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x100a4c98
mov eax, 0x10158b98
jmp 0x100a4ca5
mov eax, dword [esp + 0x50]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
push dword [esp + 0xc]
mov dword [eax + 8], edx
mov ecx, esi
push dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
call fcn.100a1800
mov ecx, dword [edi + 0x6c]
add esp, 8
cmp dword [edi + 0x70], ecx
jg 0x100a4cdf
push 0
push dword [esp + 0x34]
mov edx, 0x47
mov ecx, edi
push 1
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4d12
mov edx, dword [esp + 0x30]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x74], 0
je 0x100a4d71
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 0x6c]
mov edx, dword [eax + 4]
cmp dword [edi + 0x70], ecx
jg 0x100a4d40
push 0
push dword [esp + 0x30]
mov ecx, edi
push edx
mov edx, 0x25
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4daf
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0x25
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100a4dab
mov ecx, dword [esp + 0x4c]
call fcn.100bfa10
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
jne 0x100a4daf
mov eax, dword [esp + 0x24]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
push dword [eax + edx*4 + 0x10]
lea esi, [eax + edx*4]
movsx edx, byte [esi + 1]
call fcn.1004b880
add esp, 4
mov word [esi], 0xb9
mov dword [esi + 0x10], 0
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x100a4dc2
mov ecx, dword [esp + 0x38]
mov edx, eax
call fcn.10064650
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a4de7
mov eax, dword [esp + 0x64]
mov edx, 0xa
push 0
push dword [esp + 0x70]
inc eax
mov ecx, edi
push eax
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4e1f
mov edx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x1c]
lea ecx, [ecx + ecx*4]
mov dword [edi + 0x6c], eax
inc edx
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + ecx*4], 0xa
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a4e40
push 0
push dword [esp + 0x58]
mov edx, 9
mov ecx, edi
push 0
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4e73
mov edx, dword [esp + 0x54]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x68], ecx
cmp dword [edi + 0x70], ecx
jg 0x100a4e9c
push 0
push dword [esp + 0x68]
mov edx, 0x47
mov ecx, edi
push 1
call fcn.1004ae00
mov edx, dword [esp + 0x70]
add esp, 0xc
jmp 0x100a4ecf
mov edx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a4ef0
push 0
lea eax, [edx + 1]
mov ecx, edi
push 0
push eax
mov edx, 0x43
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4f28
mov edx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x1c]
lea ecx, [ecx + ecx*4]
mov dword [edi + 0x6c], eax
inc edx
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x43
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x6c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100a4f46
push edx
mov edx, edi
call fcn.1004b440
add esp, 4
jmp 0x100a4f4f
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [edi + 0x6c]
lea ecx, [eax + 1]
lea edx, [eax + 2]
mov dword [esp + 0x24], ecx
cmp dword [edi + 0x70], eax
jg 0x100a4f79
push 0
push edx
push dword [esp + 0x38]
mov edx, 0x3b
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
jmp 0x100a4fa9
mov esi, dword [esp + 0x30]
mov dword [edi + 0x6c], ecx
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x3b
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a4fcc
mov eax, dword [esp + 0x64]
mov edx, 0x43
push 0
inc eax
mov ecx, edi
push 0
push eax
call fcn.1004ae00
add esp, 0xc
jmp 0x100a5004
mov edx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x1c]
lea ecx, [ecx + ecx*4]
mov dword [edi + 0x6c], eax
inc edx
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x43
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x18]
mov ecx, esi
call fcn.100a1450
push 0x10
push dword [esp + 0x28]
push dword [esp + 0x68]
push esi
call fcn.1006b2c0
push dword [esp + 0x78]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x114]
push dword [esp + 0x38]
mov ecx, esi
push dword [esp + 0x88]
push eax
lea eax, [esp + 0xe0]
push eax
push 0xffffffffffffffff
call fcn.10098510
mov ecx, dword [edi + 0x6c]
add esp, 0x28
cmp dword [edi + 0x70], ecx
jg 0x100a5071
mov eax, dword [esp + 0x64]
mov edx, 0x43
push 0
inc eax
mov ecx, edi
push 0
push eax
call fcn.1004ae00
add esp, 0xc
jmp 0x100a50a9
mov edx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x1c]
lea ecx, [ecx + ecx*4]
mov dword [edi + 0x6c], eax
inc edx
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x43
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x20]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100a50c7
push edx
mov edx, edi
call fcn.1004b440
add esp, 4
jmp 0x100a50d0
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov edx, dword [esp + 0x18]
mov ecx, esi
call fcn.100a1200
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a50fc
push 0
push dword [esp + 0x34]
mov edx, 0x47
mov ecx, edi
push 0
call fcn.1004ae00
add esp, 0xc
jmp 0x100a512f
mov edx, dword [esp + 0x30]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a5150
push 0
push 0
push dword [esp + 0x48]
mov edx, 0x43
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
jmp 0x100a5183
mov edx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x43
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp word [esp + 8], 0
je 0x100a5876
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x100a5876
mov eax, dword [esp + 0x18]
mov edx, ecx
mov ecx, esi
mov eax, dword [eax + 0x20]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.10098440
add esp, 8
jmp 0x100a5876
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
cmp dword [ecx + 0x24], 0
jne 0x100a558b
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0xc], eax
cmp dword [eax], 1
jne 0x100a558b
mov eax, dword [ecx + 0x20]
cmp dword [eax], 1
jne 0x100a558b
cmp dword [eax + 0x1c], 0
jne 0x100a558b
mov ecx, dword [edx + 0x24]
cmp ecx, 1
jne 0x100a558b
mov edi, dword [esp + 0x10]
cmp dword [edi + 0x2c], 0
mov edi, dword [esp + 0x3c]
jne 0x100a558b
mov eax, dword [eax + 0x18]
mov dword [esp + 0x30], eax
cmp byte [eax + 0x2b], 0
jne 0x100a558e
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
cmp byte [eax], 0xa8
jne 0x100a558e
cmp dword [eax + 0x28], edx
jne 0x100a558e
mov eax, dword [edx + 0x20]
mov eax, dword [eax + 4]
test dword [eax + 4], 0x100
je 0x100a558e
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 8]
mov edi, dword [esp + 0x3c]
test dword [eax + 4], 0x1000004
jne 0x100a558e
mov eax, dword [esp + 0x30]
mov ecx, 0xffff8000
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 0x3c]
test edx, edx
je 0x100a529c
mov eax, dword [esi]
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x100a529c
nop word [eax + eax]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x100a5290
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0x28]
xor edx, edx
mov dword [esp + 0x48], eax
mov edi, esi
inc eax
mov dword [esp + 0x4c], edx
mov dword [esi + 0x28], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x14]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x80]
test eax, eax
cmovne edi, eax
mov eax, edi
mov dword [esp + 0xc], edi
mov edi, dword [eax + 0x5c]
mov eax, 1
shl eax, cl
test edi, eax
jne 0x100a52f7
mov eax, dword [esp + 0xc]
bts edi, ecx
mov dword [eax + 0x5c], edi
cmp ecx, 1
jne 0x100a52fc
mov ecx, eax
call fcn.1007cbd0
jmp 0x100a5325
cmp ecx, 1
je 0x100a5327
mov eax, dword [esi]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
cmp byte [eax + 9], dl
je 0x100a5327
mov eax, dword [esp + 0x30]
mov ecx, esi
mov edx, dword [esp + 0x20]
push dword [eax]
push 0
push dword [eax + 0x14]
call fcn.10073b10
add esp, 0xc
xor edx, edx
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x3c]
test byte [ecx + 0x1c], 0x80
je 0x100a5354
mov edx, dword [ecx + 8]
mov dword [esp + 0x4c], edx
test edx, edx
je 0x100a5354
mov eax, dword [edx + 0x38]
and al, 3
cmp al, 2
je 0x100a5350
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x100a5340
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
test byte [eax + 0x30], 1
jne 0x100a53a1
mov eax, dword [ecx + 8]
test eax, eax
je 0x100a53a1
mov edi, ecx
nop word [eax + eax]
test byte [eax + 0x38], 4
jne 0x100a5392
movzx ecx, word [eax + 0x30]
cmp cx, word [edi + 0x28]
jge 0x100a5392
cmp dword [eax + 0x24], 0
jne 0x100a5392
test edx, edx
je 0x100a5390
cmp cx, word [edx + 0x30]
jge 0x100a5392
mov edx, eax
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x100a5370
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x4c], edx
test edx, edx
je 0x100a53b7
mov eax, dword [edx + 0x2c]
mov ecx, esi
mov dword [esp + 8], eax
call fcn.1007d470
mov dword [esp + 0x24], eax
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a53df
mov edx, dword [esp + 8]
mov ecx, edi
push 1
push dword [esp + 0x24]
push edx
push dword [esp + 0x54]
mov edx, 0x70
call fcn.1004ae40
add esp, 0x10
jmp 0x100a5412
mov edx, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 8]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0xfd70
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 1
mov edx, dword [esp + 0x24]
test edx, edx
je 0x100a545e
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x100a5432
push edx
mov edx, 0xfffffff8
call fcn.1004b880
add esp, 4
jmp 0x100a545e
mov eax, dword [edi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
cmp byte [eax + ecx*4 - 0x13], 0
lea eax, [eax + ecx*4]
je 0x100a5457
push 0xfffffffffffffff8
push edx
lea edx, [eax - 0x14]
mov ecx, edi
call fcn.1004ba10
add esp, 8
jmp 0x100a545e
mov dword [eax - 4], edx
mov byte [eax - 0x13], 0xf8
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x2c]
inc eax
mov dword [ecx + 0xc], eax
mov eax, dword [ecx + 0x24]
add eax, dword [ecx + 0x18]
add dword [esi + 0x2c], eax
mov edx, dword [ecx + 0x18]
add edx, dword [ecx + 0xc]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a5498
push 0
push edx
push dword [esp + 0x50]
mov edx, 0x62
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
jmp 0x100a54cb
mov esi, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x62
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a54ec
push 0
push 0
push dword [esp + 0x50]
mov edx, 0x7a
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
jmp 0x100a551f
mov edx, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esi + 0xdb], 2
jne 0x100a583a
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
test ecx, ecx
je 0x100a5553
test byte [edx + 0x1c], 0x80
je 0x100a5547
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x100a5553
mov eax, dword [ecx]
mov dword [esp + 0xc], 1
jmp 0x100a5560
mov dword [esp + 0xc], 0
mov eax, 0x1014475b
cmp dword [esp + 0xc], 0
mov ecx, 0x1014475b
push eax
mov eax, str._USING_COVERING_INDEX
cmove eax, ecx
push eax
push dword [edx]
push str.SCAN__s_s_s
push 0
push esi
call fcn.1004b2a0
add esp, 0x18
jmp 0x100a583a
mov ecx, dword [edx + 0x24]
cmp dword [edx + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x24], 0
je 0x100a5665
xor eax, eax
mov dword [esp + 8], ecx
test ecx, ecx
jle 0x100a55f4
mov edi, dword [edx + 0x20]
xor esi, esi
nop
mov eax, dword [edi]
test dword [eax + 4], 0x1000000
jne 0x100a55d8
mov eax, dword [edi + 4]
mov dword [esp + 8], ecx
test byte [eax + 4], 0x20
jne 0x100a55e4
inc esi
mov dword [esp + 8], ecx
add edi, 0x18
cmp esi, ecx
jl 0x100a55c0
mov edi, dword [esp + 0x3c]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 8]
jne 0x100a5660
inc dword [esi + 0x2c]
mov ecx, dword [edi + 0x6c]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x20], eax
cmp dword [edi + 0x70], ecx
jg 0x100a5629
push 0
push eax
push 0
mov edx, 0x47
mov ecx, edi
call fcn.1004ae00
mov edx, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [edx + 0x24]
jmp 0x100a5689
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x20]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edx + 0x24]
jmp 0x100a5689
cmp ecx, 1
jne 0x100a5689
mov eax, dword [edx + 0x20]
cmp dword [eax + 8], 0
jl 0x100a5689
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x68], eax
neg eax
sbb eax, eax
and eax, 0x500
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x2c]
inc eax
mov dword [edx + 0xc], eax
mov eax, dword [edx + 0x18]
add eax, ecx
mov ecx, esi
add dword [esi + 0x2c], eax
call fcn.100a1200
movzx eax, byte [esp + 0x2b]
mov ecx, esi
or ax, word [esp + 0x24]
mov edx, dword [esp + 0x2c]
push 0
movzx eax, ax
push eax
push dword [esp + 0x18]
push dword [esp + 0x74]
push dword [esp + 0xac]
push dword [esp + 0x60]
call fcn.100be9f0
add esp, 0x18
mov dword [esp + 0x30], eax
test eax, eax
je 0x100a591c
movzx eax, byte [eax + 0x2f]
mov ecx, esi
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x1c]
mov dword [esp + 0x14], eax
call fcn.100a1800
mov edx, dword [esp + 0x14]
add esp, 8
test edx, edx
je 0x100a571a
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x100a571a
push dword [eax + 0xc]
mov ecx, esi
push dword [eax + 8]
call fcn.10098440
add esp, 8
mov edx, dword [esp + 0x20]
test edx, edx
je 0x100a5773
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a5740
push 0
push edx
push 1
mov edx, 0x47
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
jmp 0x100a5773
mov esi, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x2b], 0
mov eax, dword [esp + 0x30]
je 0x100a5828
test byte [eax + 0x30], 4
je 0x100a5828
cmp byte [eax + 0x2d], 0
je 0x100a5828
movzx edx, byte [eax + 0x2c]
sub edx, 1
js 0x100a57c8
lea ecx, [edx + edx*2]
shl ecx, 5
add ecx, eax
nop word [eax + eax]
mov eax, dword [ecx + 0x348]
test byte [eax + 0x2c], 4
jne 0x100a57cd
sub ecx, 0x60
sub edx, 1
jns 0x100a57b0
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x20]
jmp 0x100a57d3
mov edx, dword [ecx + 0x308]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a57f1
push 0
push edx
push 0
mov edx, 9
mov ecx, edi
call fcn.1004ae00
add esp, 0xc
jmp 0x100a5824
mov esi, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4], 9
mov eax, dword [esp + 0x30]
mov ecx, eax
call fcn.100bfa10
mov edx, dword [esp + 0x18]
mov ecx, esi
call fcn.100a1450
push 0x10
push dword [esp + 0x58]
mov dword [esp + 0xc8], 0
push dword [esp + 0x68]
push esi
call fcn.1006b2c0
mov eax, dword [esp + 0x64]
mov ecx, esi
mov edx, dword [esp + 0x20]
push eax
push eax
push dword [esp + 0x88]
push 0
push 0
push 0xffffffffffffffff
call fcn.10098510
add esp, 0x28
mov edx, dword [esp + 0x54]
mov ecx, dword [edi + 0xc]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100a5894
push edx
mov edx, edi
call fcn.1004b440
add esp, 4
jmp 0x100a589d
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
cmp byte [esp + 0x101], 3
jne 0x100a58bc
push str.DISTINCT
push str.USE_TEMP_B_TREE_FOR__s
push 0
push esi
call fcn.1004b2a0
add esp, 0x10
cmp dword [esp + 0xc0], 0
je 0x100a58e6
mov eax, dword [esp + 0x44]
mov ecx, esi
push dword [esp + 0x70]
mov edx, dword [esp + 0x14]
push dword [eax]
lea eax, [esp + 0xc8]
push eax
call fcn.100996a0
add esp, 0xc
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0xfc]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100a5907
push edx
mov edx, edi
call fcn.1004b440
add esp, 4
jmp 0x100a5910
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
xor eax, eax
cmp dword [esi + 0x24], eax
setg al
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x9c]
test ecx, ecx
je 0x100a2614
mov edx, ecx
mov ecx, eax
call fcn.10064650
jmp 0x100a2614
mov edx, dword [esi + 8]
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
je 0x100a596c
mov ecx, 0x10158b98
mov eax, edi
mov ecx, dword [ecx + 8]
mov dword [esi + 0xe8], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.10115f0d
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
mov ecx, dword [ecx + 8]
mov dword [esi + 0xe8], ecx
mov eax, edi
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.10115f0d
mov esp, ebp
pop ebp
ret
mov edi, dword [esi + 8]
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100a59c5
mov eax, 0x10158b98
mov eax, dword [eax + 8]
mov dword [esi + 0xe8], eax
mov eax, dword [esp + 0x74]
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.10115f0d
mov esp, ebp
pop ebp
ret
lea edx, [ecx + ecx*4]
mov ecx, dword [edi + 0x68]
lea eax, [ecx + edx*4]
mov eax, dword [eax + 8]
mov dword [esi + 0xe8], eax
mov eax, dword [esp + 0x74]
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.10115f0d
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x10c]
mov eax, 1
pop edi
pop esi
xor ecx, esp
call fcn.10115f0d
mov esp, ebp
pop ebp
ret