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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x108
mov eax, dword [0x51300c]
xor eax, esp
mov dword [esp + 0x104], eax
push esi
mov esi, ecx
mov dword [esp + 0x6c], 1
mov ecx, dword [ebp + 8]
mov eax, edx
push edi
mov dword [esp + 0x6c], ecx
mov edi, dword [esi + 8]
mov ecx, dword [esi]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x9c], 0
mov dword [esp + 0x38], ecx
mov dword [esp + 0x50], edi
test edi, edi
jne 0x48d033
cmp dword [esi + 0x78], edi
jne 0x48d022
test byte [ecx + 0x50], 8
jne 0x48d022
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.00436f50
mov edi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x50], edi
test eax, eax
je 0x49044f
cmp dword [esi + 0x24], 0
jne 0x49044f
push 0
push 0
push 0
mov edx, 0x15
mov ecx, esi
call fcn.0045f5c0
add esp, 0xc
test eax, eax
jne 0x49044f
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x10]
cmp byte [eax], 6
ja 0x48d0d7
mov eax, dword [ecx + 0x30]
mov dword [esp + 8], eax
test eax, eax
je 0x48d0c9
mov ecx, dword [esi]
push 0
push 0xc
test ecx, ecx
je 0x48d08b
call fcn.00413890
jmp 0x48d090
call fcn.00413230
mov edx, dword [esp + 0x10]
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x48d0b7
mov eax, dword [esi + 0x84]
mov dword [ecx], eax
mov dword [esi + 0x84], ecx
mov dword [ecx + 4], edx
mov dword [ecx + 8], fcn.004500f0
jmp 0x48d0be
mov ecx, dword [esi]
call fcn.00450000
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.0048c0c0
add esp, 4
cmp dword [esi + 0x24], 0
jne 0x48d131
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov dword [esp + 8], eax
test eax, 0x800000
je 0x48d16f
mov edx, dword [ecx + 0x20]
lea eax, [edx + 8]
mov ecx, eax
mov dword [esp + 0xc], eax
call fcn.0048cf40
test eax, eax
je 0x48d15f
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x48d122
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.00417860
add esp, 0xc
mov ecx, dword [esi + 0xe4]
test ecx, ecx
jne 0x4903f4
xor eax, eax
mov dword [esi + 0xe4], eax
mov eax, dword [esp + 0x70]
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.004f1f57
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 + 0x6c]
cmp byte [eax], 9
jne 0x48d181
mov edx, ecx
mov ecx, esi
call fcn.004854c0
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.004ac4b0
test eax, eax
jne 0x48d131
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 + 0x2c], ecx
mov dword [esp + 0x5c], 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 0x48d3cb
nop dword [eax]
cmp eax, dword [ecx]
jge 0x48d431
lea eax, [eax + eax*8]
lea edx, [ecx + eax*8]
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x4c], eax
mov al, byte [edx + 0x2c]
and al, 0x18
mov dword [esp + 0xc], edx
cmp al, 8
jne 0x48d253
mov eax, dword [esp + 0x10]
mov edx, dword [edx + 0x34]
mov ecx, dword [eax + 0x24]
call fcn.00457860
test eax, eax
je 0x48d24f
mov eax, dword [esp + 0x38]
test dword [eax + 0x50], 0x2000
jne 0x48d24f
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x2c]
and byte [edx + 0x2c], 0xd7
movzx eax, byte [eax + 0x2c]
mov edx, dword [edx + 0x34]
and eax, 0x40
push eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x24]
call fcn.004820d0
add esp, 4
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
test edx, edx
je 0x48d3b4
mov eax, dword [edx + 0x1c]
mov esi, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [esp + 8], eax
movsx eax, word [esi + 0x22]
mov esi, dword [esp + 0x18]
cmp eax, dword [esp + 8]
jne 0x48d413
test byte [edx + 4], 8
jne 0x48d3b4
mov eax, dword [edx + 0x30]
mov dword [esp + 8], eax
test eax, eax
je 0x48d32c
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x30], 0
jne 0x48d2aa
cmp dword [ecx], 1
jle 0x48d35a
cmp dword [edx + 0x3c], 0
jne 0x48d35a
test dword [edx + 4], 0x8000000
mov edx, eax
jne 0x48d35c
test dword [edx + 4], 0x8000000
jne 0x48d35c
mov eax, dword [esp + 0x38]
test dword [eax + 0x50], 0x40000
jne 0x48d35c
mov ecx, dword [esi]
push 0
push 0xc
test ecx, ecx
je 0x48d2ee
call fcn.00413890
jmp 0x48d2f3
call fcn.00413230
mov edx, dword [esp + 0x10]
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x48d31a
mov eax, dword [esi + 0x84]
mov dword [ecx], eax
mov dword [esi + 0x84], ecx
mov dword [ecx + 4], edx
mov dword [ecx + 8], fcn.004500f0
jmp 0x48d321
mov ecx, dword [esi]
call fcn.00450000
mov eax, dword [esp + 0x24]
mov dword [eax + 0x30], 0
mov eax, dword [esp + 0x40]
push dword [esp + 0x5c]
mov edx, dword [esp + 0x14]
mov ecx, esi
push eax
call fcn.00489c20
add esp, 8
test eax, eax
je 0x48d37a
cmp dword [esi + 0x24], 0
jne 0x48d131
or eax, 0xffffffff
mov dword [esp + 0x40], eax
jmp 0x48d37e
mov edx, eax
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x48d330
test dword [edx + 4], 0x40000
je 0x48d330
cmp dword [ecx], 1
je 0x48d3bc
test byte [ecx + 0x74], 0x22
jne 0x48d3bc
jmp 0x48d330
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
cmp byte [edi + 0x57], 0
mov ecx, dword [edx + 0x20]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x2c], ecx
jne 0x48d131
mov esi, dword [esp + 0x6c]
cmp byte [esi], 8
mov esi, dword [esp + 0x18]
jbe 0x48d3bc
mov eax, dword [edx + 0x30]
mov dword [esp + 0xc0], eax
jmp 0x48d3b8
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
inc eax
cmp dword [edx + 0x34], 0
mov dword [esp + 0x40], eax
je 0x48d1e0
push dword [esp + 0x6c]
mov ecx, esi
call fcn.00486ba0
mov edi, eax
add esp, 4
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x38], 0
jne 0x4903de
mov ecx, dword [esi + 0xe4]
test ecx, ecx
jne 0x49039d
mov dword [esi + 0xe4], ecx
mov eax, edi
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
push dword [esp + 8]
mov ecx, dword [esp + 0x50]
push dword [ecx]
push eax
push str.expected__d_columns_for__s_but_got__d
push esi
call fcn.00417860
add esp, 0x14
jmp 0x48d131
mov eax, dword [edx + 0x24]
mov dword [esp + 0x28], ecx
test eax, eax
je 0x48d5ca
cmp byte [eax], 0x2c
mov dword [esp + 0x28], ecx
jne 0x48d5ca
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], ecx
test dword [eax + 0x50], 0x8000
jne 0x48d5ca
mov eax, dword [esi]
add eax, 0x57
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], eax
mov dword [esp + 0x28], ecx
nop word [eax + 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 0x48d4c9
cmp dword [eax], 0
jle 0x48d4c9
test byte [eax + 0x2c], 0x40
mov dword [esp + 0x90], 3
jne 0x48d4d4
mov dword [esp + 0x90], 1
mov edx, dword [edx + 0x24]
lea ecx, [esp + 0x7c]
call fcn.0048a610
cmp dword [esp + 0x84], 0
je 0x48d5b4
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x7c]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], 0x48a7e0
mov edx, dword [edi + 0x24]
mov dword [esp + 0xa8], fcn.0040c9e0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb8], eax
test edx, edx
je 0x48d54e
lea ecx, [esp + 0xa0]
call fcn.0044a1e0
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x94]
mov ecx, dword [eax]
test edx, edx
je 0x48d5b4
test ecx, ecx
je 0x48d5ab
cmp edx, dword [ecx + 0x164]
jae 0x48d59b
cmp edx, dword [ecx + 0x15c]
jb 0x48d583
mov eax, dword [ecx + 0x158]
mov dword [edx], eax
mov dword [ecx + 0x158], edx
jmp 0x48d5b4
cmp edx, dword [ecx + 0x160]
jb 0x48d59b
mov eax, dword [ecx + 0x150]
mov dword [edx], eax
mov dword [ecx + 0x150], edx
jmp 0x48d5b4
cmp dword [ecx + 0x210], 0
je 0x48d5ab
call fcn.004134c0
jmp 0x48d5b4
push edx
call fcn.00413450
add esp, 4
cmp dword [esp + 0x88], 0
mov edx, dword [esp + 0x10]
jne 0x48d480
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x38]
test dword [ecx + 0x50], 0x201
jne 0x48d5fd
mov ecx, esi
call fcn.0048cc90
test eax, eax
je 0x48d5fd
mov eax, dword [esp + 0x38]
cmp byte [eax + 0x57], 0
jne 0x48d131
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x28], ecx
jmp 0x48d601
mov ecx, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x30], eax
cmp dword [ecx], eax
jle 0x48df88
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 0x48d648
mov eax, dword [ecx + 8]
test eax, eax
je 0x48d648
push dword [ecx + 4]
mov edx, 0x14
mov ecx, esi
push 0x4ff790
push eax
call fcn.0045f5c0
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x54], eax
test eax, eax
je 0x48df73
mov ecx, dword [esp + 0x10]
lea edx, [esp + 8]
mov dword [esp + 8], 0
call fcn.0044e2b0
mov eax, dword [esp + 8]
add dword [esi + 0xe0], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 0x50]
mov eax, edx
test edx, 0x1000
jne 0x48d6d1
test dword [ecx + 0x28], 0x100
je 0x48d6a9
mov esi, dword [ecx + 0x44]
cmp byte [esi + 0x12], 0
mov esi, dword [esp + 0x18]
je 0x48d6d1
mov edx, dword [ecx + 0x44]
cmp dword [edx], 2
jge 0x48d6d1
push dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x2c]
mov edx, dword [esp + 0x5c]
push dword [eax + 0x24]
call fcn.0048a850
mov eax, dword [esp + 0x44]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x50]
test eax, 0x4000000
jne 0x48d83a
test dword [ecx + 0x28], 0x108
jne 0x48d83a
mov eax, dword [ecx + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x24], eax
test byte [eax + 4], 9
jne 0x48d83a
mov edx, dword [eax + 0x34]
test edx, edx
je 0x48d711
cmp byte [eax], 0x87
jne 0x48d83a
cmp dword [eax + 0x44], 0
jne 0x48d83a
mov eax, edx
test eax, eax
jne 0x48d701
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x58], eax
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x48d793
mov ecx, dword [eax]
mov dword [esp + 8], ecx
test ecx, ecx
jle 0x48d793
lea esi, [eax + 0x18]
movzx eax, word [esi]
test ax, ax
je 0x48d783
add eax, 0xffff
mov edx, 0x3f
cmp ax, 0x40
jae 0x48d762
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 + 0x58], eax
or dword [esp + 0x44], ecx
mov ecx, dword [esp + 8]
add esi, 0x14
sub ecx, 1
mov dword [esp + 8], ecx
jne 0x48d747
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc], 0
movsx eax, word [eax + 0x22]
mov dword [esp + 0x4c], eax
test eax, eax
jle 0x48d83a
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x20], 0
nop
xor edx, edx
cmp esi, 0x3f
jae 0x48d7e2
mov eax, esi
xor ecx, ecx
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
mov dword [esp + 8], ecx
jmp 0x48d7ea
mov dword [esp + 8], accept
mov eax, dword [esp + 0x44]
mov ecx, edi
and eax, dword [esp + 8]
and ecx, edx
or ecx, eax
jne 0x48d826
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 0x1c]
mov ecx, dword [ecx + edx + 8]
cmp byte [ecx], 0x79
je 0x48d81f
and dword [ecx + 4], 0xfff7dfff
mov byte [ecx], 0x79
or dword [eax + 4], 0x1000000
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x48d802
add dword [esp + 0x20], 0x14
inc esi
cmp esi, dword [esp + 0x4c]
jl 0x48d7c0
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x100]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x4c], eax
mov eax, dword [edx + 8]
mov dword [esi + 0x100], eax
test dword [edx + 0x28], 0x100
mov dword [esp + 0xc], ecx
je 0x48d87a
mov eax, dword [edx + 0x44]
mov cl, byte [eax + 0x12]
test cl, cl
je 0x48d8df
cmp dword [eax], 2
jl 0x48d876
cmp cl, 2
jne 0x48d8df
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
test byte [eax + 0x2c], 0x40
jne 0x48d8df
mov eax, dword [esi]
test dword [eax + 0x50], 0x2000000
jne 0x48d8df
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
push dword [eax]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.0048cb40
mov edx, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x48d8df
cmp dword [esp + 0x30], eax
jne 0x48d931
mov eax, dword [esp + 0x28]
cmp dword [eax], 1
je 0x48d968
test byte [eax + 0x74], 2
jne 0x48d968
mov ecx, dword [esp + 0x10]
test dword [ecx + 4], 0x10000000
je 0x48d968
test dword [edx + 0x28], 0x100
je 0x48dbc5
mov eax, dword [edx + 0x44]
mov dword [esp + 0x24], eax
mov ecx, dword [eax + 4]
mov dword [esp + 8], ecx
test ecx, ecx
jle 0x48dbc5
mov ecx, dword [edi + 0x6c]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], eax
cmp dword [edi + 0x70], ecx
jg 0x48db04
mov edx, dword [esp + 8]
mov ecx, edi
push 0
push edx
push eax
mov edx, 0xa
call fcn.00437140
add esp, 0xc
jmp 0x48db37
mov ecx, dword [esp + 0x10]
test dword [ecx + 4], 0x10000000
jne 0x48d8df
test byte [edx + 0x24], 0x22
lea eax, [edx + 0x24]
jne 0x48d8df
mov ecx, dword [esp + 0xc]
nop dword [eax + eax]
test ecx, ecx
je 0x48d968
sub eax, 0x48
dec ecx
cmp dword [eax - 0x10], 0
jne 0x48d8df
test byte [eax], 0x22
je 0x48d950
jmp 0x48d8df
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 + 0x58], eax
cmp dword [edi + 0x70], ecx
jg 0x48d9a2
push eax
push 0
push edx
mov edx, 0xb
mov ecx, edi
call fcn.00437140
mov edx, dword [esp + 0x64]
add esp, 0xc
jmp 0x48d9d1
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], 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.00437550
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x8c]
push eax
mov ecx, esi
call fcn.0048cfc0
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 0x48da7c
push 0
push 0
push edx
mov edx, 0x44
mov ecx, edi
call fcn.00437140
add esp, 0xc
jmp 0x48daaf
mov esi, dword [esp + 0x18]
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 0x48dae2
mov eax, 0x5160e0
mov dword [eax], edx
mov byte [esi + 0x13], 0
mov dword [esi + 0x1c], 0
jmp 0x48df3c
mov eax, dword [esp + 0x58]
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 0x48df3c
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 0x48dbb0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x48db7d
push 0
push edx
push eax
mov edx, 0x73
mov ecx, edi
call fcn.00437140
mov eax, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x54]
mov ax, word [eax + 0x10]
mov word [ecx + 2], ax
jmp 0x48df3c
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 + 0x18]
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 0x48df3c
push dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
push 0
call fcn.0048cb40
mov edx, eax
add esp, 8
mov dword [esp + 0x24], edx
test edx, edx
je 0x48dce5
mov eax, dword [edx + 0x18]
mov dword [esp + 0xc], eax
test eax, eax
je 0x48dc52
mov ecx, dword [edx + 0x1c]
mov dword [esp + 8], ecx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x48dc1b
push 0
push eax
push dword [esp + 0x10]
mov edx, 0xa
mov ecx, edi
call fcn.00437140
mov edx, dword [esp + 0x30]
add esp, 0xc
jmp 0x48dc52
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 + 0x18]
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 0x48dc9a
push 0
push dword [esp + 0xc]
mov edx, 0x73
mov ecx, edi
push eax
call fcn.00437140
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 0x48df3c
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 + 0x18]
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 0x48df3c
inc dword [esi + 0x2c]
xor eax, eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0x2c]
mov dword [edx + 0x1c], eax
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x44], ecx
cmp dword [edi + 0x70], ecx
jg 0x48dd23
push 0
push 0
push 0
mov edx, 9
mov ecx, edi
call fcn.00437140
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x44], eax
jmp 0x48dd5e
mov esi, dword [esp + 0x18]
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 + 0x44]
or dword [edx + 0x28], 0x10
inc eax
test byte [edx + 0x28], 8
mov dword [esp + 8], eax
mov dword [edx + 0x18], eax
jne 0x48ddd2
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x58], ecx
cmp dword [edi + 0x70], ecx
jg 0x48dd9b
push 0
push 0
push 0
mov edx, 0xf
mov ecx, edi
call fcn.00437140
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x58], eax
jmp 0x48ddd2
mov esi, dword [esp + 0x18]
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.00437550
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x8c]
push eax
mov ecx, esi
call fcn.0048cfc0
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 + 0x58]
test ecx, ecx
je 0x48de75
mov eax, dword [edi + 0x6c]
mov dword [esp + 0xc], eax
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x48de65
mov eax, 0x5160d8
jmp 0x48de6e
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 0x48dea0
push 0
push dword [esp + 0xc]
mov edx, 0x43
mov ecx, edi
push eax
call fcn.00437140
mov edx, dword [esp + 0x20]
add esp, 0xc
jmp 0x48ded7
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 + 0x18]
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 0x48deed
mov eax, 0x5160d8
jmp 0x48defa
mov eax, dword [esp + 0x44]
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 0x48df3c
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 0x48d131
mov ecx, dword [esp + 0x10]
lea edx, [esp + 8]
mov dword [esp + 8], 0
call fcn.0044e2b0
mov eax, dword [esp + 8]
sub dword [esi + 0xe0], eax
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x100], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
inc eax
mov dword [esp + 0x30], eax
cmp eax, dword [ecx]
jl 0x48d610
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x44], eax
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x58], eax
mov al, byte [ecx + 4]
and al, 1
mov dword [esp + 0x40], edx
mov byte [esp + 0x100], al
mov eax, dword [ecx + 4]
and al, 9
cmp al, 1
jne 0x48e00f
mov ecx, dword [esp + 0xc0]
push 0xffffffffffffffff
call fcn.004573b0
mov edx, dword [esp + 0x44]
add esp, 4
test eax, eax
jne 0x48e00f
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], 0
jne 0x48e00f
mov ecx, dword [esp + 0x38]
and dword [eax + 4], 0xfffffffe
push 0
call fcn.0044f3f0
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 + 0x40]
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x48e0d8
push dword [edx]
mov edx, ecx
mov ecx, esi
push 0
call fcn.00484610
mov dword [esp + 0x54], 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 + 0x40]
mov eax, dword [eax]
inc eax
add eax, ecx
mov dword [esp + 0xc], eax
cmp dword [edi + 0x70], edx
jg 0x48e084
push 0
push eax
push dword [esp + 0x10]
mov edx, 0x76
mov ecx, edi
call fcn.00437140
mov edx, eax
add esp, 0xc
mov dword [esp + 0x24], edx
jmp 0x48e0bb
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 + 0x18]
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 + 0x50]
mov ecx, edi
call fcn.00437de0
mov eax, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0xd4], eax
jmp 0x48e0e3
mov dword [esp + 0xd4], 0xffffffff
mov ecx, dword [esp + 0x6c]
cmp byte [ecx], 0xc
jne 0x48e1e7
mov eax, dword [esp + 0x40]
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 0x48e11a
push 0
push edx
push eax
mov edx, 0x76
mov ecx, edi
call fcn.00437140
add esp, 0xc
jmp 0x48e14d
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 + 0x50]
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 0x48e1eb
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
lea edx, [ecx - 1]
mov dword [esp + 8], edx
test edx, edx
jle 0x48e1c5
lea esi, [edx*4 + 2]
mov edi, eax
add esi, edx
lea esi, [edi + esi*4]
nop dword [eax]
test byte [esi + 0xc], 0x40
jne 0x48e1b9
mov edx, dword [esi]
test edx, edx
je 0x48e195
mov ecx, dword [esp + 0x38]
call fcn.0044ed80
push dword [esi + 4]
push dword [esp + 0x3c]
call fcn.00413560
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 0x48e180
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
xor edx, edx
test ecx, ecx
jle 0x48e1e7
lea ecx, [eax + 8]
nop
test byte [ecx + 0xc], 0x40
jne 0x48e1df
mov eax, dword [ecx]
mov byte [eax], 0x79
mov eax, dword [esp + 0x40]
inc edx
add ecx, 0x14
cmp edx, dword [eax]
jl 0x48e1d0
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 0x48e20a
mov ecx, 0x140
mov word [edx + 2], cx
cmp dword [edx + 0x3c], 0
je 0x48e21f
push eax
mov ecx, esi
call fcn.00485f80
mov edx, dword [esp + 0x14]
add esp, 4
cmp dword [edx + 8], 0
jne 0x48e259
cmp dword [esp + 0xd4], 0
jl 0x48e259
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x48e23e
mov eax, 0x5160d8
jmp 0x48e24e
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 0x48e330
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.00484610
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 0x48e2b9
push 0
push 0
push eax
mov edx, 0x76
mov ecx, edi
call fcn.00437140
mov edx, eax
add esp, 0xc
mov dword [esp + 8], edx
jmp 0x48e2f0
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 + 0x18]
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.00437de0
mov eax, dword [esp + 0x10]
add esp, 8
mov dword [esp + 0x108], eax
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x48e322
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 0x48e338
mov byte [esp + 0x101], 0
cmp dword [esp + 0x5c], 0
mov eax, dword [esp + 0x14]
jne 0x48e662
test eax, eax
jne 0x48e662
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 0x48e391
mov ecx, esi
call fcn.004ad070
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 + 0x38]
push dword [esp + 0xd0]
push dword [esp + 0x58]
call fcn.004a9280
mov ecx, eax
add esp, 0x18
mov dword [esp + 0x68], ecx
test ecx, ecx
je 0x48d131
mov edx, dword [esp + 0x10]
movzx eax, word [ecx + 0x34]
cmp ax, word [edx + 2]
jge 0x48e3d7
mov word [edx + 2], ax
cmp byte [esp + 0x100], 0
je 0x48e3ff
mov cl, byte [ecx + 0x2f]
movzx edx, byte [esp + 0x101]
test cl, cl
movzx eax, cl
mov ecx, dword [esp + 0x68]
cmovne edx, eax
mov byte [esp + 0x101], dl
mov edx, dword [esp + 0xc0]
test edx, edx
je 0x48e46f
mov al, byte [ecx + 0x2d]
test al, al
jns 0x48e41e
mov dword [esp + 0xc4], 0
jmp 0x48e428
movsx eax, al
mov dword [esp + 0xc4], eax
test byte [ecx + 0x30], 4
jne 0x48e433
mov eax, dword [ecx + 0x1c]
jmp 0x48e453
movzx eax, byte [ecx + 0x2c]
lea eax, [eax + eax*2]
shl eax, 5
cmp dword [eax + ecx + 0x2d0], 0
je 0x48e44c
mov eax, dword [ecx + 0x1c]
jmp 0x48e453
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 0x48e4ae
test edx, edx
jne 0x48e4ae
mov ecx, dword [edi]
cmp byte [ecx + 0x57], dl
jne 0x48e4ae
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.00437b50
mov word [esi], 0xb8
add esp, 4
mov dword [esi + 0x10], 0
mov esi, dword [esp + 0x18]
cmp dword [esp + 8], 0
mov edx, dword [esp + 0x10]
je 0x48e627
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 + 0x70]
mov dword [esp + 0x18], ecx
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.004b0920
mov ecx, dword [edi + 0x6c]
add esp, 0xc
mov edx, dword [esp + 0x20]
cmp dword [edi + 0x70], ecx
jg 0x48e512
push 0
push edx
push 0
mov edx, 9
mov ecx, edi
call fcn.00437140
add esp, 0xc
jmp 0x48e541
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 0x48e55f
push edx
mov edx, edi
call fcn.004376f0
add esp, 4
jmp 0x48e568
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 + 0x74]
push eax
lea eax, [esp + 0xd0]
push eax
push 0xffffffffffffffff
call fcn.004834b0
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 0x48e5bd
push edx
mov edx, edi
call fcn.004376f0
add esp, 4
jmp 0x48e5c6
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 0x48e5ef
push 0
push 0
push edx
mov edx, 0x43
mov ecx, edi
call fcn.00437140
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x4902da
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 0x4902da
mov eax, dword [esp + 0x68]
mov ecx, esi
push dword [eax + 0x20]
push dword [eax + 0x1c]
lea eax, [esp + 0x108]
push dword [esp + 0x74]
push eax
lea eax, [esp + 0xd0]
push eax
push 0xffffffffffffffff
call fcn.004834b0
mov ecx, dword [esp + 0x80]
add esp, 0x18
call fcn.004aa240
jmp 0x4902fd
mov dword [esp + 0x2c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x5c], 0
test eax, eax
je 0x48e733
mov ecx, dword [edx + 0x1c]
mov eax, dword [ecx]
test eax, eax
jle 0x48e6a2
add ecx, 0x1a
nop
xor esi, esi
lea ecx, [ecx + 0x14]
dec eax
mov word [ecx - 0x14], si
test eax, eax
jg 0x48e690
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
test eax, eax
jle 0x48e6c2
add ecx, 0x1a
nop
xor edi, edi
lea ecx, [ecx + 0x14]
dec eax
mov word [ecx - 0x14], di
test eax, eax
jg 0x48e6b0
mov edi, dword [esp + 0x50]
cmp word [edx + 2], 0x42
jle 0x48e6d2
mov eax, 0x42
mov word [edx + 2], ax
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x48e739
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x48e739
xor edx, edx
test eax, eax
jle 0x48e710
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 0x48e6f3
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x14]
push 0xffffffffffffffff
call fcn.004573b0
add esp, 4
test eax, eax
jne 0x48e739
mov dword [esp + 0x5c], 1
jmp 0x48e739
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.00413890
mov ecx, eax
add esp, 8
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x48e83b
push 0x2c
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esi]
add esp, 0xc
push 0
push 0xc
test ecx, ecx
je 0x48e77f
call fcn.00413890
jmp 0x48e784
call fcn.00413230
mov edx, eax
add esp, 8
test edx, edx
je 0x48e7ae
mov eax, dword [esi + 0x84]
mov ecx, dword [esp + 0x1c]
mov dword [edx], eax
mov dword [esi + 0x84], edx
mov dword [edx + 4], ecx
mov dword [edx + 8], 0x48cc00
jmp 0x48e83b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi]
mov dword [esp + 0x20], ecx
push dword [eax + 0x14]
push ecx
call fcn.00413560
mov eax, dword [esp + 0x24]
push dword [eax + 0x20]
push dword [esp + 0x2c]
call fcn.00413560
mov edx, dword [esp + 0x30]
add esp, 0x10
mov ecx, dword [esp + 0x1c]
test edx, edx
je 0x48e82e
cmp ecx, dword [edx + 0x164]
jae 0x48e818
cmp ecx, dword [edx + 0x15c]
jb 0x48e800
mov eax, dword [edx + 0x158]
mov dword [ecx], eax
mov dword [edx + 0x158], ecx
jmp 0x48e83b
cmp ecx, dword [edx + 0x160]
jb 0x48e818
mov eax, dword [edx + 0x150]
mov dword [ecx], eax
mov dword [edx + 0x150], ecx
jmp 0x48e83b
cmp dword [edx + 0x210], 0
je 0x48e82e
mov edx, ecx
mov ecx, dword [esp + 0x20]
call fcn.004134c0
jmp 0x48e837
push ecx
call fcn.00413450
add esp, 4
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
cmp byte [eax + 0x57], 0
jne 0x48d131
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 + 0x28]
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 0x48e895
mov eax, dword [edx]
jmp 0x48e897
xor eax, eax
mov dword [ecx + 0x10], edx
mov edx, dword [esp + 0x40]
mov word [ecx + 2], ax
lea ecx, [esp + 0x7c]
call fcn.00457fb0
mov edx, dword [esp + 0xc0]
lea ecx, [esp + 0x7c]
call fcn.00457fb0
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x48e972
cmp dword [esp + 0x14], 0
je 0x48e922
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], 0x48c9b0
mov dword [esp + 0xb8], eax
test edx, edx
je 0x48e91b
lea ecx, [esp + 0xa0]
call fcn.0044a1e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0xa4], 0x457d40
mov edx, ecx
mov dword [esp + 0xa8], 0x44a4b0
lea ecx, [esp + 0xa0]
mov dword [esp + 0xac], 0x44a4c0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb8], eax
mov dword [esp + 0xa0], 0
call fcn.0044a1e0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x18]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x28], 0
jne 0x48eab2
cmp dword [eax + 0x2c], 0
jne 0x48eab2
cmp dword [edx + 0x24], 1
jne 0x48eab2
mov eax, dword [edx + 0x20]
mov eax, dword [eax]
mov ecx, dword [eax + 0x14]
mov dword [esp + 8], ecx
test ecx, ecx
je 0x48eab2
cmp dword [ecx], 1
jne 0x48eab2
test dword [eax + 4], 0x1000000
jne 0x48eab2
mov ecx, dword [esp + 0x38]
test dword [ecx + 0x50], 0x10000
jne 0x48eab2
mov eax, dword [eax + 8]
mov edx, 0x503f70
mov dword [esp + 0x20], eax
sub eax, edx
mov dword [esp + 0x24], eax
nop dword [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [eax + edx]
mov dword [esp + 0xc], ecx
cmp eax, ecx
jne 0x48ea23
test eax, eax
jne 0x48ea39
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 8]
call fcn.00450610
neg eax
mov byte [esp + 0x37], 1
sbb al, al
and eax, 0xffffff02
mov dword [esp + 0x24], eax
jmp 0x48ea6d
movzx ecx, byte [eax + 0x4fa530]
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x4fa530]
sub ecx, eax
jne 0x48ea40
mov eax, dword [esp + 0x24]
inc edx
jmp 0x48e9f0
mov eax, dword [esp + 0x20]
mov edx, 0x503f74
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 0x48ea95
test eax, eax
jne 0x48eaab
mov byte [esp + 0x24], 1
mov byte [esp + 0x37], 2
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x38]
push 0
call fcn.0044f3f0
mov ecx, eax
add esp, 4
mov dword [esp + 0x9c], ecx
test ecx, ecx
je 0x48eab7
mov eax, dword [esp + 0x24]
mov byte [ecx + 0x10], al
jmp 0x48eab7
movzx ecx, byte [eax + 0x4fa530]
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x4fa530]
sub ecx, eax
jne 0x48eab2
mov eax, dword [esp + 0x20]
inc edx
jmp 0x48ea50
mov byte [esp + 0x37], 0
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x7c]
call fcn.0048c190
mov eax, dword [esp + 0x38]
cmp byte [eax + 0x57], 0
jne 0x490380
cmp dword [esp + 0x14], 0
je 0x48fbf9
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x74], 0
mov dword [esp + 8], 0
cmp dword [ecx + 0x24], 1
jne 0x48ebd8
mov eax, dword [ecx + 0x20]
cmp dword [eax + 8], 0
jl 0x48ebd8
mov eax, dword [eax]
test eax, eax
je 0x48ebd8
test dword [eax + 4], 0x1000
jne 0x48ebd8
mov edx, dword [eax + 0x14]
test edx, edx
je 0x48ebd8
mov edx, dword [edx + 8]
test edx, edx
je 0x48eb47
mov ecx, dword [esp + 0x38]
push 0
push 0
call fcn.0044efb0
add esp, 8
mov dword [esp + 0x20], eax
jmp 0x48eb4f
mov dword [esp + 0x20], 0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
push 0
call fcn.0044f3f0
mov ecx, eax
add esp, 4
mov dword [esp + 0x74], ecx
test ecx, ecx
jne 0x48eb7c
mov edx, dword [esp + 0x20]
mov ecx, dword [esi]
call fcn.0044fb40
mov dword [esp + 0x74], eax
jmp 0x48ebc7
mov eax, dword [ecx]
lea edx, [eax + 1]
cmp dword [ecx + 4], edx
jge 0x48eb9d
mov eax, dword [esp + 0x20]
mov edx, ecx
mov ecx, dword [esi]
push eax
call fcn.0044fbb0
add esp, 4
mov dword [esp + 0x74], eax
jmp 0x48ebc7
movups xmm0, xmmword [0x4f940c]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x74]
mov dword [eax], edx
mov eax, dword [0x4f941c]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x1c]
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.00484610
mov ecx, dword [edi + 0x6c]
add esp, 8
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1c]
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 0x48ec2c
push 0
push edx
push eax
mov edx, 0x77
mov ecx, edi
call fcn.00437140
add esp, 0xc
mov dword [esp + 0x24], eax
jmp 0x48ec63
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 + 0x18]
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 + 0x50]
mov edx, eax
mov ecx, edi
call fcn.00437de0
mov eax, dword [esi + 0x2c]
add esp, 8
mov edx, dword [esp + 0x14]
inc eax
mov dword [esp + 0x3c], eax
inc eax
mov dword [esp + 0x60], eax
lea ecx, [eax + 2]
mov eax, dword [esi + 0x38]
dec eax
mov dword [esi + 0x2c], ecx
mov dword [esp + 0x68], eax
dec eax
mov dword [esi + 0x38], eax
mov dword [esp + 0x64], 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 0x48ecd8
push 0
push dword [esp + 0x64]
mov edx, 0x47
mov ecx, edi
push 0
call fcn.00437140
mov edx, dword [esp + 0x20]
add esp, 0xc
jmp 0x48ed0f
mov esi, dword [esp + 0x60]
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 + 0x18]
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 + 0x64]
mov ecx, dword [edi + 0x6c]
add edx, eax
cmp dword [edi + 0x70], ecx
jg 0x48ed39
mov eax, dword [esp + 0x64]
mov ecx, edi
push edx
inc eax
mov edx, 0x4b
push eax
push 0
call fcn.00437140
add esp, 0xc
jmp 0x48ed71
mov esi, dword [esp + 0x64]
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 + 0x50]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x18]
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 0x48ed94
push 0
push dword [esp + 0x24]
mov edx, 0xa
mov ecx, edi
push dword [esp + 0x6c]
call fcn.00437140
add esp, 0xc
jmp 0x48edc7
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 + 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 + 0x5c]
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 + 0x2c]
or cx, ax
or cx, word [esp + 0xc]
movzx eax, cx
mov ecx, esi
push eax
push dword [esp + 0x18]
mov eax, dword [esp + 0x80]
push eax
push dword [esp + 0x24]
push dword [esp + 0x58]
call fcn.004a9280
mov edx, eax
add esp, 0x18
mov dword [esp + 0x44], edx
test edx, edx
jne 0x48ee40
mov eax, dword [esp + 0x74]
test eax, eax
je 0x49037c
mov ecx, dword [esp + 0x38]
mov edx, eax
call fcn.00450000
jmp 0x49037c
cmp dword [esi + 0x48], 0
je 0x48ee9f
mov ecx, dword [esp + 0x1c]
cmp word [ecx + 2], 0
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x18], eax
jbe 0x48ee92
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
dec edx
cmp dword [ecx + 0x1c], 0
jle 0x48ee8b
mov edi, dword [ecx + 0x14]
add edi, 0xe
xor esi, esi
nop
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 0x48ee70
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x18]
lea eax, [edx + 1]
mov word [ecx + 2], ax
lea edx, [esp + 0x7c]
call fcn.0048c190
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
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 0x48eee1
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x70], 0
jmp 0x48f262
cmp byte [esp + 0x100], 0
je 0x48eefa
mov eax, dword [esp + 0x10]
test byte [eax + 4], 1
mov eax, str.DISTINCT
je 0x48eeff
mov eax, str.GROUP_BY
push eax
push str.USE_TEMP_B_TREE_FOR__s
push 0
push esi
call fcn.00437550
mov eax, dword [esp + 0x24]
add esp, 0x10
mov dword [esp + 0x70], 1
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x48], eax
mov edx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
mov edi, dword [eax + 0x18]
test edi, edi
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x50]
jle 0x48ef76
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 + 0x2c], 1
mov edx, eax
jne 0x48ef45
mov esi, dword [esp + 0x18]
mov ecx, edi
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x50]
mov dword [esp + 0x30], ecx
cmp ecx, 1
jne 0x48efa3
mov al, byte [esi + 0x13]
test al, al
jne 0x48ef8e
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x28], eax
jmp 0x48efc9
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0xa0]
mov dword [esp + 0x28], eax
jmp 0x48efc9
mov edx, dword [esi + 0x20]
mov dword [esp + 0x28], edx
cmp ecx, dword [esi + 0x1c]
jg 0x48efba
sub dword [esi + 0x1c], ecx
lea eax, [ecx + edx]
mov dword [esi + 0x20], eax
jmp 0x48efc9
mov eax, dword [esi + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x28], edx
mov dword [esi + 0x2c], eax
mov edx, dword [esp + 0x14]
mov ecx, esi
push 0
push 0
push dword [esp + 0x30]
call fcn.00456240
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x2c], 0
cmp dword [ecx + 0x18], 0
mov byte [ecx], 1
jle 0x48f042
xor edi, edi
nop word [eax + eax]
mov edx, dword [ecx + 0x14]
movsx eax, word [edx + edi + 0xe]
cmp eax, dword [esp + 0x48]
jl 0x48f02d
mov eax, dword [esp + 0x48]
mov ecx, esi
add eax, dword [esp + 0x28]
mov edx, dword [edx + edi + 4]
push eax
call fcn.004560e0
mov ecx, dword [esp + 0x20]
add esp, 4
inc dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
add edi, 0x10
inc eax
mov dword [esp + 0x2c], eax
cmp eax, dword [ecx + 0x18]
jl 0x48f000
mov edi, dword [esp + 0x50]
mov byte [ecx], 0
mov al, byte [esi + 0x13]
test al, al
jne 0x48f054
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
jmp 0x48f063
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0xa0]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x48], eax
cmp dword [edi + 0x70], ecx
jg 0x48f08e
mov edx, dword [esp + 0x30]
mov ecx, edi
push eax
push edx
push dword [esp + 0x30]
mov edx, 0x61
call fcn.00437140
mov edx, dword [esp + 0x54]
add esp, 0xc
jmp 0x48f0c1
mov edx, dword [esp + 0x28]
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 + 0x30]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4], 0x61
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x6c]
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
cmp dword [edi + 0x70], ecx
jg 0x48f0ed
push 0
push edx
push eax
mov edx, 0x8b
mov ecx, edi
call fcn.00437140
mov edx, dword [esp + 0x54]
add esp, 0xc
jmp 0x48f120
mov esi, 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], esi
mov esi, dword [esp + 0x18]
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 0x48f138
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x48f138
movzx eax, al
mov dword [esi + eax*4 + 0xa0], edx
inc byte [esi + 0x13]
mov eax, dword [esp + 0x30]
cmp eax, 1
jne 0x48f15f
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x48f16e
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x48f16e
movzx eax, al
mov dword [esi + eax*4 + 0xa0], ecx
inc byte [esi + 0x13]
jmp 0x48f16e
cmp eax, dword [esi + 0x1c]
jle 0x48f16e
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x28]
mov dword [esi + 0x20], eax
mov ecx, dword [esp + 0x44]
call fcn.004aa240
mov eax, dword [esp + 0x1c]
mov edx, dword [esi + 0x28]
mov dword [esp + 0x2c], edx
mov dword [eax + 8], edx
mov al, byte [esi + 0x13]
inc dword [esi + 0x28]
test al, al
jne 0x48f197
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
jmp 0x48f1a6
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0xa0]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x48], eax
cmp dword [edi + 0x70], ecx
jg 0x48f1cd
mov edx, dword [esp + 0x30]
mov ecx, edi
push edx
push eax
push dword [esp + 0x34]
mov edx, 0x79
call fcn.00437140
add esp, 0xc
jmp 0x48f200
mov esi, dword [esp + 0x18]
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 + 0x48]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x79
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x6c]
mov edx, dword [eax + 4]
cmp dword [edi + 0x70], ecx
jg 0x48f227
push 0
push dword [esp + 0x58]
mov ecx, edi
push edx
mov edx, 0x22
call fcn.00437140
add esp, 0xc
jmp 0x48f25a
mov esi, dword [esp + 0x18]
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 + 0x1c]
mov byte [eax + 1], 1
cmp dword [esi + 0x48], 0
je 0x48f2d3
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], 0x48c230
jle 0x48f2d3
mov esi, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x30], ecx
xor edi, edi
mov eax, dword [esi + 0x20]
mov edx, dword [ecx + eax]
test edx, edx
je 0x48f2be
lea ecx, [esp + 0xa0]
call fcn.0044a1e0
mov ecx, dword [esp + 0x30]
inc edi
add ecx, 0x10
mov dword [esp + 0x30], ecx
cmp edi, dword [esi + 0x24]
jl 0x48f2a4
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x5c], 0
je 0x48f338
mov eax, dword [esp + 0x38]
test byte [eax + 0x50], 4
jne 0x48f338
cmp dword [esp + 0x70], 0
jne 0x48f2f5
mov eax, dword [esp + 0x44]
test byte [eax + 0x30], 8
je 0x48f338
mov dword [esp + 0xc0], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
jne 0x48f338
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.00437b50
mov word [esi], 0xb8
add esp, 4
mov dword [esi + 0x10], 0
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x70], 0
mov ecx, dword [edi + 0x6c]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
je 0x48f3ab
mov eax, dword [edx + 4]
mov dword [esp + 0x5c], eax
cmp dword [edi + 0x70], ecx
jg 0x48f374
push dword [esp + 0x2c]
mov edx, 0x85
mov ecx, edi
push dword [esp + 0x4c]
push eax
call fcn.00437140
mov edx, dword [esp + 0x28]
add esp, 0xc
jmp 0x48f3ab
mov esi, dword [esp + 0x5c]
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 + 0x48]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x85
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x5c], eax
mov ecx, dword [ecx]
mov dword [esp + 0x30], ecx
test ecx, ecx
jle 0x48f471
mov ecx, dword [esp + 0x14]
add ecx, 8
mov dword [esp + 0x48], ecx
nop
mov ecx, dword [esp + 0x78]
add ecx, eax
cmp dword [esp + 0x70], 0
mov dword [esp + 0x30], ecx
je 0x48f439
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x48f404
mov edx, dword [esp + 0x30]
mov ecx, edi
push edx
push eax
push dword [esp + 0x34]
mov edx, 0x5e
call fcn.00437140
add esp, 0xc
jmp 0x48f44d
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 + 0x5c]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48f44d
mov byte [edx], 1
mov edx, dword [esp + 0x48]
push ecx
mov ecx, esi
mov edx, dword [edx]
call fcn.004560e0
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
add dword [esp + 0x48], 0x14
inc eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [ecx]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x30], ecx
cmp eax, ecx
jl 0x48f3d0
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x48f485
inc dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x5c], edx
cmp dword [edi + 0x70], edx
jg 0x48f4ad
mov eax, dword [esp + 0x64]
mov edx, 0x5a
push ecx
push dword [esp + 0x7c]
inc eax
mov ecx, edi
push eax
call fcn.00437140
add esp, 0xc
jmp 0x48f4e9
mov esi, dword [esp + 0x18]
lea eax, [edx + 1]
lea ecx, [edx + edx*4]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
mov edx, dword [esp + 0x64]
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 + 0x30]
mov dword [eax + ecx*4], 0x5a
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x5c]
push 0xfffffffffffffff8
push dword [esp + 0x50]
mov edx, eax
mov ecx, edi
call fcn.00437de0
mov eax, dword [edi + 0x6c]
add esp, 8
mov dword [esp + 0x48], eax
lea edx, [eax + 1]
cmp dword [edi + 0x70], eax
jg 0x48f51f
push edx
push 0
push edx
mov edx, 0xe
mov ecx, edi
call fcn.00437140
add esp, 0xc
jmp 0x48f54b
mov esi, dword [esp + 0x18]
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 + 0x4c], ecx
mov edx, dword [ecx + 0x6c]
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
cmp dword [ecx + 0x70], edx
jg 0x48f581
push eax
mov eax, dword [esp + 0x68]
mov edx, 0x4f
inc eax
push eax
push dword [esp + 0x80]
call fcn.00437140
add esp, 0xc
jmp 0x48f5bd
mov edi, dword [esp + 0x50]
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x78]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x64]
inc edx
mov dword [eax + ecx*4], 0x4f
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x5c]
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 0x48f5e2
mov eax, dword [esp + 0x60]
mov edx, 0xa
push 0
push dword [esp + 0x6c]
inc eax
mov ecx, edi
push eax
call fcn.00437140
add esp, 0xc
jmp 0x48f61a
mov edx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x18]
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 + 0x68]
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 0x48f63d
push 0
push dword [esp + 0x58]
mov edx, 0x3b
mov ecx, edi
push dword [esp + 0x68]
call fcn.00437140
add esp, 0xc
jmp 0x48f670
mov edx, dword [esp + 0x60]
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 0x48f693
push 0
push dword [esp + 0x24]
mov edx, 0xa
mov ecx, edi
push dword [esp + 0x6c]
call fcn.00437140
add esp, 0xc
jmp 0x48f6c6
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 + 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 0x48f6d8
mov eax, 0x5160d8
jmp 0x48f6e5
mov eax, dword [esp + 0x48]
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 + 0x20]
mov edx, dword [esp + 0x44]
call fcn.0048c4f0
mov ecx, dword [edi + 0x6c]
add esp, 8
cmp dword [edi + 0x70], ecx
jg 0x48f71f
push 0
push dword [esp + 0x40]
mov edx, 0x47
mov ecx, edi
push 1
call fcn.00437140
add esp, 0xc
jmp 0x48f752
mov edx, dword [esp + 0x3c]
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 + 0x70], 0
je 0x48f7b1
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x6c]
mov edx, dword [eax + 4]
cmp dword [edi + 0x70], ecx
jg 0x48f780
push 0
push dword [esp + 0x2c]
mov ecx, edi
push edx
mov edx, 0x25
call fcn.00437140
add esp, 0xc
jmp 0x48f7ef
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 + 0x28]
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 0x48f7eb
mov ecx, dword [esp + 0x44]
call fcn.004aa240
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
jne 0x48f7ef
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.00437b50
add esp, 4
mov word [esi], 0xb8
mov dword [esi + 0x10], 0
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x74]
test eax, eax
je 0x48f802
mov ecx, dword [esp + 0x38]
mov edx, eax
call fcn.00450000
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x48f827
mov eax, dword [esp + 0x60]
mov edx, 0xa
push 0
push dword [esp + 0x6c]
inc eax
mov ecx, edi
push eax
call fcn.00437140
add esp, 0xc
jmp 0x48f85f
mov edx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x18]
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 + 0x68]
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 0x48f880
push 0
push dword [esp + 0x58]
mov edx, 9
mov ecx, edi
push 0
call fcn.00437140
add esp, 0xc
jmp 0x48f8b3
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 + 0x4c], ecx
cmp dword [edi + 0x70], ecx
jg 0x48f8dc
push 0
push dword [esp + 0x64]
mov edx, 0x47
mov ecx, edi
push 1
call fcn.00437140
mov edx, dword [esp + 0x6c]
add esp, 0xc
jmp 0x48f90f
mov edx, dword [esp + 0x60]
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 0x48f930
push 0
lea eax, [edx + 1]
mov ecx, edi
push 0
push eax
mov edx, 0x43
call fcn.00437140
add esp, 0xc
jmp 0x48f968
mov edx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x18]
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 + 0x68]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x48f986
push edx
mov edx, edi
call fcn.004376f0
add esp, 4
jmp 0x48f98f
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 0x48f9b9
push 0
push edx
push dword [esp + 0x44]
mov edx, 0x3b
mov ecx, edi
call fcn.00437140
add esp, 0xc
jmp 0x48f9e9
mov esi, dword [esp + 0x3c]
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 + 0x18]
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 0x48fa0c
mov eax, dword [esp + 0x60]
mov edx, 0x43
push 0
inc eax
mov ecx, edi
push 0
push eax
call fcn.00437140
add esp, 0xc
jmp 0x48fa44
mov edx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x18]
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 + 0x1c]
mov ecx, esi
call fcn.0048c410
push 0x10
push dword [esp + 0x28]
push dword [esp + 0x60]
push esi
call fcn.00456af0
push dword [esp + 0x5c]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x114]
push dword [esp + 0x38]
mov ecx, esi
push dword [esp + 0x84]
push eax
lea eax, [esp + 0xe0]
push eax
push 0xffffffffffffffff
call fcn.004834b0
mov ecx, dword [edi + 0x6c]
add esp, 0x28
cmp dword [edi + 0x70], ecx
jg 0x48fab1
mov eax, dword [esp + 0x60]
mov edx, 0x43
push 0
inc eax
mov ecx, edi
push 0
push eax
call fcn.00437140
add esp, 0xc
jmp 0x48fae9
mov edx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x18]
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 0x48fb07
push edx
mov edx, edi
call fcn.004376f0
add esp, 4
jmp 0x48fb10
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov edx, dword [esp + 0x1c]
mov ecx, esi
call fcn.0048c280
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x48fb3c
push 0
push dword [esp + 0x40]
mov edx, 0x47
mov ecx, edi
push 0
call fcn.00437140
add esp, 0xc
jmp 0x48fb6f
mov edx, dword [esp + 0x3c]
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 0x48fb90
push 0
push 0
push dword [esp + 0x6c]
mov edx, 0x43
mov ecx, edi
call fcn.00437140
add esp, 0xc
jmp 0x48fbc3
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], 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 0x4902d6
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x4902d6
mov eax, dword [esp + 0x1c]
mov edx, ecx
mov ecx, esi
mov eax, dword [eax + 0x20]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.004833e0
add esp, 8
jmp 0x4902d6
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
cmp dword [ecx + 0x24], 0
jne 0x48ffee
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0xc], eax
cmp dword [eax], 1
jne 0x48ffee
mov eax, dword [ecx + 0x20]
cmp dword [eax], 1
jne 0x48ffee
cmp dword [eax + 0x1c], 0
jne 0x48ffee
mov ecx, dword [edx + 0x24]
cmp ecx, 1
jne 0x48ffee
mov edi, dword [esp + 0x10]
cmp dword [edi + 0x2c], 0
mov edi, dword [esp + 0x50]
jne 0x48ffee
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3c], eax
cmp byte [eax + 0x2b], 0
jne 0x48fff1
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
cmp byte [eax], 0xa8
jne 0x48fff1
cmp dword [eax + 0x28], edx
jne 0x48fff1
mov eax, dword [edx + 0x20]
mov eax, dword [eax + 4]
test dword [eax + 4], 0x100
je 0x48fff1
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 8]
mov edi, dword [esp + 0x50]
test dword [eax + 4], 0x1000004
jne 0x48fff1
mov eax, dword [esp + 0x3c]
mov ecx, 0xffff8000
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 0x3c]
test edx, edx
je 0x48fcdc
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 0x48fcdc
nop word [eax + eax]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x48fcd0
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0x28]
xor edx, edx
mov dword [esp + 0x2c], eax
mov edi, esi
inc eax
mov dword [esp + 0x44], edx
mov dword [esi + 0x28], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x14]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x78]
test eax, eax
cmovne edi, eax
mov eax, edi
mov dword [esp + 0xc], edi
mov edi, dword [eax + 0x58]
mov eax, 1
shl eax, cl
test edi, eax
jne 0x48fd34
mov eax, dword [esp + 0xc]
bts edi, ecx
mov dword [eax + 0x58], edi
cmp ecx, 1
jne 0x48fd39
mov ecx, eax
call fcn.004685d0
jmp 0x48fd62
cmp ecx, 1
je 0x48fd64
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 0x48fd64
mov eax, dword [esp + 0x3c]
mov ecx, esi
mov edx, dword [esp + 0x20]
push dword [eax]
push 0
push dword [eax + 0x14]
call fcn.0045f660
add esp, 0xc
xor edx, edx
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x50]
test byte [ecx + 0x1c], 0x80
je 0x48fd94
mov edx, dword [ecx + 8]
mov dword [esp + 0x44], edx
test edx, edx
je 0x48fd94
nop dword [eax]
mov eax, dword [edx + 0x38]
and al, 3
cmp al, 2
je 0x48fd90
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x48fd80
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
test byte [eax + 0x30], 1
jne 0x48fde1
mov eax, dword [ecx + 8]
test eax, eax
je 0x48fde1
mov esi, ecx
nop word [eax + eax]
test byte [eax + 0x38], 4
jne 0x48fdd2
movzx ecx, word [eax + 0x30]
cmp cx, word [esi + 0x28]
jge 0x48fdd2
cmp dword [eax + 0x24], 0
jne 0x48fdd2
test edx, edx
je 0x48fdd0
cmp cx, word [edx + 0x30]
jge 0x48fdd2
mov edx, eax
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x48fdb0
mov esi, dword [esp + 0x18]
mov dword [esp + 0x44], edx
test edx, edx
je 0x48fdf7
mov eax, dword [edx + 0x2c]
mov ecx, esi
mov dword [esp + 8], eax
call fcn.00468e70
mov dword [esp + 0x24], eax
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0xc], ecx
cmp dword [edi + 0x70], ecx
jg 0x48fe23
push dword [esp + 0x20]
mov edx, dword [esp + 0xc]
mov ecx, edi
push edx
push dword [esp + 0x34]
mov edx, 0x70
call fcn.00437140
add esp, 0xc
mov ecx, eax
jmp 0x48fe5a
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 + 8]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0xc]
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x48fe75
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], 1
mov edx, dword [esp + 0x24]
test edx, edx
je 0x48fec1
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x48fe95
push edx
mov edx, 0xfffffff8
call fcn.00437b50
add esp, 4
jmp 0x48fec1
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 0x48feba
push 0xfffffffffffffff8
push edx
lea edx, [eax - 0x14]
mov ecx, edi
call fcn.00437d00
add esp, 8
jmp 0x48fec1
mov dword [eax - 4], edx
mov byte [eax - 0x13], 0xf8
mov ecx, dword [esp + 0x1c]
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 0x48fefb
push 0
push edx
push dword [esp + 0x34]
mov edx, 0x62
mov ecx, edi
call fcn.00437140
add esp, 0xc
jmp 0x48ff2e
mov esi, 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], esi
mov esi, dword [esp + 0x18]
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 0x48ff4f
push 0
push 0
push dword [esp + 0x34]
mov edx, 0x7a
mov ecx, edi
call fcn.00437140
add esp, 0xc
jmp 0x48ff82
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], 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 + 0xd7], 2
jne 0x49029a
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
test ecx, ecx
je 0x48ffb6
test byte [edx + 0x1c], 0x80
je 0x48ffaa
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x48ffb6
mov eax, dword [ecx]
mov dword [esp + 0xc], 1
jmp 0x48ffc3
mov dword [esp + 0xc], 0
mov eax, 0x4ff790
cmp dword [esp + 0xc], 0
mov ecx, 0x4ff790
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.00437550
add esp, 0x18
jmp 0x49029a
mov ecx, dword [edx + 0x24]
cmp dword [edx + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x24], 0
je 0x4900c7
xor eax, eax
mov dword [esp + 8], ecx
test ecx, ecx
jle 0x490056
mov esi, dword [edx + 0x20]
xor edx, edx
mov eax, dword [esi]
test dword [eax + 4], 0x1000000
jne 0x49003a
mov eax, dword [esi + 4]
mov dword [esp + 8], ecx
test byte [eax + 4], 0x20
jne 0x490046
inc edx
mov dword [esp + 8], ecx
add esi, 0x10
cmp edx, ecx
jl 0x490022
mov esi, dword [esp + 0x18]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 8]
jne 0x4900c2
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 0x49008b
push 0
push eax
push 0
mov edx, 0x47
mov ecx, edi
call fcn.00437140
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [edx + 0x24]
jmp 0x4900eb
mov esi, dword [esp + 0x20]
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 + 0x18]
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 0x4900eb
cmp ecx, 1
jne 0x4900eb
mov eax, dword [edx + 0x20]
cmp dword [eax + 8], 0
jl 0x4900eb
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x4c], 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.0048c280
movzx eax, byte [esp + 0x37]
mov ecx, esi
or ax, word [esp + 0x24]
mov edx, dword [esp + 0x28]
push 0
movzx eax, ax
push eax
push dword [esp + 0x18]
push dword [esp + 0x58]
push dword [esp + 0xac]
push dword [esp + 0x58]
call fcn.004a9280
add esp, 0x18
mov dword [esp + 0x3c], eax
test eax, eax
je 0x49037c
movzx eax, byte [eax + 0x2f]
mov ecx, esi
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x20]
mov dword [esp + 0x14], eax
call fcn.0048c4f0
mov edx, dword [esp + 0x14]
add esp, 8
test edx, edx
je 0x49017c
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x49017c
push dword [eax + 0xc]
mov ecx, esi
push dword [eax + 8]
call fcn.004833e0
add esp, 8
mov edx, dword [esp + 0x20]
test edx, edx
je 0x4901d5
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4901a2
push 0
push edx
push 1
mov edx, 0x47
mov ecx, edi
call fcn.00437140
add esp, 0xc
jmp 0x4901d5
mov esi, dword [esp + 0x18]
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 + 0x37], 0
mov eax, dword [esp + 0x3c]
je 0x490288
test byte [eax + 0x30], 4
je 0x490288
cmp byte [eax + 0x2d], 0
je 0x490288
movzx edx, byte [eax + 0x2c]
sub edx, 1
js 0x490228
lea ecx, [edx + edx*2]
shl ecx, 5
add ecx, eax
nop dword [eax]
mov eax, dword [ecx + 0x348]
test byte [eax + 0x2c], 4
jne 0x49022d
sub ecx, 0x60
sub edx, 1
jns 0x490210
mov eax, dword [esp + 0x3c]
mov edx, dword [eax + 0x20]
jmp 0x490233
mov edx, dword [ecx + 0x308]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x490251
push 0
push edx
push 0
mov edx, 9
mov ecx, edi
call fcn.00437140
add esp, 0xc
jmp 0x490284
mov esi, dword [esp + 0x18]
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 + 0x3c]
mov ecx, eax
call fcn.004aa240
mov edx, dword [esp + 0x1c]
mov ecx, esi
call fcn.0048c410
push 0x10
push dword [esp + 0x58]
mov dword [esp + 0xc8], 0
push dword [esp + 0x60]
push esi
call fcn.00456af0
mov eax, dword [esp + 0x64]
mov ecx, esi
mov edx, dword [esp + 0x20]
push eax
push eax
push dword [esp + 0x84]
push 0
push 0
push 0xffffffffffffffff
call fcn.004834b0
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 0x4902f4
push edx
mov edx, edi
call fcn.004376f0
add esp, 4
jmp 0x4902fd
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
cmp byte [esp + 0x101], 3
jne 0x49031c
push str.DISTINCT
push str.USE_TEMP_B_TREE_FOR__s
push 0
push esi
call fcn.00437550
add esp, 0x10
cmp dword [esp + 0xc0], 0
je 0x490346
mov eax, dword [esp + 0x40]
mov ecx, esi
push dword [esp + 0x6c]
mov edx, dword [esp + 0x14]
push dword [eax]
lea eax, [esp + 0xc8]
push eax
call fcn.00484700
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 0x490367
push edx
mov edx, edi
call fcn.004376f0
add esp, 4
jmp 0x490370
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 + 0x70], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x9c]
test ecx, ecx
je 0x48d131
mov edx, ecx
mov ecx, eax
call fcn.00450000
jmp 0x48d131
mov edx, dword [esi + 8]
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
je 0x4903cc
mov ecx, 0x5160d8
mov eax, edi
mov ecx, dword [ecx + 8]
mov dword [esi + 0xe4], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.004f1f57
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 + 0xe4], ecx
mov eax, edi
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
mov edi, dword [esi + 8]
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x490425
mov eax, 0x5160d8
mov eax, dword [eax + 8]
mov dword [esi + 0xe4], eax
mov eax, dword [esp + 0x70]
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.004f1f57
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 + 0xe4], eax
mov eax, dword [esp + 0x70]
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x10c]
mov eax, 1
pop edi
pop esi
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret