Function at 0x43ac90
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
test dword [0x87ed4c], 0xfffff000
jne 0x43acc0
test dword [0x87ed4c], 0xffffffff
jne 0x43bf30
call fcn.007663a0
jmp fcn.0043ac90
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
sub esp, 0x104
movsx ebx, word [edx]
cmp ebx, 0x40
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xf8], edx
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], ecx
jg 0x43bf01
movzx esi, word [ebp + 0x18]
mov ecx, 1
test esi, 0x80
cmovne ebx, ecx
mov edi, eax
mov eax, ebx
shl eax, 6
add eax, 0x27
and eax, 0xfffffff8
mov esi, dword [edi]
mov dword [esp + 0xec], eax
lea edx, [eax + 0x264]
mov eax, esi
mov dword [esp + 0x20], edx
call fcn.004a76c0
mov edi, eax
test edi, edi
je 0x43ad45
push dword [esp + 0x20]
push 0
push edi
call fcn.00766740
add esp, 0xc
movzx eax, byte [esi + 0x1e]
test eax, eax
je 0x43ad65
mov eax, esi
mov edx, edi
call fcn.00447010
xor eax, eax
add esp, 0x104
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0xf0]
mov dword [edi + 0x18], ebx
mov dword [edi], edx
mov dword [edi + 8], ecx
call fcn.00438100
movzx ecx, word [ebp + 0x18]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xec]
lea edx, [eax + edi]
mov dword [esp + 0x50], edx
pxor xmm0, xmm0
mov dword [edi + 0x1c], edx
mov word [edi + 4], cx
lea ecx, [eax + edi + 0x160]
lea edx, [ecx + 0xf]
and edx, 0xfffffff0
mov dword [esp + 0xe4], ecx
xor eax, eax
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov word [ecx + 0xc], ax
mov byte [ecx + 0xe], al
movq qword [ecx + 0xf0], xmm0
movq qword [ecx + 0xf8], xmm0
mov dword [ecx + 0x100], eax
mov eax, 0xf0
pxor xmm0, xmm0
movaps xmmword [edx + eax - 0x10], xmm0
movaps xmmword [edx + eax - 0x20], xmm0
movaps xmmword [edx + eax - 0x30], xmm0
movaps xmmword [edx + eax - 0x40], xmm0
movaps xmmword [edx + eax - 0x50], xmm0
sub eax, 0x50
jne 0x43ade6
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0xe4]
call fcn.0058d420
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xb8], 0x46c650
lea eax, [esp + 0xb8]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], ecx
call fcn.00452f90
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x28], 0
mov byte [eax + 0x10], 0x45
je 0x43aef1
mov eax, dword [esp + 0x28]
movzx edx, byte [eax]
cmp edx, 0x45
jne 0x43be22
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x28]
mov ecx, 0x45
mov edx, dword [edx + 8]
call fcn.0044b300
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x28]
mov ecx, 0x45
mov edx, dword [edx + 0xc]
call fcn.0044b300
test ebx, ebx
je 0x43aed6
mov edx, dword [esp + 0x28]
mov dword [esp + 0x84], 3
lea eax, [esp + 0x78]
mov dword [esp + 0x78], 0x46c7c0
mov dword [esp + 0x7c], 0x46c7a0
call fcn.00452f90
cmp dword [esp + 0x84], 0
je 0x43aef1
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0xc], 8
call fcn.004320b0
mov eax, dword [esp + 0xf8]
movsx edx, word [eax]
test edx, edx
jle 0x43afd5
mov edx, dword [esp + 0xe4]
mov edx, dword [edx]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], ebx
mov edi, dword [esp + 0xf8]
mov esi, dword [esp + 0xe4]
mov ebx, dword [eax + edi + 0x20]
mov dword [esi + edx*4 + 4], ebx
mov edx, dword [esi]
inc edx
mov dword [esi], edx
mov ebx, dword [eax + edi + 0x14]
test ebx, ebx
je 0x43afaa
test byte [ebx + 0x22], 0x10
je 0x43afaa
mov esi, dword [esp + 0x50]
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edi
cmp ecx, 0x1f
ja 0x43af7d
xor ebx, ebx
mov esi, 1
shld ebx, esi, cl
mov dword [esp + 0x24], ebx
mov edi, esi
shl edi, cl
mov dword [esp + 0x20], edi
jmp 0x43af90
mov dword [esp + 0x20], 0
mov ebx, 1
shl ebx, cl
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x28]
or ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
or esi, dword [esp + 0x24]
mov edi, dword [esp + 0x50]
mov dword [edi + 8], ebx
mov dword [edi + 0xc], esi
mov ebx, dword [esp + 0xf8]
add eax, 0x38
inc ecx
movsx esi, word [ebx]
cmp ecx, esi
jl 0x43af25
mov edi, dword [esp + 0xd4]
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0xdc]
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x14]
dec eax
js 0x43b024
mov dword [esp + 0xd4], edi
mov edi, dword [esp + 0xf8]
mov dword [esp + 0xd8], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0xdc], ebx
mov ebx, eax
mov eax, edi
mov edx, esi
mov ecx, ebx
call fcn.0044b4f0
dec ebx
jns 0x43b001
mov edi, dword [esp + 0xd4]
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0xdc]
movzx eax, byte [esi + 0x1e]
test eax, eax
jne 0x43ad4d
lea eax, [edi + 0x20]
mov dword [esp + 0xd0], eax
mov ecx, 0xffffffff
mov dword [esp + 0x60], eax
test ebx, ebx
jle 0x43b454
mov edx, 0xffffffff
mov dword [esp + 0x70], edx
xor eax, eax
pxor xmm0, xmm0
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], ebx
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x30], xmm0
movq qword [esp + 0x40], xmm0
movsd xmm1, qword [0x78cab8]
mov ebx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xec]
movsd qword [esp + 0x30], xmm1
xor eax, eax
add ecx, ebx
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x64], eax
mov dword [esp + 0x8c], ecx
mov ecx, eax
mov dword [esp + 0x60], edx
mov edx, 1
cmp dword [esp + 0x64], 1
mov eax, dword [esp + 0x68]
mov ebx, ecx
cmovne ebx, edx
mov dword [esp + 0xcc], eax
test ebx, ebx
mov ebx, dword [esp + 0xf8]
mov esi, ecx
cmove esi, dword [esp + 0x74]
mov dword [esp + 0x5c], esi
mov edi, ecx
cmove edi, dword [esp + 0x70]
lea esi, [eax*8]
mov dword [esp + 0x58], edi
sub esi, eax
lea ebx, [ebx + esi*8]
mov esi, dword [esp + 0xdc]
add ebx, 8
mov edi, esi
sub edi, eax
mov dword [esp + 0xc8], edi
cmp eax, esi
jge 0x43be0b
mov esi, dword [esp + 0x8c]
mov eax, ecx
mov dword [esp + 0xe0], eax
test byte [ebx + 0x15], 0xa
je 0x43b162
mov eax, dword [esp + 0xcc]
cmp eax, dword [esp + 0x68]
jne 0x43b347
mov dword [esp + 0x88], 1
jmp 0x43b16d
mov dword [esp + 0x88], 0
mov edx, dword [ebx + 0x18]
mov eax, dword [esi + 0x160]
test eax, eax
jle 0x43b19c
xor ecx, ecx
mov dword [esp + 0xe8], ebx
cmp edx, dword [esi + ecx*4 + 0x164]
je 0x43bde0
inc ecx
cmp ecx, eax
jb 0x43b183
mov ebx, dword [esp + 0xe8]
xor edx, edx
xor eax, eax
and edx, dword [esp + 0x74]
and eax, dword [esp + 0x70]
or edx, eax
jne 0x43b1c6
mov edx, dword [esp + 0x68]
cmp edx, dword [esp + 0xcc]
lea eax, [edx + 1]
cmove edx, eax
mov dword [esp + 0x68], edx
jmp 0x43b321
cmp dword [esp + 0x54], 0
jne 0x43b1da
cmp dword [ebp + 0x14], 0
je 0x43b1da
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
jmp 0x43b1dc
xor eax, eax
mov edx, dword [ebx + 0xc]
test byte [edx + 0x22], 0x10
je 0x43b231
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xcc]
shl eax, 6
lea edi, [ecx + eax + 0x5c]
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x1c], edi
mov ecx, ebx
call fcn.00442600
jmp 0x43b262
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc], edi
mov ecx, ebx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xf4]
call fcn.00443a00
mov edx, dword [esp + 0x74]
and edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x70]
and eax, dword [esp + 0xb4]
or edx, eax
jne 0x43b317
mov eax, dword [esp + 0xcc]
cmp eax, dword [esp + 0x68]
je 0x43b29e
movsd xmm0, qword [esp + 0x30]
comisd xmm0, xmmword [esp + 0xa0]
jbe 0x43b317
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x6c], edx
cmp dword [esp + 0x88], 0
jne 0x43b347
mov eax, dword [esp + 0xe0]
inc dword [esp + 0xcc]
add ebx, 0x38
inc eax
cmp eax, dword [esp + 0xc8]
mov dword [esp + 0xe0], eax
jb 0x43b13e
xor ecx, ecx
mov edx, 1
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
cmp eax, 2
jb 0x43bdd0
mov edx, dword [esp + 0x60]
pxor xmm0, xmm0
mov ebx, dword [esp + 0x20]
test ebx, 0x1000000
je 0x43b37d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
and dword [esp + 0x48], ebx
mov dword [edx], ebx
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
test ebx, 0xf0000
je 0x43b3ab
mov ecx, dword [esp + 0xf4]
mov eax, dword [ecx + 0x44]
mov dword [edx + 0x14], eax
inc dword [ecx + 0x44]
jmp 0x43b3b2
mov dword [edx + 0x14], 0xffffffff
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xe4]
lea ecx, [eax*8]
sub ecx, eax
mov esi, dword [esi + ecx*8 + 0x20]
mov eax, dword [edi]
mov dword [esp + 0x4c], ecx
test eax, eax
jle 0x43b3ec
xor ecx, ecx
cmp esi, dword [edi + ecx*4 + 4]
je 0x43bdaa
inc ecx
cmp ecx, eax
jl 0x43b3dd
xor eax, eax
xor esi, esi
mov ecx, dword [esp + 0xf8]
not esi
and dword [esp + 0x74], esi
mov esi, dword [esp + 0x4c]
not eax
and dword [esp + 0x70], eax
mov eax, dword [esp + 0x6c]
mov byte [edx + 0x28], al
mov eax, dword [ecx + esi*8 + 0x3c]
test eax, eax
je 0x43b422
test ebx, 0xf0000
je 0x43bd81
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
add edx, 0x40
cmp eax, dword [esp + 0xdc]
jl 0x43b083
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0xd4]
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0xdc]
mov eax, dword [esp + 0xf4]
cmp dword [eax + 0x40], 0
jne 0x43ad4d
movzx eax, byte [esi + 0x1e]
test eax, eax
jne 0x43ad4d
and ecx, 0x4000000
je 0x43b488
cmp dword [ebp + 0x14], 0
je 0x43b488
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
test byte [ebp + 0x18], 4
je 0x43b49d
test ecx, ecx
je 0x43b49d
and dword [edi + 0x20], 0xff7fffff
mov byte [edi + 6], 1
mov eax, dword [esp + 0xf4]
mov edx, dword [eax + 0x1a8]
test edx, edx
cmove edx, eax
cmp dword [edx + 0x15c], 0
mov dword [esp + 0x28], edx
jne 0x43b546
mov eax, edx
call fcn.004395a0
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0
je 0x43b546
mov edx, dword [eax + 0xc]
cmp edx, dword [eax + 0x10]
mov dword [esp + 0x20], edx
jl 0x43b4ee
call fcn.0045ce30
test eax, eax
jne 0x43b52f
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0xc]
mov dword [esp + 0xd4], edi
mov edi, eax
inc edx
mov ecx, dword [edi + 0x14]
mov dword [edi + 0xc], edx
xor eax, eax
mov edx, dword [esp + 0x20]
lea edx, [edx + edx*4]
mov byte [ecx + edx*4], 1
mov byte [ecx + edx*4 + 3], al
mov dword [ecx + edx*4 + 4], eax
mov dword [ecx + edx*4 + 8], eax
mov dword [ecx + edx*4 + 0xc], eax
mov dword [ecx + edx*4 + 0x10], eax
mov byte [ecx + edx*4 + 1], al
mov byte [edi + 0x62], al
mov edi, dword [esp + 0xd4]
jmp 0x43b537
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
inc eax
mov dword [edx + 0x15c], eax
test ebx, ebx
jle 0x43b647
movzx edx, word [ebp + 0x18]
xor eax, eax
and edx, 0x10
mov dword [esp + 0x88], edx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd8], esi
mov esi, dword [esp + 0xd0]
mov dword [esp + 0xdc], ebx
mov eax, dword [esp + 0xf4]
movzx edx, byte [eax + 0x1dc]
cmp edx, 2
je 0x43bc33
movzx eax, byte [esi + 0x28]
lea ecx, [eax*8]
sub ecx, eax
mov edx, dword [esp + 0xf8]
mov edi, dword [edx + ecx*8 + 0x14]
mov eax, dword [edi + 0x44]
mov dword [esp + 0xc8], ecx
test eax, eax
je 0x43bc29
mov edx, dword [esp + 0xd8]
xor ebx, ebx
mov edx, dword [edx + 4]
test edx, edx
jle 0x43b608
mov ecx, dword [esp + 0xd8]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x8c], edi
mov dword [esp + 0xd0], esi
mov esi, ebx
shl esi, 4
cmp eax, dword [ecx + esi + 0xc]
je 0x43b5fa
inc ebx
cmp ebx, edx
jl 0x43b5ea
mov edi, dword [esp + 0x8c]
mov esi, dword [esp + 0xd0]
test byte [edi + 0x22], 2
jne 0x43b618
cmp dword [edi + 0x1c], 0
je 0x43b698
mov eax, dword [esp + 0xcc]
inc eax
mov dword [esp + 0xcc], eax
add esi, 0x40
cmp eax, dword [esp + 0xdc]
jl 0x43b581
mov edi, dword [esp + 0xd4]
mov ebx, dword [esp + 0xdc]
test ebx, ebx
mov eax, dword [esp + 0xf0]
mov edx, dword [eax + 0xc]
mov dword [edi + 0xc], edx
jle 0x43b689
mov eax, 0xffffffff
mov ecx, eax
xor edx, edx
xor esi, esi
mov dword [esp + 0xc], eax
mov eax, edi
mov edx, esi
mov dword [esp + 0x10], ecx
movzx ecx, word [ebp + 0x18]
call fcn.0042d6b0
mov ecx, edx
mov edx, esi
shl edx, 6
mov edx, dword [edi + edx + 0x40]
mov dword [edi + 0x10], edx
inc esi
cmp esi, ebx
jl 0x43b661
mov eax, edi
add esp, 0x104
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
test eax, 0x8000000
jne 0x43b889
test eax, 0x800000
jne 0x43b7c6
cmp dword [esp + 0x88], 0
jne 0x43b7c6
mov edx, dword [esp + 0xd4]
movzx ecx, byte [edx + 6]
mov dword [esp + 0xc], edi
mov eax, 0x27
mov edx, 0x26
test ecx, ecx
mov ecx, dword [esp + 0xf8]
cmovne edx, eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xc8]
mov edx, dword [ecx + edx*8 + 0x20]
mov ecx, ebx
call fcn.004468b0
mov eax, dword [esp + 0xd4]
movzx edx, byte [eax + 6]
test edx, edx
jne 0x43b8f8
cmp dword [edi + 0xc], 0x40
jge 0x43b8f8
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xf8]
mov eax, dword [edx + ecx*8 + 0x30]
mov edx, dword [edx + ecx*8 + 0x34]
mov dword [esp + 0x24], 0
mov edi, eax
or edi, edx
je 0x43b769
mov edi, dword [esp + 0x24]
mov dword [esp + 0xd0], esi
mov ecx, edx
shl ecx, 0x1f
shr edx, 1
inc edi
shr eax, 1
or eax, ecx
mov esi, eax
or esi, edx
jne 0x43b74c
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0xf0]
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x14]
lea edx, [eax + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x28], edx
test edi, edi
je 0x43b7b3
movzx edx, byte [eax + 0x1e]
test edx, edx
jne 0x43b7b3
mov ecx, dword [esp + 0x28]
movsx edx, byte [edi + ecx*4 - 0x13]
mov ecx, dword [edi + ecx*4 - 4]
call fcn.004337c0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [edi + edx*4 - 4], eax
mov byte [edi + edx*4 - 0x13], 0xf2
jmp 0x43b8f8
mov ecx, dword [esp + 0x24]
mov edx, 0xfffffff2
call fcn.004337c0
jmp 0x43b8f8
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 4]
mov edx, dword [esp + 0xf4]
mov edi, dword [edx + 0x1a8]
mov dword [esp + 0x4c], ecx
test edi, edi
cmove edi, edx
mov ecx, dword [edi + 0x190]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x194]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], eax
test ecx, ecx
jle 0x43b82f
mov edi, dword [esp + 0x4c]
xor eax, eax
mov dword [esp + 0xd0], esi
mov esi, dword [esp + 0x54]
mov edx, eax
shl edx, 4
cmp ebx, dword [esi + edx]
jne 0x43b823
cmp edi, dword [esi + edx + 4]
je 0x43bb90
inc eax
cmp eax, ecx
jl 0x43b80f
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
shl ecx, 4
add ecx, 0x10
mov eax, dword [edi]
mov dword [esp + 0x44], eax
call fcn.00490370
mov dword [esp + 0x48], eax
cmp dword [esp + 0x48], 0
je 0x43bbb3
mov ecx, dword [edi + 0x190]
mov dword [edi + 0x194], eax
mov edx, ecx
shl edx, 4
inc ecx
mov dword [edi + 0x190], ecx
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov dword [edx + eax], ebx
mov dword [edx + eax + 4], ecx
mov byte [edx + eax + 8], 0
mov dword [edx + eax + 0xc], edi
jmp 0x43b8f8
mov eax, dword [edi + 0x34]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x43b8b1
mov edx, dword [esp + 0xd8]
cmp edx, dword [eax]
je 0x43b8a6
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x43b89b
mov dword [esp + 0x3c], eax
mov dword [esp + 0xd8], edx
mov ecx, dword [esp + 0xc8]
mov edi, dword [esp + 0xf8]
xor eax, eax
mov ecx, dword [edi + ecx*8 + 0x20]
mov dword [esp + 0xc], eax
mov edx, 0x7c
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xf0]
call fcn.004dcdf0
mov edx, eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xc], 0xfffffff6
call fcn.004d9420
mov edx, dword [esp + 0xc8]
mov eax, dword [esp + 0xf8]
test dword [esi], 0xf0000
mov ecx, dword [eax + edx*8 + 0x20]
mov dword [esi + 0x10], ecx
je 0x43baac
mov edi, dword [esi + 8]
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0xf4]
mov eax, dword [eax]
mov dword [esp + 0x38], edi
lea edi, [ecx + ecx*4 + 0xc]
mov edx, edi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x34], eax
call fcn.004a76c0
mov dword [esp + 0x70], eax
cmp dword [esp + 0x70], 0
je 0x43b95e
push edi
push 0
push dword [esp + 0x78]
call fcn.00766740
add esp, 0xc
cmp dword [esp + 0x70], 0
je 0x43ba4d
mov eax, dword [esp + 0xf4]
mov edi, dword [esp + 0x70]
mov edx, dword [eax]
mov eax, dword [esp + 0x5c]
mov dword [edi], edx
lea ecx, [edi + eax*4 + 0xc]
mov dword [edi + 8], ecx
test eax, eax
jle 0x43ba41
mov edi, dword [esp + 0xf4]
xor eax, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0xd0], esi
mov esi, dword [esp + 0x38]
mov ebx, dword [esi + 0x2c]
mov edx, dword [esp + 0x6c]
mov eax, dword [ebx + edx*4]
mov ebx, dword [edi]
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + 0xc]
movzx ecx, byte [edx + 0x49]
movzx edx, byte [ebx + 0x7c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], edx
test eax, eax
je 0x43b9dd
mov edx, eax
mov ecx, dword [esp + 0x68]
mov eax, ebx
call fcn.0041ed00
mov ecx, eax
jmp 0x43b9e0
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
je 0x43bc1d
mov edx, dword [esp + 0x60]
lea edx, [edx + edx*4]
lea ecx, [ecx + edx*4]
add ecx, 0xffffffec
cmp dword [esp + 0x68], 0
jne 0x43ba0e
test ecx, ecx
je 0x43bbe1
cmp dword [ecx + 0xc], 0
je 0x43bbe1
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov dword [ebx + edx*4 + 0xc], ecx
mov eax, dword [esi + 0x28]
mov ebx, dword [ebx + 8]
movzx ecx, byte [eax + edx]
mov byte [ebx + edx], cl
inc edx
cmp edx, dword [esp + 0x5c]
mov dword [esp + 0x6c], edx
jl 0x43b9a2
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x70]
mov word [edx + 6], ax
mov eax, dword [esp + 0xf4]
cmp dword [eax + 0x40], 0
je 0x43ba6f
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x70]
call fcn.004e33d8
mov dword [esp + 0x70], 0
mov edi, dword [esp + 0x38]
mov eax, dword [edi + 0x14]
mov ecx, dword [esi + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x10], ebx
mov edx, 0x26
call fcn.004dcdf0
mov edx, eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], 0xfffffff0
call fcn.004d9420
mov eax, dword [esp + 0xf4]
mov edx, dword [eax + 0x1a8]
test edx, edx
cmove edx, eax
cmp dword [edx + 0x15c], 0
mov dword [esp + 0x74], edx
jne 0x43bb47
mov eax, edx
call fcn.004395a0
mov dword [esp + 0x40], eax
cmp dword [esp + 0x40], 0
je 0x43b618
mov edx, dword [eax + 0xc]
cmp edx, dword [eax + 0x10]
mov dword [esp + 0x30], edx
jl 0x43bafd
call fcn.0045ce30
test eax, eax
jne 0x43bb30
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 0xc]
mov edi, eax
inc edx
mov ecx, dword [edi + 0x14]
mov dword [edi + 0xc], edx
xor eax, eax
mov edx, dword [esp + 0x30]
lea edx, [edx + edx*4]
mov byte [ecx + edx*4], 1
mov byte [ecx + edx*4 + 3], al
mov dword [ecx + edx*4 + 4], eax
mov dword [ecx + edx*4 + 8], eax
mov dword [ecx + edx*4 + 0xc], eax
mov dword [ecx + edx*4 + 0x10], eax
mov byte [ecx + edx*4 + 1], al
mov byte [edi + 0x62], al
jmp 0x43bb38
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x74]
inc eax
mov dword [edx + 0x15c], eax
test ebx, ebx
jl 0x43b618
mov eax, edx
mov edx, dword [eax]
mov ecx, dword [eax + 0x154]
bts ecx, ebx
jb 0x43b618
mov dword [eax + 0x154], ecx
mov ecx, ebx
shl ecx, 4
mov edx, dword [edx + 8]
mov edi, dword [edx + ecx + 0xc]
mov edx, dword [edi]
mov dword [eax + ebx*4 + 0x160], edx
cmp ebx, 1
jne 0x43b618
call fcn.00446c20
jmp 0x43b618
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x54]
mov ecx, 1
movzx eax, byte [edi + edx + 8]
test eax, eax
cmovne eax, ecx
mov byte [edi + edx + 8], al
jmp 0x43b8f8
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
call fcn.004e33d8
mov edx, edi
mov eax, dword [esp + 0x48]
mov ecx, dword [edx]
mov dword [edx + 0x194], eax
mov dword [edx + 0x190], 0
mov byte [ecx + 0x1e], 1
jmp 0x43b8f8
mov edx, dword [esp + 0x64]
mov dword [esp + 0xc], edx
mov eax, ebx
mov edx, dword [esp + 0x60]
call fcn.005633c0
mov ecx, eax
test ecx, ecx
jne 0x43ba0e
push dword [esp + 0x64]
push str.no_such_collation_sequence:__s
push edi
mov dword [esp + 0x2c], ecx
call fcn.005860f0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x43ba0e
cmp dword [esp + 0x68], 0
je 0x43bbe1
jmp 0x43ba0e
mov ebx, 0xfff0bdc0
jmp 0x43b608
movzx eax, byte [esi + 0x28]
lea edi, [eax*8]
sub edi, eax
mov edx, dword [esp + 0xf8]
push dword [edx + edi*8 + 0xc]
push str.TABLE__s
push dword [esp + 0xe0]
call fcn.00455e50
add esp, 0xc
mov ebx, eax
mov eax, dword [esp + 0xf8]
mov eax, dword [eax + edi*8 + 0x10]
test eax, eax
je 0x43bc89
push eax
push ebx
push str._s_AS__s
push ebx
push dword [esp + 0xe8]
call fcn.0043d120
add esp, 0x14
mov ebx, eax
mov eax, dword [esi]
test eax, 0xf0000
jne 0x43bcfe
test eax, 0x10000000
jne 0x43bce4
test eax, 0x3000
jne 0x43bcca
test eax, 0x8000000
je 0x43bd1d
mov eax, dword [esi + 8]
push dword [eax + 0x18]
push dword [eax + 0x14]
push ebx
push str._s_VIRTUAL_TABLE_INDEX__d:_s
push ebx
push dword [esp + 0xec]
call fcn.0043d120
add esp, 0x18
mov ebx, eax
jmp 0x43bd1b
push ebx
push str._s_USING_PRIMARY_KEY
push ebx
push dword [esp + 0xe4]
call fcn.0043d120
add esp, 0x10
mov ebx, eax
jmp 0x43bd1b
push ebx
push str._s_VIA_MULTI_INDEX_UNION
push ebx
push dword [esp + 0xe4]
call fcn.0043d120
add esp, 0x10
mov ebx, eax
jmp 0x43bd1b
mov eax, dword [esi + 8]
push dword [eax]
push ebx
push str._s_WITH_INDEX__s
push ebx
push dword [esp + 0xe8]
call fcn.0043d120
add esp, 0x14
mov ebx, eax
mov eax, dword [esi]
test eax, 0x1000000
je 0x43bd3c
push ebx
push str._s_ORDER_BY
push ebx
push dword [esp + 0xe4]
call fcn.0043d120
add esp, 0x10
mov ebx, eax
movzx edi, byte [esi + 0x28]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xc], edi
mov edx, 0x86
mov dword [esp + 0x10], 0
call fcn.004dcdf0
mov edx, eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc], 0xffffffff
mov ecx, ebx
call fcn.004d9420
jmp 0x43b598
mov edi, dword [esp + 0xd4]
mov esi, dword [esp + 0xd8]
push dword [eax]
push str.cannot_use_index:__s
push dword [esp + 0xfc]
call fcn.005860f0
add esp, 0xc
jmp 0x43ad4d
cmp ecx, 0x1f
ja 0x43bdc0
xor eax, eax
mov esi, 1
shld eax, esi, cl
shl esi, cl
jmp 0x43b3f0
xor eax, eax
xor esi, esi
mov eax, 1
shl eax, cl
jmp 0x43b3f0
cmp dword [esp + 0x6c], 0
jl 0x43b0d1
jmp 0x43b360
mov ebx, dword [esp + 0xe8]
cmp ecx, 0x1f
ja 0x43bdfd
xor eax, eax
mov edx, 1
shld eax, edx, cl
shl edx, cl
jmp 0x43b1a0
xor edx, edx
mov eax, 1
shl eax, cl
jmp 0x43b1a0
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
cmp eax, 2
jb 0x43b0d1
jmp 0x43b360
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x14]
mov edx, dword [edx + 0x18]
cmp eax, edx
jl 0x43bec8
mov eax, dword [esp + 0x50]
lea edx, [edx + edx*4]
shl edx, 4
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov dword [esp + 0x20], eax
call fcn.004a76c0
test eax, eax
jne 0x43be66
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x50]
mov dword [edx + 0x1c], eax
jmp 0x43aea0
mov edx, dword [esp + 0x50]
mov ecx, dword [edx + 0x14]
mov dword [edx + 0x1c], eax
lea edx, [ecx + ecx*4]
shl edx, 3
push edx
push dword [esp + 0x28]
push eax
call fcn.007666b0
add esp, 0xc
mov eax, dword [esp + 0xec]
lea edx, [eax + edi + 0x20]
cmp edx, dword [esp + 0x24]
je 0x43bea2
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
call fcn.004e33d8
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x1c]
call fcn.0044dae0
mov edx, eax
mov ecx, dword [esp + 0x50]
mov eax, 0xcccccccd
mul edx
shr edx, 5
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x18], edx
mov dword [esp + 0xd4], edi
mov edi, dword [esp + 0x50]
lea ecx, [eax + eax*4]
inc eax
mov edx, dword [edi + 0x1c]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [edx + ecx*8], eax
mov byte [edx + ecx*8 + 0x12], 0
mov dword [edx + ecx*8 + 0x14], edi
mov edi, dword [esp + 0xd4]
mov dword [edx + ecx*8 + 4], 0xffffffff
jmp 0x43aea0
push 0x40
push str.at_most__d_tables_in_a_join
push dword [esp + 0xfc]
call fcn.005860f0
add esp, 0xc
xor eax, eax
add esp, 0x104
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push ebp
mov ebp, esp
and esp, 0xfffffff8
push edi
push esi
push ebx
sub esp, 0xfc
mov dword [esp + 0x28], ecx
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf0], eax
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xec], ecx
movsx ebx, word [edx]
cmp ebx, 0x40
jg 0x43d0f1
movzx esi, word [ebp + 0x18]
test esi, 0x80
je 0x43bf78
mov ebx, 1
mov ecx, eax
mov esi, dword [ecx]
mov edi, ebx
shl edi, 6
add edi, 0x27
and edi, 0xfffffff8
mov dword [esp + 0xe8], edi
lea edx, [edi + 0x264]
mov dword [esp + 0x20], edx
mov eax, esi
call fcn.004a76c0
mov edi, eax
test edi, edi
je 0x43bfb4
push dword [esp + 0x20]
push 0
push edi
call fcn.00766740
add esp, 0xc
movzx eax, byte [esi + 0x1e]
test eax, eax
je 0x43bfd4
mov eax, esi
mov edx, edi
call fcn.00447010
xor eax, eax
add esp, 0xfc
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x18], ebx
mov edx, dword [esp + 0xf0]
mov dword [edi], edx
mov ecx, dword [esp + 0xf4]
mov dword [edi + 8], ecx
mov eax, dword [esp + 0xec]
call fcn.00438100
mov dword [edi + 0x14], eax
mov ecx, dword [esp + 0xe8]
lea eax, [ecx + edi]
mov dword [esp + 0x50], eax
mov dword [edi + 0x1c], eax
movzx edx, word [ebp + 0x18]
mov word [edi + 4], dx
lea eax, [ecx + edi + 0x160]
mov dword [esp + 0xdc], eax
push 0x104
push 0
push eax
call fcn.00766740
add esp, 0xc
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0xdc]
call fcn.0058d420
mov dword [esp + 0xb8], 0x46c650
mov dword [esp + 0xbc], 0
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0xc0], ecx
lea eax, [esp + 0xb8]
mov edx, dword [esp + 0x28]
call fcn.00452f90
mov eax, dword [esp + 0x50]
mov byte [eax + 0x10], 0x45
cmp dword [esp + 0x28], 0
je 0x43c119
mov eax, dword [esp + 0x28]
movzx edx, byte [eax]
cmp edx, 0x45
jne 0x43d012
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 8]
mov ecx, 0x45
call fcn.0044b300
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 0xc]
mov ecx, 0x45
call fcn.0044b300
test ebx, ebx
je 0x43c0fe
mov dword [esp + 0x84], 3
mov dword [esp + 0x78], 0x46c7c0
mov dword [esp + 0x7c], 0x46c7a0
lea eax, [esp + 0x78]
mov edx, dword [esp + 0x28]
call fcn.00452f90
cmp dword [esp + 0x84], 0
je 0x43c119
mov dword [esp + 0xc], 8
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 0x14]
call fcn.004320b0
mov eax, dword [esp + 0xf4]
movsx edx, word [eax]
test edx, edx
jle 0x43c1fc
mov eax, dword [esp + 0xdc]
mov eax, dword [eax]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], ebx
mov ebx, dword [esp + 0xf4]
mov esi, dword [edx + ebx + 0x20]
mov edi, dword [esp + 0xdc]
mov dword [edi + eax*4 + 4], esi
mov eax, dword [edi]
inc eax
mov dword [edi], eax
mov esi, dword [edx + ebx + 0x14]
test esi, esi
je 0x43c1d8
test byte [esi + 0x22], 0x10
je 0x43c1d8
mov edi, dword [esp + 0x50]
mov esi, dword [edi + 8]
mov dword [esp + 0x28], esi
mov esi, dword [edi + 0xc]
mov dword [esp + 0x2c], esi
cmp ecx, 0x1f
ja 0x43c1a3
xor edi, edi
mov esi, 1
shld edi, esi, cl
mov dword [esp + 0x20], edi
shl esi, cl
mov dword [esp + 0x24], esi
jmp 0x43c1b6
mov dword [esp + 0x24], 0
mov esi, 1
shl esi, cl
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x28]
or edx, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
or esi, dword [esp + 0x20]
mov edi, dword [esp + 0x50]
mov dword [edi + 8], edx
mov dword [edi + 0xc], esi
mov edx, dword [esp + 0x30]
add edx, 0x38
inc ecx
movsx esi, word [ebx]
cmp ecx, esi
jl 0x43c154
mov edi, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
mov ebx, dword [esp + 0xd8]
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x14]
dec eax
js 0x43c24b
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], ebx
mov ebx, eax
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0xf4]
mov eax, edi
mov edx, esi
mov ecx, ebx
call fcn.0044b4f0
dec ebx
jns 0x43c228
mov edi, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
mov ebx, dword [esp + 0xd8]
movzx eax, byte [esi + 0x1e]
test eax, eax
jne 0x43bfbc
lea eax, [edi + 0x20]
mov dword [esp + 0xcc], eax
mov dword [esp + 0x60], eax
mov eax, 0xffffffff
test ebx, ebx
jle 0x43c659
mov ecx, 0xffffffff
mov dword [esp + 0x6c], ecx
xor edx, edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x70], ecx
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], ebx
mov edx, dword [esp + 0x60]
mov ecx, 0x28
xor eax, eax
mov dword [esp + ecx + 0x1c], eax
mov dword [esp + ecx + 0x18], eax
mov dword [esp + ecx + 0x14], eax
mov dword [esp + ecx + 0x10], eax
mov dword [esp + ecx + 0xc], eax
sub ecx, 0x14
jne 0x43c2ab
mov dword [esp + 0x30], 0xa2879f2e
mov dword [esp + 0x34], 0x547d42ae
mov dword [esp + 0x68], 0xffffffff
xor eax, eax
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0xd0]
add ecx, ebx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x60], edx
xor edx, edx
xor ecx, ecx
cmp eax, 1
setne cl
test ecx, ecx
mov esi, dword [esp + 0x70]
je 0x43c312
mov esi, 0
mov dword [esp + 0x58], esi
mov ebx, dword [esp + 0x6c]
je 0x43c321
mov ebx, 0
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x64]
lea edi, [ebx*8]
sub edi, ebx
mov ecx, dword [esp + 0xf4]
lea esi, [ecx + edi*8]
add esi, 8
mov edi, dword [esp + 0xd8]
mov ecx, edi
sub ecx, ebx
mov dword [esp + 0x88], ecx
cmp ebx, edi
jge 0x43d003
mov ecx, edx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x8c], eax
test byte [esi + 0x15], 0xa
je 0x43c383
cmp ebx, dword [esp + 0x64]
jne 0x43c550
mov dword [esp + 0x74], 1
jmp 0x43c389
xor eax, eax
mov dword [esp + 0x74], eax
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 0x160]
test eax, eax
jle 0x43c3c6
xor ecx, ecx
mov dword [esp + 0xe4], ebx
mov ebx, dword [esp + 0xe0]
cmp edx, dword [ebx + ecx*4 + 0x164]
je 0x43cfd8
inc ecx
cmp ecx, eax
jb 0x43c3ad
mov ebx, dword [esp + 0xe4]
xor edx, edx
xor eax, eax
and edx, dword [esp + 0x70]
and eax, dword [esp + 0x6c]
or edx, eax
jne 0x43c3ec
mov edx, dword [esp + 0x64]
lea eax, [edx + 1]
cmp ebx, edx
jne 0x43c3e3
mov edx, eax
mov dword [esp + 0x64], edx
jmp 0x43c530
cmp dword [esp + 0x54], 0
jne 0x43c400
cmp dword [ebp + 0x14], 0
je 0x43c400
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
jmp 0x43c402
xor eax, eax
mov edx, dword [esi + 0xc]
test byte [edx + 0x22], 0x10
je 0x43c452
mov edi, dword [esp + 0x58]
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x18], eax
mov eax, ebx
shl eax, 6
mov ecx, dword [esp + 0xd0]
lea edi, [ecx + eax + 0x5c]
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0x50]
mov ecx, esi
call fcn.00442600
jmp 0x43c483
mov edi, dword [esp + 0x58]
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0x50]
mov ecx, esi
call fcn.00443a00
mov edx, dword [esp + 0x70]
and edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x6c]
and eax, dword [esp + 0xb4]
or edx, eax
jne 0x43c529
cmp ebx, dword [esp + 0x64]
je 0x43c4b7
fld qword [esp + 0x30]
fcomp qword [esp + 0xa0]
fnstsw ax
sahf
jbe 0x43c529
mov eax, dword [esp + 0x90]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x94]
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x28], ecx
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x38], ecx
mov edi, dword [esp + 0xac]
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x44], edx
mov dword [esp + 0x68], ebx
cmp dword [esp + 0x74], 0
jne 0x43c550
inc ebx
add esi, 0x38
mov eax, dword [esp + 0xc8]
inc eax
mov dword [esp + 0xc8], eax
cmp eax, dword [esp + 0x88]
jb 0x43c369
mov eax, dword [esp + 0x8c]
xor edx, edx
inc eax
cmp eax, 2
jb 0x43cfc8
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x20]
test ecx, 0x1000000
je 0x43c57c
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
and dword [esp + 0x48], ecx
mov dword [edx], ecx
mov eax, dword [esp + 0x24]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x28]
mov dword [edx + 8], ecx
mov ebx, dword [esp + 0x20]
and ebx, 0xf0000
mov dword [esp + 0x4c], ebx
je 0x43c5b2
mov ecx, dword [esp + 0xf0]
mov eax, dword [ecx + 0x44]
mov dword [edx + 0x14], eax
inc dword [ecx + 0x44]
jmp 0x43c5b9
mov dword [edx + 0x14], 0xffffffff
mov ecx, dword [esp + 0x68]
lea eax, [ecx*8]
sub eax, ecx
mov esi, dword [esp + 0xf4]
mov esi, dword [esi + eax*8 + 0x20]
mov ebx, dword [esp + 0xdc]
mov ebx, dword [ebx]
test ebx, ebx
jle 0x43c5f6
xor ecx, ecx
mov edi, dword [esp + 0xdc]
cmp esi, dword [edi + ecx*4 + 4]
je 0x43cfa4
inc ecx
cmp ecx, ebx
jl 0x43c5e7
xor esi, esi
xor ebx, ebx
not esi
not ebx
and dword [esp + 0x70], esi
and dword [esp + 0x6c], ebx
mov ecx, dword [esp + 0x68]
mov byte [edx + 0x28], cl
mov ebx, dword [esp + 0xf4]
mov eax, dword [ebx + eax*8 + 0x3c]
test eax, eax
je 0x43c627
cmp dword [esp + 0x4c], 0
je 0x43cf7b
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
add edx, 0x40
cmp eax, dword [esp + 0xd8]
jl 0x43c2a6
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
mov ebx, dword [esp + 0xd8]
mov edx, dword [esp + 0xf0]
cmp dword [edx + 0x40], 0
jne 0x43bfbc
movzx edx, byte [esi + 0x1e]
test edx, edx
jne 0x43bfbc
and eax, 0x4000000
je 0x43c68c
cmp dword [ebp + 0x14], 0
je 0x43c68c
mov edx, dword [ebp + 0x14]
mov dword [edx], 0
test byte [ebp + 0x18], 4
je 0x43c6a1
test eax, eax
je 0x43c6a1
mov byte [edi + 6], 1
and dword [edi + 0x20], 0xff7fffff
mov eax, dword [esp + 0xf0]
mov edx, dword [eax + 0x1a8]
test edx, edx
jne 0x43c6b4
mov edx, eax
mov dword [esp + 0x28], edx
cmp dword [edx + 0x15c], 0
jne 0x43c74b
mov eax, edx
call fcn.004395a0
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0
je 0x43c74b
mov edx, dword [eax + 0xc]
mov dword [esp + 0x20], edx
cmp edx, dword [eax + 0x10]
jl 0x43c6f3
call fcn.0045ce30
test eax, eax
jne 0x43c734
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0xc]
mov dword [esp + 0xd0], edi
inc edx
mov edi, eax
mov dword [edi + 0xc], edx
mov edx, dword [esp + 0x20]
lea edx, [edx + edx*4]
mov ecx, dword [edi + 0x14]
mov byte [ecx + edx*4], 1
xor eax, eax
mov byte [ecx + edx*4 + 3], al
mov dword [ecx + edx*4 + 4], eax
mov dword [ecx + edx*4 + 8], eax
mov dword [ecx + edx*4 + 0xc], eax
mov dword [ecx + edx*4 + 0x10], eax
mov byte [ecx + edx*4 + 1], al
mov byte [edi + 0x62], al
mov edi, dword [esp + 0xd0]
jmp 0x43c73c
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x28]
mov dword [edx + 0x15c], eax
test ebx, ebx
jle 0x43c833
xor edx, edx
movzx eax, word [ebp + 0x18]
and eax, 0x10
mov dword [esp + 0x88], eax
mov dword [esp + 0xc8], edx
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], ebx
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0xf0]
movzx edx, byte [eax + 0x1dc]
cmp edx, 2
je 0x43ce2f
movzx eax, byte [esi + 0x28]
lea ecx, [eax*8]
sub ecx, eax
mov dword [esp + 0x8c], ecx
mov edx, dword [esp + 0xf4]
mov edi, dword [edx + ecx*8 + 0x14]
mov ecx, dword [edi + 0x44]
test ecx, ecx
je 0x43ce25
mov eax, dword [esp + 0xd4]
mov edx, dword [eax + 4]
xor ebx, ebx
test edx, edx
jle 0x43c7f8
mov eax, dword [eax + 8]
mov dword [esp + 0xcc], esi
mov esi, ebx
shl esi, 4
cmp ecx, dword [eax + esi + 0xc]
je 0x43c7f1
inc ebx
cmp ebx, edx
jl 0x43c7e1
mov esi, dword [esp + 0xcc]
test byte [edi + 0x22], 2
jne 0x43c804
cmp dword [edi + 0x1c], 0
je 0x43c880
mov eax, dword [esp + 0xc8]
inc eax
mov dword [esp + 0xc8], eax
add esi, 0x40
cmp eax, dword [esp + 0xd8]
jl 0x43c786
mov edi, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd8]
test ebx, ebx
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 0xc]
mov dword [edi + 0xc], edx
jle 0x43c871
mov eax, 0xffffffff
mov edx, eax
xor esi, esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, edi
mov edx, esi
movzx ecx, word [ebp + 0x18]
call fcn.0042d6b0
mov ecx, esi
shl ecx, 6
mov ecx, dword [edi + ecx + 0x40]
mov dword [edi + 0x10], ecx
inc esi
cmp esi, ebx
jl 0x43c84b
mov eax, edi
add esp, 0xfc
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
test eax, 0x8000000
jne 0x43ca60
test eax, 0x800000
jne 0x43c99c
cmp dword [esp + 0x88], 0
jne 0x43c99c
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0xd0]
movzx eax, byte [eax + 6]
mov edx, 0x27
test eax, eax
jne 0x43c8c3
mov edx, 0x26
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x8c]
mov edx, dword [ecx + edx*8 + 0x20]
mov ecx, ebx
call fcn.004468b0
mov eax, dword [esp + 0xd0]
movzx edx, byte [eax + 6]
test edx, edx
jne 0x43cad5
cmp dword [edi + 0xc], 0x40
jge 0x43cad5
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x8c]
mov edx, dword [eax + ecx*8 + 0x30]
mov eax, dword [eax + ecx*8 + 0x34]
mov dword [esp + 0x24], 0
mov edi, edx
or edi, eax
je 0x43c93d
mov edi, dword [esp + 0x24]
shrd edx, eax, 1
shr eax, 1
inc edi
mov ecx, eax
or ecx, edx
jne 0x43c92c
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx + 0xc]
lea edx, [eax + eax*4]
mov dword [esp + 0x28], edx
mov eax, dword [ecx]
mov edi, dword [ecx + 0x14]
test edi, edi
je 0x43c989
movzx edx, byte [eax + 0x1e]
test edx, edx
jne 0x43c989
mov ecx, dword [esp + 0x28]
movsx edx, byte [edi + ecx*4 - 0x13]
mov ecx, dword [edi + ecx*4 - 4]
call fcn.004337c0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, edi
mov dword [edx + ecx*4 - 4], eax
mov byte [edx + ecx*4 - 0x13], 0xf2
jmp 0x43cad5
mov edx, 0xfffffff2
mov ecx, dword [esp + 0x24]
call fcn.004337c0
jmp 0x43cad5
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x4c], ecx
mov eax, dword [edi + 4]
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0xf0]
mov edi, dword [edx + 0x1a8]
test edi, edi
jne 0x43c9bd
mov edi, edx
mov dword [esp + 0x58], edi
mov ecx, dword [edi + 0x190]
mov eax, dword [edi + 0x194]
mov dword [esp + 0x54], eax
test ecx, ecx
jle 0x43ca06
xor eax, eax
mov dword [esp + 0xcc], esi
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x4c]
mov edx, eax
shl edx, 4
cmp ebx, dword [esi + edx]
jne 0x43c9fa
cmp edi, dword [esi + edx + 4]
je 0x43cd8f
inc eax
cmp eax, ecx
jl 0x43c9e6
mov esi, dword [esp + 0xcc]
shl ecx, 4
add ecx, 0x10
mov edi, dword [esp + 0x58]
mov eax, dword [edi]
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x54]
call fcn.00490370
mov dword [esp + 0x48], eax
cmp dword [esp + 0x48], 0
je 0x43cdaf
mov dword [edi + 0x194], eax
mov ecx, dword [edi + 0x190]
mov edx, ecx
shl edx, 4
inc ecx
mov dword [edi + 0x190], ecx
mov dword [edx + eax], ebx
mov ecx, dword [esp + 0x4c]
mov dword [edx + eax + 4], ecx
mov byte [edx + eax + 8], 0
mov edi, dword [esp + 0x50]
mov dword [edx + eax + 0xc], edi
jmp 0x43cad5
mov eax, dword [edi + 0x34]
mov dword [esp + 0x38], eax
test eax, eax
je 0x43ca88
mov edx, dword [esp + 0xd4]
cmp edx, dword [eax]
je 0x43ca7d
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x43ca72
mov dword [esp + 0x38], eax
mov dword [esp + 0xd4], edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0xec]
mov edx, 0x7c
mov edi, dword [esp + 0xf4]
mov ecx, dword [esp + 0x8c]
mov ecx, dword [edi + ecx*8 + 0x20]
call fcn.004dcdf0
mov edx, eax
mov dword [esp + 0xc], 0xfffffff6
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x38]
call fcn.004d9420
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0x8c]
mov ecx, dword [eax + edx*8 + 0x20]
mov dword [esi + 0x10], ecx
test dword [esi], 0xf0000
je 0x43cc8b
mov edi, dword [esi + 8]
mov dword [esp + 0x3c], edi
mov ecx, dword [edi + 4]
mov dword [esp + 0x5c], ecx
lea edi, [ecx + ecx*4 + 0xc]
mov eax, dword [esp + 0xf0]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
mov edx, edi
call fcn.004a76c0
mov dword [esp + 0x70], eax
cmp dword [esp + 0x70], 0
je 0x43cb3b
push edi
push 0
push dword [esp + 0x78]
call fcn.00766740
add esp, 0xc
cmp dword [esp + 0x70], 0
je 0x43cc2c
mov eax, dword [esp + 0xf0]
mov edx, dword [eax]
mov edi, dword [esp + 0x70]
mov dword [edi], edx
mov eax, dword [esp + 0x5c]
lea ecx, [edi + eax*4 + 0xc]
mov dword [edi + 8], ecx
test eax, eax
jle 0x43cc20
xor eax, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0xcc], esi
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0xf0]
mov ebx, dword [esi + 0x2c]
mov edx, dword [esp + 0x6c]
mov eax, dword [ebx + edx*4]
mov dword [esp + 0x64], eax
mov ebx, dword [edi]
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + 0xc]
movzx ecx, byte [edx + 0x49]
mov dword [esp + 0x60], ecx
movzx edx, byte [ebx + 0x7c]
mov dword [esp + 0x68], edx
test eax, eax
je 0x43cbbc
mov eax, ebx
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
call fcn.0041ed00
mov ecx, eax
jmp 0x43cbbf
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
je 0x43ce19
mov edx, dword [esp + 0x60]
lea edx, [edx + edx*4]
lea ecx, [ecx + edx*4]
add ecx, 0xffffffec
cmp dword [esp + 0x68], 0
jne 0x43cbed
test ecx, ecx
je 0x43cddd
cmp dword [ecx + 0xc], 0
je 0x43cddd
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov dword [ebx + edx*4 + 0xc], ecx
mov eax, dword [esi + 0x28]
mov ebx, dword [ebx + 8]
movzx ecx, byte [eax + edx]
mov byte [ebx + edx], cl
inc edx
mov dword [esp + 0x6c], edx
cmp edx, dword [esp + 0x5c]
jl 0x43cb7f
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x70]
mov word [edx + 6], ax
mov eax, dword [esp + 0xf0]
cmp dword [eax + 0x40], 0
je 0x43cc4e
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x70]
call fcn.004e33d8
mov dword [esp + 0x70], 0
mov edi, dword [esp + 0x3c]
mov eax, dword [edi + 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0xec]
mov edx, 0x26
mov ecx, dword [esi + 0x14]
call fcn.004dcdf0
mov edx, eax
mov dword [esp + 0xc], 0xfffffff0
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x70]
call fcn.004d9420
mov eax, dword [esp + 0xf0]
mov edx, dword [eax + 0x1a8]
test edx, edx
jne 0x43cc9e
mov edx, eax
mov dword [esp + 0x74], edx
cmp dword [edx + 0x15c], 0
jne 0x43cd3a
mov eax, edx
call fcn.004395a0
mov dword [esp + 0x40], eax
cmp dword [esp + 0x40], 0
je 0x43c804
mov edx, dword [eax + 0xc]
mov dword [esp + 0x30], edx
cmp edx, dword [eax + 0x10]
jl 0x43cce1
call fcn.0045ce30
test eax, eax
jne 0x43cd23
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 0xc]
inc edx
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x30]
lea edi, [edx + edx*4]
mov ecx, dword [eax + 0x14]
mov byte [ecx + edi*4], 1
mov byte [ecx + edi*4 + 3], 0
mov dword [ecx + edi*4 + 4], 0
mov dword [ecx + edi*4 + 8], 0
mov dword [ecx + edi*4 + 0xc], 0
mov dword [ecx + edi*4 + 0x10], 0
mov byte [ecx + edi*4 + 1], 0
mov byte [eax + 0x62], 0
jmp 0x43cd2b
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x30]
inc eax
mov edx, dword [esp + 0x74]
mov dword [edx + 0x15c], eax
test ebx, ebx
jl 0x43c804
mov edi, edx
mov edx, dword [edi]
mov ecx, ebx
mov eax, 1
shl eax, cl
mov ecx, dword [edi + 0x154]
test eax, ecx
jne 0x43c804
or ecx, eax
mov eax, edi
mov dword [eax + 0x154], ecx
mov ecx, ebx
shl ecx, 4
mov edx, dword [edx + 8]
mov edi, dword [edx + ecx + 0xc]
mov edx, dword [edi]
mov dword [eax + ebx*4 + 0x160], edx
cmp ebx, 1
jne 0x43c804
call fcn.00446c20
jmp 0x43c804
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x54]
movzx ecx, byte [edi + edx + 8]
xor eax, eax
test ecx, ecx
setne al
mov byte [edi + edx + 8], al
jmp 0x43cad5
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
call fcn.004e33d8
mov eax, dword [esp + 0x48]
mov edx, edi
mov dword [edx + 0x194], eax
mov dword [edx + 0x190], 0
mov ecx, dword [edx]
mov byte [ecx + 0x1e], 1
jmp 0x43cad5
mov edx, dword [esp + 0x64]
mov dword [esp + 0xc], edx
mov eax, ebx
mov edx, dword [esp + 0x60]
call fcn.005633c0
mov ecx, eax
test ecx, ecx
jne 0x43cbed
push dword [esp + 0x64]
push str.no_such_collation_sequence:__s
push edi
mov dword [esp + 0x2c], ecx
call fcn.005860f0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x43cbed
cmp dword [esp + 0x68], 0
je 0x43cddd
jmp 0x43cbed
mov ebx, 0xfff0bdc0
jmp 0x43c7f8
movzx eax, byte [esi + 0x28]
lea edi, [eax*8]
sub edi, eax
mov edx, dword [esp + 0xf4]
push dword [edx + edi*8 + 0xc]
push str.TABLE__s
push dword [esp + 0xdc]
call fcn.00455e50
add esp, 0xc
mov ebx, eax
mov eax, dword [esp + 0xf4]
mov eax, dword [eax + edi*8 + 0x10]
test eax, eax
je 0x43ce85
push eax
push ebx
push str._s_AS__s
push ebx
push dword [esp + 0xe4]
call fcn.0043d120
add esp, 0x14
mov ebx, eax
mov eax, dword [esi]
test eax, 0xf0000
jne 0x43cef8
test eax, 0x10000000
jne 0x43cede
test ah, 0x30
jne 0x43cec4
test eax, 0x8000000
je 0x43cf17
mov eax, dword [esi + 8]
push dword [eax + 0x18]
push dword [eax + 0x14]
push ebx
push str._s_VIRTUAL_TABLE_INDEX__d:_s
push ebx
push dword [esp + 0xe8]
call fcn.0043d120
add esp, 0x18
mov ebx, eax
jmp 0x43cf15
push ebx
push str._s_USING_PRIMARY_KEY
push ebx
push dword [esp + 0xe0]
call fcn.0043d120
add esp, 0x10
mov ebx, eax
jmp 0x43cf15
push ebx
push str._s_VIA_MULTI_INDEX_UNION
push ebx
push dword [esp + 0xe0]
call fcn.0043d120
add esp, 0x10
mov ebx, eax
jmp 0x43cf15
mov eax, dword [esi + 8]
push dword [eax]
push ebx
push str._s_WITH_INDEX__s
push ebx
push dword [esp + 0xe4]
call fcn.0043d120
add esp, 0x14
mov ebx, eax
mov eax, dword [esi]
test eax, 0x1000000
je 0x43cf36
push ebx
push str._s_ORDER_BY
push ebx
push dword [esp + 0xe0]
call fcn.0043d120
add esp, 0x10
mov ebx, eax
movzx edi, byte [esi + 0x28]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0xec]
mov edx, 0x86
mov ecx, dword [esp + 0xc8]
call fcn.004dcdf0
mov edx, eax
mov dword [esp + 0xc], 0xffffffff
mov eax, dword [esp + 0xec]
mov ecx, ebx
call fcn.004d9420
jmp 0x43c79d
mov edi, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
push dword [eax]
push str.cannot_use_index:__s
push dword [esp + 0xf8]
call fcn.005860f0
add esp, 0xc
jmp 0x43bfbc
cmp ecx, 0x1f
ja 0x43cfba
xor ebx, ebx
mov esi, 1
shld ebx, esi, cl
shl esi, cl
jmp 0x43c5fa
xor esi, esi
mov ebx, 1
shl ebx, cl
jmp 0x43c5fa
cmp dword [esp + 0x68], 0
jl 0x43c2fd
jmp 0x43c563
mov ebx, dword [esp + 0xe4]
cmp ecx, 0x1f
ja 0x43cff5
xor eax, eax
mov edx, 1
shld eax, edx, cl
shl edx, cl
jmp 0x43c3ca
xor edx, edx
mov eax, 1
shl eax, cl
jmp 0x43c3ca
inc eax
cmp eax, 2
jb 0x43c2fd
jmp 0x43c563
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x14]
mov edx, dword [edx + 0x18]
cmp eax, edx
jl 0x43d0b8
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov dword [esp + 0x20], eax
lea edx, [edx + edx*4]
shl edx, 4
call fcn.004a76c0
test eax, eax
jne 0x43d056
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x50]
mov dword [edx + 0x1c], eax
jmp 0x43c0c8
mov edx, dword [esp + 0x50]
mov dword [edx + 0x1c], eax
mov ecx, dword [edx + 0x14]
lea edx, [ecx + ecx*4]
shl edx, 3
push edx
push dword [esp + 0x28]
push eax
call fcn.007666b0
add esp, 0xc
mov eax, dword [esp + 0xe8]
lea edx, [eax + edi + 0x20]
cmp edx, dword [esp + 0x24]
je 0x43d092
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
call fcn.004e33d8
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x1c]
call fcn.0044dae0
mov edx, eax
mov eax, 0xcccccccd
mul edx
shr edx, 5
mov ecx, dword [esp + 0x50]
mov dword [ecx + 0x18], edx
mov eax, dword [ecx + 0x14]
mov dword [esp + 0xd0], edi
lea ecx, [eax + eax*4]
mov edi, dword [esp + 0x50]
mov edx, dword [edi + 0x1c]
inc eax
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [edx + ecx*8], eax
mov byte [edx + ecx*8 + 0x12], 0
mov dword [edx + ecx*8 + 0x14], edi
mov dword [edx + ecx*8 + 4], 0xffffffff
mov edi, dword [esp + 0xd0]
jmp 0x43c0c8
push 0x40
push str.at_most__d_tables_in_a_join
push dword [esp + 0xf8]
call fcn.005860f0
add esp, 0xc
xor eax, eax
add esp, 0xfc
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret