Function at 0x43ad69
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x491024]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
mov ebx, ecx
mov dword [esp + 0xc], 0
push esi
push edi
xor edi, edi
mov dword [esp + 0x10], ebx
mov esi, dword [ebx]
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov eax, dword [esi + 0x10]
mov dword [esp + 0x20], esi
mov byte [esp + 0x43], 0
mov dword [esp + 0x58], 0
mov eax, dword [eax + 0xc]
mov dword [esp + 0x24], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], edi
mov al, byte [eax + 0x4d]
mov byte [esp + 0x34], al
mov eax, dword [ebx + 8]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x20]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 0x48], eax
call fcn.004357f0
cmp dword [ebx + 0x58], 7
je 0x440f2b
mov dword [ebx + 0x58], edi
mov dword [ebx + 0x14], edi
mov dword [esi + 0x1b4], edi
cmp dword [esi + 0xe0], edi
jne 0x440ee3
mov eax, dword [esi + 0x114]
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 0x54]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
nop dword [eax]
cmp byte [esi + 0x38], 0
jne 0x440f2b
cmp dword [esp + 0x5c], 0
lea ebx, [eax + eax*4]
mov dword [esp + 0x2c], ebx
je 0x43a3c6
mov eax, dword [esp + 0x58]
cmp dword [esi + 0x11c], eax
jne 0x43a3bd
push dword [esi + 0x118]
mov eax, dword [esi + 0x114]
call eax
add esp, 4
test eax, eax
jne 0x440afb
mov edx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x58], eax
test byte [edx + ebx*4 + 2], 2
je 0x43a3fe
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, 0x2460
mov dword [esp + 0x24], edi
test word [edi + 0x1c], ax
je 0x43a3f5
mov ecx, edi
call fcn.00433a10
mov edx, dword [esp + 0x1c]
mov eax, 4
mov word [edi + 0x1c], ax
movzx eax, byte [edx + ebx*4]
dec eax
cmp eax, 0x93
ja case.default.0x43a40e
jmp dword [eax*4 + 0x440fec]
cmp dword [esi + 0xe0], 0
jne 0x440edf
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov ecx, dword [edx + ebx*4 + 4]
mov edx, 4
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x28]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 0x1c], dx
mov eax, dword [esp + 0x14]
cdq
mov dword [edi + ecx*8 + 0x10], eax
mov eax, edi
mov edi, dword [esp + 0x24]
mov dword [eax + ecx*8 + 0x14], edx
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*8 + 0x10]
inc eax
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [esp + 0x28]
lea ecx, [eax + eax*4]
mov eax, 4
mov word [ebx + ecx*8 + 0x1c], ax
mov eax, dword [ebx + ecx*8 + 0x10]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x14]
cdq
mov dword [ebx + ecx*8 + 0x10], eax
mov dword [ebx + ecx*8 + 0x14], edx
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x10]
inc eax
jmp 0x43a371
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.default.0x43a40e
cmp dword [edx + ebx*4 + 4], 0
jne 0x440b09
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa0]
test ecx, ecx
je 0x440b09
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
dec dword [edx + 0xa8]
mov dword [edx + 0xa0], eax
mov eax, dword [edx + 0x64]
add dword [esi + 0x4c], eax
mov dword [esi + 0x48], eax
call fcn.004361e0
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x44], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + ebx*4 + 8], 4
mov ebx, dword [esp + 0x10]
jne 0x43a539
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov edx, dword [ebx + 4]
inc eax
mov ecx, dword [ebx + 8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x28], ecx
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [esp + 0x10]
cdq
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x14], edx
inc eax
jmp 0x43a371
mov ecx, dword [edx + ebx*4 + 0x10]
mov ebx, dword [esp + 0x10]
mov eax, dword [ecx]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
mov eax, 8
mov word [edi + 0x1c], ax
mov eax, dword [edx + ebx*4 + 0x10]
mov ebx, dword [esp + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0x14]
movsd qword [edi + 8], xmm0
inc eax
jmp 0x43a375
mov ecx, dword [edx + ebx*4 + 0x10]
mov byte [edx + ebx*4], 9
call fcn.0041c470
cmp byte [esp + 0x34], 1
mov dword [edx + ebx*4 + 4], eax
je 0x43a63a
push 0
push 1
mov edx, ecx
mov ecx, edi
push 0xffffffffffffffff
call fcn.00434060
add esp, 0xc
mov dword [esp + 0x18], eax
cmp eax, 0x12
je 0x440d78
movzx edx, byte [esp + 0x34]
mov ecx, edi
call fcn.00433660
test eax, eax
jne 0x440f27
mov edx, dword [esp + 0x1c]
mov ecx, 0xfbff
mov dword [edi + 0x24], eax
mov ax, word [edi + 0x1c]
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [edi + 0x1c], ax
cmp byte [edx + ebx*4 + 1], 0xff
jne 0x43a627
mov edx, dword [edx + ebx*4 + 0x10]
mov ecx, esi
call fcn.0041a2e0
mov edx, dword [esp + 0x1c]
mov byte [edx + ebx*4 + 1], 0xff
mov eax, dword [edi + 4]
mov dword [edx + ebx*4 + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [edx + ebx*4 + 4], eax
mov eax, dword [edx + ebx*4 + 4]
cmp eax, dword [esi + 0x50]
jg 0x440d78
mov eax, 0xa02
mov word [edi + 0x1c], ax
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [edi + 4], eax
mov eax, dword [edx + ebx*4 + 4]
mov dword [edi + 0x18], eax
mov al, byte [esp + 0x34]
mov byte [edi + 0x1f], al
mov eax, dword [esp + 0x18]
jmp 0x43d140
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, 0x101
sub eax, dword [edx + ebx*4 + 8]
mov dword [esp + 0x68], eax
mov eax, 1
cmp dword [edx + ebx*4 + 4], 0
cmovne eax, ecx
mov word [esp + 0x6c], ax
mov word [edi + 0x1c], ax
cmp dword [esp + 0x68], 0
jle 0x43a6d3
mov esi, 0x2460
add edi, 0x28
test word [edi + 0x1c], si
je 0x43a6b1
mov ecx, edi
call fcn.00433a10
mov ax, word [esp + 0x6c]
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x68]
dec eax
mov dword [esp + 0x68], eax
test eax, eax
jg 0x43a6a1
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
inc eax
jmp 0x43a375
push 0
push 0
push dword [edx + ebx*4 + 4]
mov edx, dword [edx + ebx*4 + 0x10]
mov ecx, edi
call fcn.00434060
mov al, byte [esp + 0x40]
add esp, 0xc
mov ebx, dword [esp + 0x10]
mov byte [edi + 0x1f], al
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a371
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x44]
lea edx, [edx - 5]
lea edx, [eax + edx*8]
mov dword [esp + 0x68], edx
movzx eax, word [edx + 0x1c]
test al, 0x12
je 0x43a74f
mov esi, dword [edx + 0x18]
test eax, 0x4000
je 0x43a739
add esi, dword [edx + 0x10]
mov eax, dword [edx]
xor ecx, ecx
cmp esi, dword [eax + 0x50]
mov esi, dword [esp + 0x20]
setg cl
test ecx, ecx
jne 0x440d7c
push 0x800
mov ecx, edi
call fcn.00433f80
mov eax, dword [esp + 0x18]
add esp, 4
inc eax
jmp 0x43a371
mov edx, dword [edx + ebx*4 + 0xc]
mov ecx, dword [esp + 0x1c]
add edx, 1
mov dword [esp + 0x6c], edx
mov eax, dword [ecx + ebx*4 + 4]
mov dword [esp + 0x70], eax
mov ecx, dword [ecx + ebx*4 + 8]
mov ebx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov dword [esp + 0x74], ecx
lea esi, [ebx + eax*8]
lea eax, [ecx + ecx*4]
lea edi, [ebx + eax*8]
mov dword [esp + 0x24], edi
je 0x43a831
dec edx
mov dword [esp + 0x6c], edx
mov eax, dword [edi + 0x24]
mov dword [esp + 0x68], eax
mov eax, 0x2460
mov dword [edi + 0x24], 0
test word [edi + 0x1c], ax
je 0x43a7c6
mov ecx, edi
call fcn.00433a10
mov edx, dword [edi + 0x24]
mov ecx, dword [edi]
call fcn.0041a2e0
mov dword [edi + 4], 0
mov eax, 1
mov dword [edi + 0x24], 0
mov dword [edi + 0x20], 0
movups xmm0, xmmword [esi]
movups xmmword [edi], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [edi + 0x10], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [edi + 0x20], xmm0
add edi, 0x28
mov dword [esi + 0x24], 0
mov word [esi + 0x1c], ax
mov dword [esi + 0x20], 0
mov eax, dword [esp + 0x68]
mov dword [esi + 0x24], eax
add esi, 0x28
mov edx, dword [esp + 0x6c]
test edx, edx
jne 0x43a7a1
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x14]
dec edx
mov esi, dword [esp + 0x20]
inc eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x1c]
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x68], eax
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
push 0x1000
mov edx, esi
mov dword [esp + 0x28], edi
mov ecx, edi
call fcn.00433f80
mov eax, 0x1000
add esp, 4
test word [edi + 0x1c], ax
je 0x43a89b
mov ecx, edi
call fcn.004337a0
test eax, eax
jne 0x440f1b
mov eax, dword [esp + 0x68]
mov ecx, eax
dec eax
mov dword [esp + 0x68], eax
test ecx, ecx
je 0x43e58d
add edi, 0x28
add esi, 0x28
jmp 0x43a86c
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 4]
mov dword [esp + 0x24], edi
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
push 0x1000
mov ecx, edi
call fcn.00433f80
mov eax, dword [esp + 0x18]
add esp, 4
mov edx, dword [esp + 0x1c]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov ecx, dword [esp + 0x10]
xor edx, edx
call fcn.00436cc0
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43d140
mov ecx, dword [esp + 0x10]
lea edx, [eax + 1]
call fcn.00436bc0
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43d140
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + 0x50]
add eax, 2
or eax, 1
mov dword [ecx + 0x50], eax
mov eax, dword [edi + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ecx + 0x14], edx
xor ecx, ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
cmp dword [edi + ebx*4 + 8], ecx
jle 0x440ba2
nop dword [eax + eax]
lea eax, [ecx + ecx*4]
mov esi, 0x1000
test word [edx + eax*8 + 0x1c], si
lea eax, [edx + eax*8]
mov esi, dword [esp + 0x20]
je 0x43a98d
mov ecx, eax
call fcn.004337a0
test eax, eax
jne 0x440f27
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*8]
call fcn.00433860
mov eax, dword [esp + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x68]
lea ecx, [eax + ecx*8]
call fcn.0043a030
mov ecx, dword [esp + 0x6c]
inc ecx
mov dword [esp + 0x6c], ecx
cmp ecx, dword [edi + ebx*4 + 8]
jge 0x440ba2
mov edx, dword [esp + 0x68]
jmp 0x43a960
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [edi + 0x1c]
mov dword [esp + 0x24], eax
mov al, byte [esi + 0x1c]
or al, cl
test al, 1
je 0x43aa18
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.00433d30
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
test ecx, 0x4000
je 0x43aa2f
mov ecx, edi
call fcn.00433800
test eax, eax
jne 0x440f1b
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43aa49
mov ecx, esi
call fcn.00433800
test eax, eax
jne 0x440f1b
test byte [edi + 0x1c], 0x12
mov bl, byte [esp + 0x34]
jne 0x43aa65
movzx edx, bl
mov ecx, edi
call fcn.004338b0
test eax, eax
jne 0x440f1b
test byte [esi + 0x1c], 0x12
jne 0x43aa7d
movzx edx, bl
mov ecx, esi
call fcn.004338b0
test eax, eax
jne 0x440f1b
mov eax, dword [edi + 0x18]
add eax, dword [esi + 0x18]
cdq
mov ebx, eax
mov ecx, edx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 0x50]
cdq
cmp ecx, edx
jg 0x440d74
jl 0x43aaaa
cmp ebx, eax
ja 0x440d74
mov ebx, dword [esp + 0x24]
mov ecx, 0xbe02
mov ax, word [ebx + 0x1c]
and ax, cx
mov ecx, ebx
or ax, 2
mov word [ebx + 0x1c], ax
xor eax, eax
mov edx, dword [esp + 0x68]
cmp ebx, esi
sete al
push eax
lea edx, [edx + 2]
call fcn.00433680
add esp, 4
test eax, eax
jne 0x440f1b
cmp ebx, esi
je 0x43aaf8
push dword [esi + 0x18]
push dword [esi + 4]
push dword [ebx + 4]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [edi + 0x18]
push dword [edi + 4]
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 4]
add eax, dword [esi + 0x18]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x74]
add esp, 0xc
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x68]
mov ecx, dword [edi + 4]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [edi + 0x1c], ax
mov eax, dword [esp + 0x68]
mov dword [edi + 0x18], eax
mov al, byte [esp + 0x34]
mov byte [edi + 0x1f], al
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [esp + 0x30], eax
call fcn.0043a180
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [esp + 0x2c], eax
call fcn.0043a180
mov eax, dword [esi + ebx*4 + 0xc]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
movzx ecx, word [edx + 0x1c]
lea eax, [edi + eax*8]
mov dword [esp + 0x24], eax
movzx eax, word [esi + 0x1c]
or ecx, eax
mov dword [esp + 0x6c], ecx
test cl, 1
jne 0x43a9f7
mov al, byte [edx + 0x1c]
and al, byte [esi + 0x1c]
test al, 4
je 0x43ad01
mov eax, edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0x70], edx
mov ecx, dword [eax + 0x14]
mov eax, esi
mov dword [esp + 0x74], ecx
mov esi, dword [eax + 0x10]
mov dword [esp + 0x78], esi
mov edi, dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x7c], edi
mov byte [esp + 0x68], 1
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x43abfb
jmp dword [eax*4 + 0x44123c]
push ecx
push edx
lea ecx, [esp + 0x80]
call fcn.0041d3d0
add esp, 8
test eax, eax
jne 0x43ad08
mov esi, dword [esp + 0x78]
jmp 0x43acc9
test edx, edx
jne 0x43ac51
cmp ecx, 0x80000000
jne 0x43ac51
test edi, edi
jg 0x43ad08
jl 0x43ac42
test esi, esi
jae 0x43ad08
add esi, 0
adc edi, 0x80000000
mov dword [esp + 0x7c], edi
jmp 0x43acc5
neg edx
adc ecx, 0
neg ecx
jmp case.0x43abfb.86
push ecx
push edx
lea ecx, [esp + 0x80]
call fcn.0041d470
jmp 0x43ac10
mov eax, edx
or eax, ecx
je 0x43a9f7
mov eax, edx
and eax, ecx
cmp eax, 0xffffffff
jne 0x43ac89
test esi, esi
jne 0x43ac89
cmp edi, 0x80000000
je 0x43ad08
push ecx
push edx
push edi
push esi
call fcn.00479980
jmp 0x43acbf
mov eax, edx
or eax, ecx
je 0x43a9f7
mov eax, edx
and eax, ecx
cmp eax, 0xffffffff
jne 0x43acb6
mov edx, 1
xor ecx, ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
push ecx
push edx
push edi
push esi
call fcn.00479b50
mov dword [esp + 0x7c], edx
mov esi, eax
mov dword [esp + 0x78], esi
mov edi, dword [esp + 0x24]
mov dword [edi + 0x10], esi
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x20]
mov ecx, 0xbe04
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov dword [edi + 0x14], eax
mov ax, word [edi + 0x1c]
and ax, cx
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
mov byte [esp + 0x68], 0
jmp 0x43ad10
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, edx
call fcn.00433b60
mov ecx, esi
movsd qword [esp + 0x80], xmm0
call fcn.00433b60
mov eax, dword [esp + 0x1c]
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x38], xmm0
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x43ad46
jmp dword [eax*4 + 0x44124c]
addsd xmm0, qword [esp + 0x80]
jmp 0x43adf7
subsd xmm0, qword [esp + 0x80]
jmp 0x43adf7
mulsd xmm0, qword [esp + 0x80]
jmp 0x43adf7
movsd xmm1, qword [esp + 0x80]
ucomisd xmm1, qword [0x48bb78]
lahf
test ah, 0x44
jnp 0x43a9f7
divsd xmm0, xmm1
jmp 0x43adf7
movsd xmm0, qword [esp + 0x80]
call fcn.00479fdf
movsd xmm0, qword [esp + 0x38]
mov esi, eax
mov edi, edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
call fcn.00479fdf
mov ecx, esi
mov dword [esp + 0x78], eax
or ecx, edi
mov dword [esp + 0x7c], edx
je 0x43a9f7
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x43ade7
mov esi, 1
xor edi, edi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
push edi
push esi
push edx
push eax
call fcn.00479b50
mov ecx, eax
call fcn.0047a130
movsd qword [esp + 0x88], xmm0
call fcn.0041c430
test eax, eax
jne 0x43a9f7
mov edi, dword [esp + 0x24]
mov ecx, 0xbe08
movsd xmm0, qword [esp + 0x88]
mov ax, word [edi + 0x1c]
and ax, cx
movsd qword [edi + 8], xmm0
or ax, 8
mov word [edi + 0x1c], ax
test byte [esp + 0x6c], 8
jne 0x43e58d
cmp byte [esp + 0x68], 0
jne 0x43e58d
mov ecx, edi
call fcn.00433bc0
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
test eax, eax
je 0x43e595
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.00433d80
mov eax, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x1c]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
movzx ecx, byte [edx + ebx*4 + 3]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
mov dword [esp + 0xb4], ecx
mov esi, dword [eax + 0xc]
mov dword [esp + 0xb0], esi
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x24], edi
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], eax
test ecx, ecx
jle 0x43af30
mov dword [esi + eax*4], edx
mov eax, 0x1000
mov ecx, dword [esp + 0x6c]
test word [ecx + 0x1c], ax
je 0x43af05
call fcn.004337a0
test eax, eax
jne 0x440f1b
mov ecx, dword [esp + 0x6c]
call fcn.0043a030
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
inc eax
add edx, 0x28
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
cmp eax, dword [esp + 0xb4]
jge 0x43af30
mov esi, dword [esp + 0xb0]
jmp 0x43aee2
mov eax, dword [esp + 0x1c]
cmp byte [eax + ebx*4 + 1], 0xfb
mov eax, dword [eax + ebx*4 + 0x10]
jne 0x43af49
mov dword [esp + 0x74], 0
jmp 0x43af4f
mov dword [esp + 0x74], eax
mov eax, dword [eax]
mov esi, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x70], eax
mov ecx, esi
mov eax, 1
mov dword [esp + 0x78], esi
mov word [esp + 0x94], ax
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
call fcn.0041a2e0
mov dword [esp + 0x7c], 0
mov eax, 1
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
movups xmm0, xmmword [edi]
movups xmmword [esp + 0x78], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esp + 0x88], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esp + 0x98], xmm0
mov word [edi + 0x1c], ax
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov eax, dword [esp + 0x94]
and eax, 0xbe01
mov dword [esp + 0xa8], 0
or eax, 1
mov word [esp + 0x94], ax
mov eax, dword [esp + 0x70]
test byte [eax + 3], 8
je 0x43b019
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4 - 4]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x44]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 0x24], eax
lea eax, [esp + 0x70]
push dword [esp + 0xb0]
push dword [esp + 0xb8]
push eax
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [esi + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 0x48], eax
test ecx, ecx
je 0x43b07a
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00437190
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov dword [ecx + ebx*4 + 0x10], eax
mov byte [ecx + ebx*4 + 1], 0xf9
cmp byte [esi + 0x38], 0
jne 0x440bc2
cmp dword [esp + 0xa8], 0
je 0x43b0bd
mov dl, 1
lea ecx, [esp + 0x78]
call fcn.00434720
mov ebx, dword [esp + 0x10]
push eax
push 0x487d68
push esi
lea eax, [ebx + 0x34]
push eax
call fcn.0041a6e0
mov eax, dword [esp + 0xb8]
add esp, 0x10
mov dword [esp + 0x18], eax
jmp 0x43b0c1
mov ebx, dword [esp + 0x10]
movzx edx, byte [esp + 0x34]
lea ecx, [esp + 0x78]
call fcn.00433660
mov eax, 0x2460
test word [edi + 0x1c], ax
je 0x43b0e1
mov ecx, edi
call fcn.00433a10
mov edx, dword [edi + 0x24]
mov ecx, dword [edi]
call fcn.0041a2e0
mov dword [edi + 4], 0
mov eax, 1
mov dword [edi + 0x24], 0
mov dword [edi + 0x20], 0
movups xmm0, xmmword [esp + 0x78]
movups xmmword [edi], xmm0
movups xmm0, xmmword [esp + 0x88]
movups xmmword [edi + 0x10], xmm0
movq xmm0, qword [esp + 0x98]
movq qword [edi + 0x20], xmm0
mov word [esp + 0x94], ax
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
movzx eax, word [edi + 0x1c]
test al, 0x12
je 0x43b16c
mov edx, dword [edi + 0x18]
test eax, 0x4000
je 0x43b15a
add edx, dword [edi + 0x10]
mov eax, dword [edi]
xor ecx, ecx
cmp edx, dword [eax + 0x50]
setg cl
test ecx, ecx
jne 0x440d7c
mov eax, dword [esp + 0x18]
jmp 0x43d144
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [esp + 0x24], edi
test al, 1
je 0x43b1c2
mov ecx, edi
call fcn.00433d30
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
call fcn.00433ab0
mov ecx, esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
call fcn.00433ab0
mov esi, eax
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x78], esi
mov cl, byte [eax + ebx*4]
mov byte [esp + 0x80], cl
cmp cl, 0x52
jne 0x43b20d
mov ecx, dword [esp + 0x68]
and ecx, esi
and dword [esp + 0x6c], edx
mov dword [esp + 0x68], ecx
mov dword [edi + 0x10], ecx
mov eax, dword [esp + 0x6c]
jmp 0x43acd4
cmp cl, 0x53
jne 0x43b22c
mov ecx, dword [esp + 0x68]
or ecx, esi
or dword [esp + 0x6c], edx
mov dword [esp + 0x68], ecx
mov dword [edi + 0x10], ecx
mov eax, dword [esp + 0x6c]
jmp 0x43acd4
mov eax, esi
or eax, edx
je 0x43b35c
test edx, edx
jg 0x43b273
jl 0x43b240
test esi, esi
jae 0x43b268
mov al, 0xa9
sub al, cl
mov cl, al
mov byte [esp + 0x80], cl
cmp edx, 0xffffffff
jl 0x43b2a1
jg 0x43b259
cmp esi, 0xffffffc0
jbe 0x43b2a1
neg esi
mov dword [esp + 0x78], esi
adc edx, 0
neg edx
mov dword [esp + 0x7c], edx
test edx, edx
jl 0x43b2d8
jg 0x43b273
cmp esi, 0x40
jb 0x43b2d8
cmp dword [esp + 0x6c], 0
jg 0x43b2b3
jl 0x43b283
cmp dword [esp + 0x68], 0
jae 0x43b2b3
cmp cl, 0x54
je 0x43b2b3
or ecx, 0xffffffff
or eax, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov dword [edi + 0x10], ecx
mov eax, dword [esp + 0x6c]
jmp 0x43acd4
mov dword [esp + 0x78], 0x40
mov dword [esp + 0x7c], 0
jmp 0x43b273
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
mov dword [edi + 0x10], ecx
mov eax, dword [esp + 0x6c]
jmp 0x43acd4
movq xmm1, qword [esp + 0x68]
movd xmm0, esi
cmp cl, 0x54
jne 0x43b30d
psllq xmm1, xmm0
movq qword [esp + 0x70], xmm1
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
mov dword [edi + 0x10], ecx
mov eax, dword [esp + 0x6c]
jmp 0x43acd4
cmp dword [esp + 0x6c], 0
psrlq xmm1, xmm0
movq qword [esp + 0x70], xmm1
jg 0x43b340
jl 0x43b327
cmp dword [esp + 0x68], 0
jae 0x43b340
or edx, 0xffffffff
mov ecx, 0x40
sub ecx, esi
mov eax, edx
call fcn.00479c10
or dword [esp + 0x70], eax
or dword [esp + 0x74], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
mov dword [edi + 0x10], ecx
mov eax, dword [esp + 0x6c]
jmp 0x43acd4
mov ecx, dword [esp + 0x68]
mov dword [edi + 0x10], ecx
mov eax, dword [esp + 0x6c]
jmp 0x43acd4
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00433ab0
mov dword [esi + 0x10], eax
mov ecx, 0xbe04
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
cdq
add dword [esi + 0x10], eax
mov eax, dword [esp + 0x14]
adc dword [esi + 0x14], edx
inc eax
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0043a180
test byte [esi + 0x1c], 8
je 0x43b3e2
mov ecx, esi
call fcn.00433bc0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x43b40c
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov eax, dword [edx + ebx*4 + 8]
test eax, eax
jne 0x43e59a
mov eax, 0x14
mov dword [esp + 0x18], eax
jmp 0x440c72
mov edx, dword [esp + 0x1c]
and eax, 0xbe04
mov ebx, dword [esp + 0x10]
or eax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
inc eax
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea esi, [eax + eax*4]
movzx ebx, word [ecx + esi*8 + 0x1c]
test bl, 4
je 0x43b479
test bl, 8
je 0x43b450
movsd xmm0, qword [ecx + esi*8 + 8]
jmp 0x43b465
mov edx, dword [ecx + esi*8 + 0x14]
mov ecx, dword [ecx + esi*8 + 0x10]
call fcn.0047a130
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
and ebx, 0xbe08
movsd qword [ecx + esi*8 + 8], xmm0
or ebx, 8
mov word [ecx + esi*8 + 0x1c], bx
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x43d138
shr eax, 3
and eax, 2
or word [esi + 0x1c], ax
mov ax, word [esi + 0x1c]
test al, 2
jne 0x43b4c7
test al, 0xc
je 0x43b4c7
movzx edx, byte [esp + 0x34]
mov ecx, esi
call fcn.004338b0
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x43b4f4
mov ecx, esi
call fcn.00433800
mov dword [esp + 0x18], eax
mov eax, 0xbfe3
and word [esi + 0x1c], ax
jmp 0x43d138
mov eax, 0xbfe3
mov dword [esp + 0x18], 0
and word [esi + 0x1c], ax
jmp 0x43d138
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x43d138
test al, 0x10
jne 0x43b566
test al, 2
jne 0x43b540
test al, 0xc
je 0x43b540
movzx edx, byte [esp + 0x34]
mov ecx, esi
call fcn.004338b0
mov edx, dword [esp + 0x1c]
mov ax, word [esi + 0x1c]
mov ecx, 0xbe10
mov ebx, dword [esp + 0x10]
and ax, cx
or ax, 0x10
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
inc eax
jmp 0x43a375
mov ebx, dword [esp + 0x10]
and eax, 0xfe10
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
inc eax
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00433c60
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea esi, [ecx + eax*8]
jne 0x43b5e0
mov ecx, esi
call fcn.00433ab0
mov dword [esi + 0x10], eax
mov ecx, 0xbe04
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
mov edx, dword [esp + 0x1c]
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea esi, [eax + eax*4]
movzx ebx, word [ecx + esi*8 + 0x1c]
test bl, 1
jne 0x43b479
test bl, 8
je 0x43b61b
movsd xmm0, qword [ecx + esi*8 + 8]
jmp 0x43b465
test bl, 4
jne 0x43b450
xorps xmm0, xmm0
test bl, 0x12
je 0x43b465
movzx eax, byte [ecx + esi*8 + 0x1f]
lea edx, [esp + 0x38]
push eax
push dword [ecx + esi*8 + 0x18]
mov ecx, dword [ecx + esi*8 + 4]
movsd qword [esp + 0x40], xmm0
call fcn.0041c6f0
movsd xmm0, qword [esp + 0x40]
add esp, 8
jmp 0x43b45d
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
mov word [esp + 0x6e], ax
movzx eax, word [edi + 0x1c]
mov cl, byte [esp + 0x6e]
mov dl, al
mov word [esp + 0x70], ax
or al, cl
test al, 1
mov eax, dword [esp + 0x1c]
je 0x43b725
mov al, byte [eax + ebx*4 + 3]
test al, al
jns 0x43b6c6
test cl, 1
je 0x43b6bc
test dl, 1
je 0x43b6bc
test dword [esp + 0x70], 0x100
jne 0x43b6bc
xor edx, edx
jmp 0x43b79a
mov edx, 1
jmp 0x43b79a
mov edx, dword [esp + 0x1c]
test al, 0x10
je 0x43b706
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, 0xbe01
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [esp + 0x24], edi
or ax, 1
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
test al, 8
je 0x43b861
mov eax, dword [edx + ebx*4 + 8]
mov edi, dword [esp + 0x24]
dec eax
mov esi, dword [esp + 0x20]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov dl, byte [eax + ebx*4 + 3]
and dl, 0x67
mov byte [esp + 0x6c], dl
je 0x43b760
push dword [esp + 0x34]
mov ecx, esi
call fcn.0043a210
mov dl, byte [esp + 0x70]
add esp, 4
mov ecx, edi
push dword [esp + 0x34]
call fcn.0043a210
mov eax, dword [esp + 0x24]
add esp, 4
cmp byte [eax + 0x38], 0
jne 0x440f25
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43b777
mov ecx, esi
call fcn.00433800
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x43b784
mov ecx, edi
call fcn.00433800
mov eax, dword [esp + 0x1c]
mov edx, esi
mov ecx, edi
push dword [eax + ebx*4 + 0x10]
call fcn.00434220
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x68], edx
movzx ecx, byte [eax + ebx*4]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x43b7ae
jmp dword [ecx*4 + 0x44125c]
xor eax, eax
test edx, edx
sete al
jmp 0x43b7e9
xor eax, eax
test edx, edx
setne al
jmp 0x43b7e9
xor eax, eax
test edx, edx
sets al
jmp 0x43b7e9
xor eax, eax
test edx, edx
setle al
jmp 0x43b7e9
xor eax, eax
test edx, edx
setg al
jmp 0x43b7e9
xor eax, eax
test edx, edx
setns al
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x68], eax
test byte [edx + ebx*4 + 3], 0x10
je 0x43b82f
mov eax, dword [edx + ebx*4 + 8]
mov edx, 0xbe04
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [esp + 0x24], ecx
or ax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x68]
cdq
mov dword [ecx + 0x14], edx
mov edx, dword [esp + 0x1c]
mov dword [ecx + 0x10], eax
jmp 0x43b83c
test eax, eax
je 0x43b83c
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [esp + 0x14], eax
movzx eax, word [esi + 0x1c]
mov ecx, 0x1ff
xor ax, word [esp + 0x6e]
and ax, cx
xor word [esi + 0x1c], ax
movzx eax, word [edi + 0x1c]
xor ax, word [esp + 0x70]
and ax, cx
xor word [edi + 0x1c], ax
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
inc eax
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov ecx, dword [edx + ebx*4 + 0x10]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x50], ecx
jmp 0x43a375
test byte [edx + ebx*4 + 3], 1
mov ecx, 0
mov eax, dword [edx + ebx*4 + 0xc]
cmovne ecx, dword [esp + 0x50]
mov dword [esp + 0x68], eax
mov edi, dword [edx + ebx*4 + 0x10]
mov dword [esp + 0x78], edi
mov edx, dword [edx + ebx*4 + 4]
mov dword [esp + 0x70], edx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
mov ebx, dword [edx + ebx*4 + 8]
xor edx, edx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x6c], edx
test eax, eax
jle 0x43b961
test ecx, ecx
je 0x43b8df
mov esi, dword [ecx + edx*4]
jmp 0x43b8e1
mov esi, edx
mov dword [esp + 0x7c], esi
mov ecx, dword [edi + edx*4 + 0xc]
mov dword [esp + 0x80], ecx
mov eax, dword [edi + 8]
push ecx
mov ecx, dword [esp + 0x2c]
movzx eax, byte [eax + edx]
mov dword [esp + 0x88], eax
lea eax, [esi + ebx]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x54]
add eax, esi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00434220
add esp, 4
mov dword [esp + 0x54], eax
test eax, eax
jne 0x43b94d
mov edx, dword [esp + 0x6c]
inc edx
mov dword [esp + 0x6c], edx
cmp edx, dword [esp + 0x68]
jge 0x43b95d
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x50], esi
jmp 0x43b8d6
cmp dword [esp + 0x84], 0
je 0x43b95d
neg eax
mov dword [esp + 0x54], eax
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
inc eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x50], 0
jmp 0x43a375
mov eax, dword [esp + 0x54]
test eax, eax
jns 0x43b994
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
jne 0x43b9a3
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 0xc]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x43b9cc
mov ecx, 2
jmp 0x43b9e2
call fcn.00433ab0
or eax, edx
mov edx, dword [esp + 0x1c]
je 0x43b9e0
mov ecx, 1
jmp 0x43b9e2
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea eax, [edi + eax*8]
je 0x43b9fe
mov eax, 2
jmp 0x43ba1a
mov ecx, eax
call fcn.00433ab0
mov ecx, dword [esp + 0x68]
or eax, edx
mov edx, dword [esp + 0x1c]
je 0x43ba18
mov eax, 1
jmp 0x43ba1a
xor eax, eax
mov dword [esp + 0x6c], eax
lea eax, [eax + ecx*2]
cmp byte [edx + ebx*4], 0x45
jne 0x43ba31
movzx ecx, byte [ecx + eax + 0x482ce0]
jmp 0x43ba39
movzx ecx, byte [ecx + eax + 0x484e04]
mov dword [esp + 0x68], ecx
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x24], edi
cmp ecx, 2
jne 0x43ba72
mov ax, word [edi + 0x1c]
mov ecx, 0xbe01
mov ebx, dword [esp + 0x10]
and ax, cx
or ax, 1
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
mov ebx, dword [esp + 0x10]
mov eax, ecx
cdq
mov ecx, 0xbe04
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [edi + 0x14], edx
mov edx, dword [esp + 0x1c]
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x24], edi
je 0x43badd
mov ecx, edi
call fcn.00433d30
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
call fcn.00433ab0
or eax, edx
jne 0x43bb09
mov ecx, 1
push eax
push ecx
mov ecx, edi
call fcn.00433d80
mov eax, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x1c]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push eax
push ecx
mov ecx, edi
call fcn.00433d80
mov eax, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x1c]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x24], edi
je 0x43bb74
mov ecx, edi
call fcn.00433d30
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
call fcn.00433ab0
not edx
not eax
push edx
push eax
jmp 0x43bb1c
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0xb8]
cmp byte [eax + ecx], 0
je 0x43bba2
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov ebx, dword [esp + 0x10]
mov byte [eax + ecx], 1
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
je 0x43bbcf
mov ecx, dword [edx + ebx*4 + 0xc]
jmp 0x43bc01
call fcn.00433b60
ucomisd xmm0, qword [0x48bb78]
mov edx, dword [esp + 0x1c]
lahf
xor ecx, ecx
test ah, 0x44
mov eax, 1
cmovp ecx, eax
mov dword [esp + 0x68], ecx
cmp byte [edx + ebx*4], 0x1c
jne 0x43bc05
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [esp + 0x68], ecx
test ecx, ecx
je 0x43e595
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
dec eax
inc eax
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je 0x43e595
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
dec eax
inc eax
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jne 0x43e595
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
dec eax
inc eax
jmp 0x43a375
mov ecx, dword [edx + ebx*4 + 4]
xorps xmm0, xmm0
mov esi, dword [esp + 0x28]
mov dword [esp + 0x78], ecx
mov edi, dword [edx + ebx*4 + 8]
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], edi
movups xmmword [esp + 0xa8], xmm0
movups xmmword [esp + 0xb8], xmm0
movq qword [esp + 0xc8], xmm0
mov eax, dword [edx + ebx*4 + 0xc]
mov dword [esp + 0x84], 0
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa4], esi
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x80], ecx
mov eax, dword [ecx]
mov dword [esp + 0x88], eax
test eax, eax
je 0x43be4f
call fcn.00437390
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c6e
mov ecx, dword [esp + 0x80]
cmp byte [ecx + 0x1c], al
je 0x43bd39
mov esi, dword [esp + 0xa4]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x68], 0
mov ax, word [esi + 0x1c]
mov ecx, 0xbe01
mov edi, dword [esp + 0x24]
and ax, cx
mov ebx, dword [esp + 0x10]
or ax, 1
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
inc eax
jmp 0x43a375
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x50]
jne 0x43bd5b
mov edx, dword [ecx + 0x54]
mov dword [esp + 0x68], edx
mov eax, dword [ecx + 0x60]
mov dword [esp + 0x84], eax
jmp 0x43bef4
cmp byte [ecx + 0x1f], 0
mov edx, dword [esp + 0x88]
mov dword [esp + 0x2c], edx
je 0x43bdf5
cmp byte [edx + 0x5b], 1
je 0x43bd8c
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov edx, dword [esp + 0x70]
mov dword [esp + 0x68], edx
jmp 0x43bef4
cmp word [edx + 0x42], 0
jne 0x43bdda
movsx eax, word [edx + 0x5e]
mov edi, dword [edx + eax*4 + 0x88]
movzx esi, word [edx + eax*2 + 0x60]
lea eax, [edx + 0x28]
push eax
mov ecx, dword [edi + 0x40]
movzx eax, byte [ecx + esi*2]
movzx edx, byte [ecx + esi*2 + 1]
mov ecx, edi
shl eax, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x38]
call fcn.0042a1d0
mov edx, dword [esp + 0x30]
add esp, 4
mov byte [edx + 0x5a], 1
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x2c]
mov edx, dword [edx + 0x28]
mov dword [esp + 0x70], edx
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x68], edx
jmp 0x43bef4
cmp word [edx + 0x42], 0
jne 0x43be43
movsx eax, word [edx + 0x5e]
mov edi, dword [edx + eax*4 + 0x88]
movzx esi, word [edx + eax*2 + 0x60]
lea eax, [edx + 0x28]
push eax
mov ecx, dword [edi + 0x40]
movzx eax, byte [ecx + esi*2]
movzx edx, byte [ecx + esi*2 + 1]
mov ecx, edi
shl eax, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x38]
call fcn.0042a1d0
mov edx, dword [esp + 0x30]
add esp, 4
mov byte [edx + 0x5a], 1
mov ecx, dword [esp + 0x80]
mov edx, dword [edx + 0x34]
mov dword [esp + 0x68], edx
jmp 0x43bef4
mov eax, dword [ecx + 0x10]
test eax, eax
jle 0x43bd07
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [esp + 0xec], edx
cmp byte [ecx + 0x22], 0
je 0x43bebf
lea eax, [edi + edi*4]
mov ecx, esi
push 0x1000
lea edx, [edx + eax*8]
call fcn.00433f80
mov ecx, dword [esp + 0xa8]
mov eax, 0x1000
add esp, 4
test word [ecx + 0x1c], ax
je 0x43bea5
call fcn.004337a0
test eax, eax
jne 0x440f1b
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
inc eax
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov eax, dword [edx + 0x18]
mov dword [esp + 0x68], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x1c]
test byte [eax + ebx*4 + 3], 0x20
je 0x43bedf
xor eax, eax
jmp 0x43bee6
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x50]
mov dword [ecx + 0x50], eax
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x68]
test edx, edx
je 0x43c502
mov esi, dword [esp + 0x20]
cmp edx, dword [esi + 0x50]
ja 0x440d78
mov esi, dword [ecx + 0x14]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x94], esi
mov edx, dword [ecx + 0x58]
mov dword [esp + 0x8c], edx
mov eax, dword [ecx + 0x50]
cmp eax, dword [edi + 0x50]
jne 0x43bf3d
mov ecx, dword [ecx + 0x5c]
mov edi, 1
mov dword [esp + 0x90], ecx
jmp 0x43c267
lea eax, [edx + esi*4]
mov dword [esp + 0xe4], 0
mov dword [esp + 0x90], eax
mov dword [ecx + 0x5c], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [edi + 0x50]
mov dword [eax + 0x50], ecx
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x43bf87
mov dword [esp + 0xa0], ecx
jmp 0x43c04e
mov edi, dword [esp + 0x80]
cmp byte [edi + 0x1f], 0
je 0x43c004
mov edx, dword [esp + 0x88]
xor esi, esi
mov dword [esp + 0x2c], edx
cmp byte [edx + 0x5b], 1
jne 0x43c020
cmp word [edx + 0x42], si
jne 0x43bff0
movsx eax, word [edx + 0x5e]
mov edi, dword [edx + eax*4 + 0x88]
movzx esi, word [edx + eax*2 + 0x60]
lea eax, [edx + 0x28]
push eax
mov ecx, dword [edi + 0x40]
movzx edx, byte [ecx + esi*2]
movzx eax, byte [ecx + esi*2 + 1]
mov ecx, edi
shl edx, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x38]
call fcn.0042a1d0
mov edi, dword [esp + 0x84]
add esp, 4
mov edx, dword [esp + 0x2c]
movzx esi, word [edx + 0x3c]
movzx eax, word [edx + 0x3e]
add esi, dword [edx + 0x30]
mov dword [esp + 0xe4], eax
jmp 0x43c020
mov ecx, dword [esp + 0x88]
lea edx, [esp + 0xe4]
call fcn.0042d6f0
mov edi, dword [esp + 0x80]
mov esi, eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xa0], esi
cmp ecx, dword [esp + 0xe4]
ja 0x43c040
mov dword [esp + 0x84], esi
mov dword [edi + 0x60], esi
jmp 0x43c047
mov dword [edi + 0x60], 0
mov ecx, dword [esp + 0xa0]
mov al, byte [ecx]
cmp al, 0x80
jae 0x43c065
movzx edx, al
mov eax, 1
mov dword [esp + 0xd8], edx
jmp 0x43c082
lea edx, [esp + 0xd8]
call fcn.0041d230
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xa0]
movzx eax, al
movzx eax, al
mov dword [esp + 0xe0], eax
cmp edx, 0x18003
jbe 0x43c0ab
mov ecx, 0x102e5
call fcn.004781b0
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x24]
jmp 0x43d13c
mov edi, dword [esp + 0x94]
lea esi, [edi*4 + 3]
add esi, edi
cmp esi, edx
cmovg esi, edx
cmp dword [esp + 0x84], 0
mov dword [esp + 0x98], esi
jne 0x43c13c
cmp dword [esp + 0xe4], esi
jge 0x43c13c
mov ecx, dword [esp + 0x88]
xor eax, eax
mov word [esp + 0xc4], ax
xor edx, edx
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xa8]
push eax
mov eax, dword [esp + 0x84]
movzx eax, byte [eax + 0x1f]
push eax
push esi
call fcn.00434550
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43c0a2
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xd8]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x94]
mov dword [esp + 0xa0], ecx
lea eax, [ecx + esi]
mov esi, dword [esp + 0xe0]
add esi, ecx
mov dword [esp + 0xd4], eax
xor ecx, ecx
mov dword [esp + 0xd0], esi
mov dword [esp + 0x9c], ecx
test edi, edi
jle 0x43c20b
nop word [eax + eax]
cmp esi, eax
mov eax, dword [esp + 0x90]
jae 0x43c2c8
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xd0]
mov al, byte [ecx]
cmp al, 0x80
jae 0x43c1a3
movzx edx, al
inc ecx
mov dword [esp + 0xe8], edx
mov dword [esp + 0xd0], ecx
jmp 0x43c1c0
lea edx, [esp + 0xe8]
call fcn.0041d230
mov edx, dword [esp + 0xe8]
movzx eax, al
add dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x8c]
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xe8]
call fcn.00437540
mov edx, dword [esp + 0xd8]
add edx, eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], edx
cmp edx, eax
jae 0x43c2d6
mov eax, dword [esp + 0xd4]
inc eax
mov dword [esp + 0xd0], eax
lea ecx, [esp + 0xa8]
call fcn.00433a70
mov edx, dword [esp + 0xd0]
mov edi, 1
mov esi, dword [esp + 0xd4]
mov word [esp + 0xc4], di
cmp edx, esi
ja 0x43c4eb
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
ja 0x43c4eb
cmp edx, esi
jne 0x43c259
cmp eax, ecx
jne 0x43c4eb
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x7c]
cmp dword [ecx + eax*4], 0
je 0x43c44d
cmp dword [esp + 0x84], 0
je 0x43c305
mov esi, dword [esp + 0xa4]
mov ebx, 0x2460
test word [esi + 0x1c], bx
je 0x43c2b5
mov ecx, esi
call fcn.00433a10
mov esi, dword [esp + 0xa4]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x7c]
mov ecx, dword [ecx + eax*4]
add ecx, dword [esp + 0x84]
mov edx, dword [edx + eax*4]
push esi
jmp 0x43c435
mov dword [eax + ecx*4], 0
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0x9c]
inc ecx
mov dword [esp + 0x9c], ecx
cmp ecx, dword [esp + 0x94]
jge 0x43c20b
mov eax, dword [esp + 0xd4]
mov esi, dword [esp + 0xd0]
jmp 0x43c170
mov edx, dword [edx + eax*4]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xe8], edx
mov al, byte [eax + ebx*4 + 3]
test al, 0xc0
je 0x43c339
cmp edx, 0xc
jb 0x43c325
test dl, 1
je 0x43c329
test al, al
jns 0x43c339
cmp edx, 0xc
lea eax, [esp + 0x70]
sbb ecx, ecx
and ecx, eax
jmp 0x43c427
mov ecx, edx
call fcn.00437540
test dword [esp + 0xc4], 0x2460
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x98], eax
je 0x43c367
lea ecx, [esp + 0xa8]
call fcn.00433a10
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xa8]
call fcn.0041a2e0
mov dword [esp + 0xac], 0
lea eax, [esp + 0xa8]
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], 0
movups xmm0, xmmword [esi]
push eax
movups xmmword [esp + 0xac], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [esp + 0xbc], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [esp + 0xcc], xmm0
mov word [esi + 0x1c], di
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x8c]
movzx eax, byte [eax + 0x1f]
push eax
mov eax, dword [esp + 0x98]
push dword [esp + 0xa0]
mov edx, dword [eax + edx*4]
call fcn.00434550
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43c0a2
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xe8]
push dword [esp + 0xa4]
mov dword [esp + 0xa4], ecx
call fcn.00437620
mov eax, dword [esp + 0xa8]
add esp, 4
mov cl, byte [esp + 0x34]
mov byte [eax + 0x1f], cl
jmp 0x43c486
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xa4]
cmp byte [eax + ebx*4 + 1], 0xf8
jne 0x43c472
mov edx, dword [eax + ebx*4 + 0x10]
push 0x800
call fcn.00433f80
add esp, 4
jmp 0x43c486
mov ax, word [ecx + 0x1c]
mov edx, 0xbe01
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
cmp dword [esp + 0xcc], 0
je 0x43c4d2
mov eax, dword [esp + 0xa4]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [esp + 0xa4]
or word [eax + 0x1c], cx
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xac]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0xa4]
call fcn.004337a0
mov edi, dword [esp + 0x24]
mov dword [esp + 0x18], eax
jmp 0x43d13c
mov ecx, 0x10335
call fcn.004781b0
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x24]
jmp 0x43d13c
mov esi, dword [esp + 0xa4]
mov edx, dword [esp + 0x1c]
jmp 0x43bd0f
mov ecx, dword [edx + ebx*4 + 0x10]
mov dword [esp + 0x68], ecx
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov al, byte [ecx]
mov byte [esp + 0x6c], al
test al, al
je 0x43c576
mov edi, 0x4000
inc ecx
mov dword [esp + 0x68], ecx
test word [esi + 0x1c], di
je 0x43c54d
mov ecx, esi
call fcn.00433800
mov al, byte [esp + 0x6c]
push dword [esp + 0x34]
mov dl, al
mov ecx, esi
call fcn.0043a210
mov ecx, dword [esp + 0x6c]
add esp, 4
add esi, 0x28
mov al, byte [ecx]
mov byte [esp + 0x6c], al
test al, al
jne 0x43c537
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
inc ecx
mov esi, dword [esp + 0x20]
inc eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x68], ecx
jmp 0x43a375
mov ecx, dword [esp + 0x28]
xor eax, eax
mov edi, dword [esp + 0x1c]
xor esi, esi
mov dword [esp + 0x88], eax
xorps xmm0, xmm0
mov dword [esp + 0x30], eax
movlpd qword [esp + 0x70], xmm0
mov dword [esp + 0x78], esi
mov eax, dword [edx + ebx*4 + 4]
mov dword [esp + 0x9c], eax
mov edx, dword [edx + ebx*4 + 0x10]
mov dword [esp + 0xa0], edx
lea eax, [eax + eax*4]
mov dword [esp + 0x2c], edx
lea ecx, [ecx + eax*8]
mov dword [esp + 0x94], ecx
mov eax, dword [edi + ebx*4 + 8]
mov dword [esp + 0x9c], eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x10]
add ecx, 0xffffffd8
mov dword [esp + 0x98], ecx
movzx eax, byte [eax + 0x5d]
mov dword [esp + 0xa4], eax
mov eax, dword [edi + ebx*4 + 0xc]
mov ebx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x94]
mov edi, eax
mov dword [esp + 0x6c], edi
cmp eax, ecx
ja 0x43c735
mov ebx, dword [esp + 0x30]
nop dword [eax]
test edx, edx
je 0x43c674
push dword [esp + 0x34]
mov ecx, edi
sub ecx, eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x30]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, byte [eax + ecx]
mov ecx, edi
call fcn.0043a210
mov ecx, dword [esp + 0xa4]
add esp, 4
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x2c], ecx
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x43c6a2
cmp dword [edi + 0x18], 0
jle 0x43c6a2
mov ecx, edi
call fcn.00433800
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0xa4]
mov ecx, edi
call fcn.00437430
mov esi, eax
mov ecx, esi
mov dword [esp + 0x90], esi
call fcn.00437540
mov dword [esp + 0xac], eax
cdq
add dword [esp + 0x70], eax
adc dword [esp + 0x74], edx
xor ecx, ecx
xor edx, edx
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
je 0x43c6e7
cmp edx, 9
jl 0x43c6d4
mov esi, dword [esp + 0x78]
mov eax, 0x4000
add esi, edx
mov dword [esp + 0x78], esi
test word [edi + 0x1c], ax
je 0x43c701
add ebx, dword [edi + 0x10]
jmp 0x43c70d
xor eax, eax
cmp dword [esp + 0xac], eax
cmovne ebx, eax
mov edx, dword [esp + 0x2c]
add edi, 0x28
mov eax, dword [esp + 0x94]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x6c], edi
cmp edi, dword [esp + 0x98]
jbe 0x43c630
jmp 0x43c737
xor ebx, ebx
mov eax, esi
xor edi, edi
cdq
mov ecx, eax
nop
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x43c753
cmp edi, 9
jl 0x43c740
add esi, edi
mov dword [esp + 0x8c], edi
mov eax, esi
mov dword [esp + 0x78], esi
cdq
xor esi, esi
mov ecx, eax
shrd ecx, edx, 7
inc esi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x43c77a
cmp esi, 9
jl 0x43c767
cmp edi, esi
mov edi, dword [esp + 0x78]
jge 0x43c787
inc edi
mov dword [esp + 0x78], edi
mov eax, ebx
cdq
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
mov ebx, eax
mov edi, edx
sub ebx, ecx
sbb edi, esi
add ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x20]
adc edi, dword [esp + 0x74]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], edi
mov eax, dword [esi + 0x50]
cdq
cmp edi, edx
jg 0x440d78
jl 0x43c7c9
cmp ebx, eax
ja 0x440d78
mov edi, dword [esp + 0x24]
mov edx, ebx
push 0
mov ecx, edi
call fcn.00433680
add esp, 4
test eax, eax
jne 0x440f27
mov ecx, dword [esp + 0x78]
mov edx, dword [edi + 4]
mov dword [esp + 0x68], edx
cmp ecx, 0x80
jae 0x43c801
mov al, cl
mov byte [edx], al
mov eax, 1
jmp 0x43c82c
test ecx, 0xffffc000
jne 0x43c81f
mov eax, ecx
shr eax, 7
or al, 0x80
and cl, 0x7f
mov byte [edx], al
mov eax, 2
mov byte [edx + 1], cl
jmp 0x43c82c
push 0
push ecx
mov ecx, edx
call fcn.0041cfc0
add esp, 8
mov ecx, dword [esp + 0x98]
movzx esi, al
mov eax, dword [esp + 0x94]
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], eax
cmp eax, ecx
ja 0x43c8e4
mov edx, dword [esp + 0xa4]
mov ecx, eax
call fcn.00437430
mov ecx, eax
mov dword [esp + 0x90], ecx
cmp ecx, 0x80
jae 0x43c87f
mov cl, al
mov eax, dword [esp + 0x68]
mov byte [esi + eax], cl
mov eax, 1
jmp 0x43c8b0
mov edx, dword [esp + 0x68]
add edx, esi
test ecx, 0xffffc000
jne 0x43c8a3
mov eax, ecx
shr eax, 7
or al, 0x80
and cl, 0x7f
mov byte [edx], al
mov eax, 2
mov byte [edx + 1], cl
jmp 0x43c8b0
push 0
push ecx
mov ecx, edx
call fcn.0041cfc0
add esp, 8
mov esi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x98]
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x6c]
add eax, 0x28
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], eax
cmp eax, ecx
jbe 0x43c850
mov eax, dword [esp + 0x94]
mov dword [esp + 0x6c], eax
cmp eax, ecx
ja 0x43c934
nop dword [eax]
mov ecx, dword [esp + 0x68]
push dword [esp + 0xa4]
mov edx, dword [esp + 0x84]
push eax
sub edx, esi
lea ecx, [esi + ecx]
call fcn.00437560
mov esi, dword [esp + 0xb0]
add esp, 8
add esi, eax
mov eax, dword [esp + 0x6c]
add eax, 0x28
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], eax
cmp eax, dword [esp + 0x98]
jbe 0x43c8f0
mov eax, dword [esp + 0x80]
mov dword [edi + 0x18], eax
mov eax, 0x410
mov word [edi + 0x1c], ax
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0x88]
test eax, eax
je 0x43c965
mov dword [edi + 0x10], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov byte [edi + 0x1f], 1
jmp 0x43a375
mov ecx, dword [edx + ebx*4 + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x40]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov dword [esp + 0x70], ecx
test ecx, ecx
je 0x43c9a6
lea edx, [esp + 0x68]
call fcn.004313d0
mov dword [esp + 0x18], eax
jmp 0x43c9af
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov eax, dword [esp + 0x68]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x18]
jmp 0x43d144
mov eax, dword [edx + ebx*4 + 4]
mov dword [esp + 0x30], eax
mov dword [esp + 0x68], eax
mov eax, dword [edx + ebx*4 + 0x10]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x6c], eax
test ebx, ebx
jne 0x43caa8
cmp dword [esi + 0x88], ebx
jg 0x440bd0
mov ecx, eax
call fcn.0041c470
mov dword [esp + 0x70], eax
xor edx, edx
mov eax, dword [esi + 0x1e4]
mov ecx, esi
add eax, dword [esi + 0x1e0]
push eax
call fcn.0046b3b0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c72
mov edx, dword [esp + 0x70]
mov ecx, esi
lea edx, [edx + 0x19]
call fcn.0041a540
mov dword [esp + 0x74], eax
test eax, eax
je 0x43ca9a
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [esp + 0x70]
inc eax
push eax
mov eax, dword [esp + 0x78]
push dword [esp + 0x70]
push dword [eax]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [esi + 0x36], bl
je 0x43ca67
mov byte [esi + 0x36], bl
mov byte [esi + 0x3d], 1
jmp 0x43ca6d
inc dword [esi + 0x1e0]
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 0x1d8]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x74]
mov dword [esi + 0x1d8], eax
mov ecx, dword [esp + 0x74]
mov eax, dword [esi + 0x1e8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x1ec]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
inc eax
jmp 0x43a371
xor edi, edi
mov dword [esp + 0x80], edi
mov esi, dword [esi + 0x1d8]
mov dword [esp + 0x78], esi
test esi, esi
je 0x440c1a
mov ecx, dword [esi]
mov edx, eax
call fcn.0041c640
test eax, eax
je 0x43cae1
mov eax, dword [esp + 0x2c]
inc edi
mov dword [esp + 0x80], edi
mov esi, dword [esi + 0x10]
jmp 0x43cab7
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x88], 0
jle 0x43caf7
cmp ebx, 1
je 0x440bf9
cmp dword [esi + 0x10], 0
jne 0x43cb4f
cmp byte [eax + 0x3d], 0
je 0x43cb4f
mov dword [esp + 0x2c], 1
cmp ebx, 1
jne 0x43cb57
mov edx, ebx
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.00436cc0
mov edi, eax
test edi, edi
jne 0x440fbc
mov edi, dword [esp + 0x20]
mov ecx, ebx
mov byte [edi + 0x36], 1
call fcn.00436d20
cmp eax, 5
je 0x440c02
mov byte [edi + 0x3d], 0
mov eax, dword [ebx + 0x58]
mov dword [esp + 0x18], eax
jmp 0x43cc20
mov dword [esp + 0x2c], 0
mov eax, dword [eax + 0x1e0]
sub eax, edi
mov edi, dword [esp + 0x20]
dec eax
mov dword [esp + 0x80], eax
cmp ebx, 2
jne 0x43cbaf
xor eax, eax
mov dword [esp + 0x84], eax
cmp dword [edi + 0x14], eax
jle 0x43cbaf
nop
mov ecx, dword [edi + 0x10]
add eax, eax
mov edx, 4
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0042cd50
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [edi + 0x14]
jl 0x43cb80
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x68]
xor eax, eax
mov dword [esp + 0x84], eax
cmp dword [edi + 0x14], eax
jle 0x43cc07
mov esi, dword [esp + 0x20]
mov ecx, dword [esi + 0x10]
add eax, eax
push dword [esp + 0x80]
mov edx, ebx
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0042cf50
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c72
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x68]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x14]
jl 0x43cbc1
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x20]
cmp ebx, 2
jne 0x43cc28
test byte [edi + 0x18], bl
je 0x43cc28
mov ecx, edi
call fcn.00437f30
call fcn.0044d8d0
or dword [edi + 0x18], ebx
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x78]
cmp dword [edi + 0x1d8], esi
je 0x43cc64
mov eax, dword [edi + 0x1d8]
mov ecx, edi
mov dword [esp + 0x7c], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1d8], eax
mov edx, dword [esp + 0x7c]
call fcn.0041a2e0
dec dword [edi + 0x1e0]
mov esi, dword [esp + 0x78]
cmp dword [edi + 0x1d8], esi
jne 0x43cc30
mov ebx, dword [esp + 0x68]
cmp ebx, 1
jne 0x43cc94
mov eax, dword [esi + 0x10]
mov esi, dword [esp + 0x20]
mov ecx, esi
mov dword [esi + 0x1d8], eax
mov edx, dword [esp + 0x78]
call fcn.0041a2e0
cmp dword [esp + 0x2c], 0
jne 0x43d3d0
dec dword [esi + 0x1e0]
jmp 0x43ccb5
cmp dword [esp + 0x2c], 0
mov eax, dword [esi + 8]
mov dword [edi + 0x1e8], eax
mov eax, dword [esi + 0xc]
mov esi, dword [esp + 0x20]
mov dword [esi + 0x1ec], eax
jne 0x43d3d0
push dword [esp + 0x80]
mov edx, dword [esp + 0x6c]
mov ecx, esi
call fcn.0046b3b0
mov ebx, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c76
mov edi, dword [esp + 0x24]
jmp 0x43d144
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x68], ecx
test ecx, ecx
je case.default.0x43a40e
mov edx, dword [edx + ebx*4 + 8]
call fcn.0042bdf0
mov dword [esp + 0x18], eax
cmp eax, 5
je 0x440c48
test eax, eax
jne 0x440c72
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + ebx*4 + 8], eax
mov ebx, dword [esp + 0x10]
je 0x43d144
test byte [ebx + 0x60], 0x80
je 0x43d144
cmp byte [esi + 0x36], al
je 0x43cd48
cmp dword [esi + 0x84], 1
jle 0x43d144
cmp dword [ebx + 0x70], 0
jne 0x43cd63
mov eax, dword [esi + 0x1e0]
inc dword [esi + 0x1e4]
add eax, dword [esi + 0x1e4]
mov dword [ebx + 0x70], eax
mov eax, dword [ebx + 0x70]
xor edx, edx
dec eax
mov ecx, esi
push eax
call fcn.0046b3b0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43cdc6
mov edi, dword [ebx + 0x70]
mov ebx, dword [esp + 0x68]
mov ecx, ebx
mov esi, dword [ebx + 4]
call fcn.004298d0
mov ecx, dword [esi]
mov edx, edi
call fcn.00426940
cmp byte [ebx + 9], 0
mov dword [esp + 0x18], eax
je 0x43cdbe
add dword [ebx + 0xc], 0xffffffff
jne 0x43cdbe
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x43cdba
push eax
call dword [0x491ce0]
add esp, 4
mov byte [ebx + 0xa], 0
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov eax, dword [esi + 0x1e8]
mov edi, dword [esp + 0x24]
mov dword [ebx + 0x90], eax
mov eax, dword [esi + 0x1ec]
mov dword [ebx + 0x94], eax
mov eax, dword [esp + 0x18]
jmp 0x43d144
mov eax, dword [edx + ebx*4 + 4]
lea ecx, [esp + 0x68]
mov dword [esp + 0x6c], eax
add eax, eax
mov edx, dword [edx + ebx*4 + 0xc]
mov dword [esp + 0x70], edx
push ecx
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004312c0
mov eax, dword [esp + 0x6c]
add esp, 4
mov ebx, dword [esp + 0x10]
cdq
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x14], edx
inc eax
mov edx, dword [esp + 0x1c]
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [esp + 0x68], eax
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00433ab0
mov dword [esi + 0x10], eax
mov ecx, 0xbe04
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
push dword [esi + 0x10]
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x6c]
mov edx, dword [eax + ebx*4 + 8]
mov ecx, dword [ecx + 4]
call fcn.00431330
mov edx, dword [esp + 0x20]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [edx + ebx*4 + 8]
cmp eax, 1
jne 0x43ceac
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
mov esi, dword [esp + 0x20]
mov dword [ecx], eax
or dword [esi + 0x18], 2
jmp 0x43cec2
cmp eax, 2
jne 0x43cebe
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0xc]
mov al, byte [esi + 0x10]
mov byte [ecx + 0x4c], al
mov esi, dword [esp + 0x20]
cmp dword [edx + ebx*4 + 4], 1
jne case.default.0x43a40e
mov ecx, esi
call fcn.00437f30
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
and dword [ebx + 0x60], 0xffffffdf
jmp 0x43d144
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x70], ecx
test ecx, ecx
je 0x43cf26
lea eax, [esp + 0x68]
mov edx, 1
push eax
call fcn.004312c0
mov edx, dword [esp + 0x20]
add esp, 4
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + 4]
jmp 0x43cf2e
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
cmp ecx, dword [edx + ebx*4 + 8]
jne 0x43cf42
cmp eax, dword [edx + ebx*4 + 0xc]
je case.default.0x43a40e
mov eax, dword [esp + 0x10]
mov ecx, esi
mov edx, dword [eax + 0x34]
call fcn.0041a2e0
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.0041a650
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + ebx*4 + 4]
mov ecx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [esp + 0x68]
je 0x43cf85
mov ecx, esi
call fcn.0044d890
mov ebx, dword [esp + 0x10]
mov eax, 0x11
mov dword [esp + 0x18], eax
or dword [ebx + 0x60], 0x20
jmp 0x43d144
mov eax, dword [esp + 0x10]
test byte [eax + 0x60], 0x20
jne 0x440c87
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov edi, dword [edx + ebx*4 + 8]
mov dword [esp + 0x70], edi
mov esi, dword [edx + ebx*4 + 0xc]
mov edx, esi
mov dword [esp + 0x74], esi
shl edx, 4
add edx, dword [eax + 0x10]
mov dword [esp + 0x84], edx
mov eax, dword [edx + 4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x1c]
cmp byte [eax + ebx*4], 0x28
jne 0x43d003
mov dword [esp + 0x78], 1
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x5d]
jae 0x43d007
mov byte [edx + 0x5d], al
jmp 0x43d007
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x1c]
test byte [edx + ebx*4 + 3], 2
je 0x43d055
mov ecx, dword [esp + 0x28]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00433ab0
mov dword [esi + 0x10], eax
mov ecx, 0xbe04
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x70], eax
cmp eax, 2
jl 0x440c60
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x1c]
mov al, byte [edi + ebx*4 + 1]
cmp al, 0xfa
jne 0x43d08a
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + ebx*4 + 0x10]
mov dword [esp + 0x6c], ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x74]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x43d092
cmp al, 0xf2
jne 0x43d096
mov ecx, dword [edi + ebx*4 + 0x10]
mov dword [esp + 0x68], ecx
mov edx, dword [edi + ebx*4 + 4]
push 1
push esi
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0043a060
add esp, 0xc
mov dword [esp + 0x80], eax
test eax, eax
je 0x440f1b
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x80]
mov byte [eax + 0x20], 1
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x7c]
push dword [eax]
push dword [esp + 0x70]
push dword [esp + 0x80]
call fcn.0042d000
mov ecx, dword [esp + 0x8c]
add esp, 0xc
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x80]
mov cl, byte [edi + ebx*4 + 3]
and cl, 1
mov eax, dword [eax]
mov byte [eax + 0x5d], cl
cmp byte [edi + ebx*4 + 1], 0xfa
mov eax, dword [esp + 0x80]
setne cl
mov byte [eax + 0x1e], cl
mov ecx, dword [esp + 0x80]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
test eax, eax
jne 0x440f4e
mov eax, edx
mov edx, dword [esp + 0x1c]
jmp 0x43a380
mov ecx, dword [esp + 0x10]
push 1
push 0xffffffffffffffff
push dword [edx + ebx*4 + 8]
mov edx, dword [edx + ebx*4 + 4]
call fcn.0043a060
add esp, 0xc
mov dword [esp + 0x68], eax
test eax, eax
je 0x440f27
mov byte [eax + 0x1c], 1
xor edx, edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi]
push 0x41e
movzx eax, byte [eax + ebx*4 + 3]
or eax, 5
push eax
mov eax, dword [esp + 0x70]
add eax, 4
push eax
push esi
call fcn.0042af60
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43d3af
mov ecx, dword [esp + 0x68]
lea edx, [eax + 1]
mov ecx, dword [ecx + 4]
call fcn.0042bdf0
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43d3af
mov eax, dword [esp + 0x1c]
cmp dword [eax + ebx*4 + 0x10], 0
je 0x43d31d
movzx esi, byte [eax + ebx*4 + 3]
mov eax, dword [esp + 0x68]
or esi, 2
mov edi, dword [eax + 4]
mov ecx, edi
call fcn.004298d0
push esi
lea edx, [esp + 0x64]
mov ecx, edi
call fcn.00430bf0
add esp, 4
mov ecx, eax
cmp byte [edi + 9], 0
mov dword [esp + 0x18], ecx
je 0x43d238
add dword [edi + 0xc], 0xffffffff
jne 0x43d238
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x43d234
push eax
call dword [0x491ce0]
mov ecx, dword [esp + 0x1c]
add esp, 4
mov byte [edi + 0xa], 0
test ecx, ecx
jne 0x43d310
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x1c]
mov edi, dword [eax + 4]
mov ecx, dword [ecx + ebx*4 + 0x10]
mov esi, dword [eax]
mov dword [esp + 0x2c], ecx
mov ecx, edi
call fcn.004298d0
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x60]
test byte [ecx + 0x16], 1
je 0x43d273
mov dword [esp + 0x18], 8
jmp 0x43d2c4
cmp eax, 1
jne 0x43d280
xor edx, edx
cmp dword [ecx + 0x2c], edx
cmove eax, edx
mov dword [esi + 0x18], eax
or eax, 0xffffffff
mov word [esi + 0x5e], ax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x10], eax
mov dword [esi], edi
mov dword [esi + 4], ecx
mov byte [esi + 0x58], 1
mov eax, dword [ecx + 8]
mov dword [esi + 8], eax
test eax, eax
je 0x43d2a7
mov dword [eax + 0xc], esi
mov dword [ecx + 8], esi
mov byte [esi + 0x5b], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esp + 0x18], 0
cmp byte [edi + 9], 0
je 0x43d2e8
add dword [edi + 0xc], 0xffffffff
jne 0x43d2e8
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x43d2e4
push eax
call dword [0x491ce0]
add esp, 4
mov byte [edi + 0xa], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + ebx*4 + 0x10]
mov eax, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1e], 0
jmp 0x43d3ab
mov eax, dword [esp + 0x68]
mov edi, dword [eax + 4]
mov ecx, edi
mov esi, dword [eax]
call fcn.004298d0
mov eax, dword [edi + 4]
mov ecx, 1
test byte [eax + 0x16], cl
je 0x43d344
mov dword [esp + 0x18], 8
jmp 0x43d37f
xor edx, edx
cmp dword [eax + 0x2c], edx
mov dword [esi + 0x10], edx
cmove ecx, edx
mov dword [esi], edi
mov dword [esi + 0x18], ecx
or ecx, 0xffffffff
mov word [esi + 0x5e], cx
mov dword [esi + 4], eax
mov byte [esi + 0x58], 1
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
test ecx, ecx
je 0x43d36f
mov dword [ecx + 0xc], esi
mov dword [eax + 8], esi
mov byte [esi + 0x5b], dl
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], edx
mov dword [esp + 0x18], edx
cmp byte [edi + 9], 0
je 0x43d3a3
add dword [edi + 0xc], 0xffffffff
jne 0x43d3a3
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x43d39f
push eax
call dword [0x491ce0]
add esp, 4
mov byte [edi + 0xa], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1e], 1
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
cmp byte [eax + ebx*4 + 3], 8
mov eax, dword [esp + 0x68]
setne cl
mov byte [eax + 0x20], cl
mov ecx, dword [esp + 0x68]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
jmp 0x43d140
mov ecx, dword [esp + 0x10]
push 1
push 0xffffffffffffffff
push dword [edx + ebx*4 + 8]
mov edx, dword [edx + ebx*4 + 4]
call fcn.0043a060
add esp, 0xc
mov dword [esp + 0x68], eax
test eax, eax
je 0x440f27
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + ebx*4 + 0x10]
mov ebx, dword [esp + 0x10]
mov dword [eax + 8], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov ecx, esi
mov eax, dword [esp + 0x68]
mov byte [eax + 0x21], 1
mov edx, dword [esp + 0x68]
call fcn.00442370
mov dword [esp + 0x18], eax
jmp 0x43d144
mov ecx, dword [esp + 0x10]
push 0
push 0xffffffffffffffff
push dword [edx + ebx*4 + 0xc]
mov edx, dword [edx + ebx*4 + 4]
call fcn.0043a060
add esp, 0xc
mov dword [esp + 0x68], eax
test eax, eax
je 0x440f27
mov edx, dword [esp + 0x1c]
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x68]
mov ecx, dword [edx + ebx*4 + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1e], 1
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1f], 0
mov eax, dword [esp + 0x68]
mov cl, byte [edx + ebx*4 + 3]
mov ebx, dword [esp + 0x10]
mov byte [eax + 0x22], cl
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x43d504
mov eax, dword [esp + 0x10]
mov edx, esi
mov ecx, dword [eax]
call fcn.00442420
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x43d4ce
call fcn.0042b660
jmp 0x43d4d9
mov ecx, dword [esi]
test ecx, ecx
je 0x43d4d9
call fcn.0042d0a0
mov edx, dword [esi + 0x24]
test edx, edx
je 0x43d500
mov ecx, dword [esi + 0x28]
mov esi, dword [esp + 0x10]
push edx
mov eax, dword [esi + 0x60]
and eax, 0xfffffff7
or eax, 4
mov dword [esi + 0x60], eax
mov eax, dword [ecx + 0x1c]
call eax
add esp, 4
and dword [esi + 0x60], 0xfffffff3
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + ebx*4 + 4]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
mov eax, dword [ebx + 0x40]
mov dword [eax + ecx*4], 0
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x70], ecx
cmp dword [ecx], 0
je 0x43b996
movzx eax, byte [edx + ebx*4]
mov dword [esp + 0x6c], eax
mov byte [ecx + 0x1c], 0
mov ecx, dword [esp + 0x70]
cmp byte [ecx + 0x1e], 0
je 0x43d80d
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
mov dword [esp + 0x2c], esi
call fcn.0043a180
mov ecx, esi
call fcn.00433ab0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x9c], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x43d7a7
test al, 8
jne 0x43d5b4
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
test edi, edi
jne 0x43d741
cmp esi, 0x80000000
jne 0x43d741
mov edx, esi
xor ecx, ecx
call fcn.0047a130
mov eax, dword [esp + 0x2c]
movsd xmm1, qword [eax + 8]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x43d5fb
comisd xmm1, xmm0
jbe 0x43d741
mov dword [esp + 0x68], 1
comisd xmm0, xmmword [eax + 8]
jbe 0x43d66d
cmp dword [esp + 0x6c], 0x30
jl 0x43d727
mov eax, dword [esp + 0x70]
mov esi, dword [eax]
mov ecx, esi
call fcn.0042d820
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c6e
cmp byte [esi + 0x5b], al
jne 0x43d655
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x68], 1
mov dword [esp + 0x18], eax
mov esi, dword [ecx + ebx*4 + 8]
dec esi
mov dword [esp + 0x14], esi
jmp 0x43d13c
mov ecx, esi
mov dword [esp + 0x68], 0
call fcn.0042d9e0
mov dword [esp + 0x18], eax
jmp 0x43d6ff
cmp dword [esp + 0x6c], 0x2f
jg 0x43d727
mov eax, dword [esp + 0x70]
mov esi, dword [eax]
cmp byte [esi + 0x5b], 1
jne 0x43d6a6
cmp byte [esi + 0x59], 0
je 0x43d6a6
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov edi, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov esi, dword [ecx + ebx*4 + 8]
dec esi
mov dword [esp + 0x14], esi
jmp 0x43d13c
mov ecx, esi
call fcn.0042d820
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c6e
cmp byte [esi + 0x5b], al
jne 0x43d6e0
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x68], 1
mov dword [esp + 0x18], eax
mov esi, dword [ecx + ebx*4 + 8]
dec esi
mov dword [esp + 0x14], esi
jmp 0x43d13c
mov ecx, esi
mov dword [esp + 0x68], 0
call fcn.0042da60
test eax, eax
mov dword [esp + 0x18], eax
sete al
mov byte [esi + 0x59], al
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x440c6e
cmp dword [esp + 0x68], eax
je 0x43c0a2
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov esi, dword [ecx + ebx*4 + 8]
dec esi
mov dword [esp + 0x14], esi
jmp 0x43d13c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov esi, dword [ecx + ebx*4 + 8]
dec esi
mov dword [esp + 0x14], esi
jmp 0x43d13c
mov eax, dword [esp + 0x6c]
cmp eax, 0x2e
je 0x43d779
cmp eax, 0x30
je 0x43d779
mov edx, esi
mov ecx, edi
call fcn.0047a130
mov eax, dword [esp + 0x2c]
comisd xmm0, xmmword [eax + 8]
jbe 0x43d7b5
add edi, 0xffffffff
mov dword [esp + 0x98], edi
adc esi, 0xffffffff
mov dword [esp + 0x9c], esi
jmp 0x43d7b5
mov edx, esi
mov ecx, edi
call fcn.0047a130
mov eax, dword [esp + 0x2c]
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
jbe 0x43d7b5
add edi, 1
mov dword [esp + 0x98], edi
adc esi, 0
mov dword [esp + 0x9c], esi
jmp 0x43d7b5
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x98]
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0x68]
push eax
push 0
push esi
mov ecx, dword [ecx]
xor edx, edx
push edi
call fcn.0042daf0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c6e
mov esi, dword [esp + 0x20]
cmp dword [esp + 0x68], eax
jne 0x43d891
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 1
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x98]
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0x9c]
mov dword [ecx + 0x44], eax
jmp 0x43d891
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [esp + 0x90], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
mov ax, word [esp + 0x90]
mov word [esp + 0x7c], ax
mov al, byte [esp + 0x6c]
and al, 1
mov byte [esp + 0x7e], al
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x4000
mov dword [esp + 0x88], eax
test word [eax + 0x1c], dx
je 0x43d861
mov ecx, eax
call fcn.00433800
mov ecx, dword [esp + 0x70]
mov ecx, dword [ecx]
lea eax, [esp + 0x68]
push eax
push 0
push 0
push 0
lea edx, [esp + 0x88]
call fcn.0042daf0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c72
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
cmp eax, 0x30
jl 0x43d8ec
test ecx, ecx
js 0x43d8da
jne 0x43d8bc
cmp eax, 0x31
je 0x43d8da
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
inc eax
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x74]
push dword [eax]
call fcn.0042deb0
jmp 0x43d91c
test ecx, ecx
jg 0x43d90c
jne 0x43d8f7
cmp eax, 0x2e
je 0x43d90c
mov eax, dword [esp + 0x70]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x5b], 1
setne cl
mov dword [esp + 0x68], ecx
jmp 0x43d933
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x74]
push dword [eax]
call fcn.0042e050
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c72
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
cmp dword [esp + 0x68], 0
je 0x43d8c4
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
dec eax
inc eax
jmp 0x43a375
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
cmp dword [eax], 0
je 0x43e595
mov ecx, dword [esp + 0x28]
mov byte [eax + 0x1c], 0
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00433ab0
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x10]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], edx
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x1c]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], 1
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
mov esi, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + ebx*4 + 0xc]
mov esi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
cmp dword [ecx], edx
je 0x43dad1
mov edx, dword [esp + 0x1c]
cmp dword [edx + ebx*4 + 0x10], 0
jle 0x43da1f
mov eax, dword [ecx + 8]
mov dword [esp + 0x80], eax
mov ax, word [edx + ebx*4 + 0x10]
lea edx, [esp + 0x80]
mov word [esp + 0x84], ax
mov dword [esp + 0x90], esi
mov byte [esp + 0x86], 2
mov dword [esp + 0x78], edx
jmp 0x43da70
mov ecx, dword [ecx + 8]
lea eax, [esp + 0x74]
push eax
push 0x97
lea edx, [esp + 0xa0]
call fcn.004378c0
add esp, 8
mov dword [esp + 0x78], eax
test eax, eax
je 0x440f1b
mov ecx, dword [esp + 0x6c]
mov edx, dword [esi + 0x18]
push eax
push dword [esi + 4]
mov ecx, dword [ecx + 8]
call fcn.00437920
mov eax, dword [esp + 0x80]
add esp, 8
or byte [eax + 6], 2
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx]
lea eax, [esp + 0x70]
push eax
push 0
push 0
push 0
call fcn.0042daf0
mov ecx, dword [esp + 0x2c]
add esp, 0x10
mov esi, dword [esp + 0x20]
mov dword [esp + 0x18], eax
cmp dword [ecx + ebx*4 + 0x10], 0
jne 0x43daa7
mov edx, dword [esp + 0x74]
mov ecx, esi
call fcn.0041a2e0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x43d140
cmp dword [esp + 0x70], eax
sete al
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x6c]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x50], 0
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x1c]
cmp byte [eax + ebx*4], 0x34
jne 0x43daf8
test edx, edx
mov edx, eax
je 0x43b479
mov eax, dword [edx + ebx*4 + 8]
mov esi, dword [esp + 0x20]
dec eax
mov ebx, dword [esp + 0x10]
inc eax
jmp 0x43a375
test edx, edx
mov edx, dword [esp + 0x1c]
jne 0x43b479
mov eax, dword [edx + ebx*4 + 8]
mov esi, dword [esp + 0x20]
dec eax
mov ebx, dword [esp + 0x10]
inc eax
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x78], eax
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x6c], eax
mov dword [eax + 0x4c], 0
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x78]
mov eax, dword [ecx]
mov dword [esp + 0x70], eax
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 8]
xor ecx, ecx
mov dx, word [eax + 6]
xor eax, eax
mov word [esp + 0x74], dx
mov word [esp + 0x68], cx
cmp ax, dx
jae 0x43dba0
movzx eax, cx
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne 0x43dc73
inc cx
mov word [esp + 0x68], cx
cmp cx, dx
jb 0x43db83
cmp dword [esp + 0x2c], 0
je 0x43d134
mov eax, dword [esp + 0x6c]
mov ecx, edi
mov eax, dword [eax + 8]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x74]
inc eax
mov byte [esp + 0x86], 4
mov word [esp + 0x84], ax
mov dword [esp + 0x90], esi
call fcn.00433ab0
mov dword [edi + 0x10], eax
mov ecx, 0xbe04
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [edi + 0x14], edx
or ax, 4
lea edx, [esp + 0x80]
mov word [edi + 0x1c], ax
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x98], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x6c]
add eax, 0x4c
push eax
push 0
push 0
push 0
call fcn.0042daf0
add esp, 0x10
mov dword [esp + 0x18], eax
test byte [esp + 0x86], 4
jne 0x43d72b
mov ecx, dword [esp + 0x88]
cmp ecx, dword [esp + 0x98]
jne 0x43dc61
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x9c]
je 0x43d727
mov dword [edi + 0x10], ecx
mov eax, dword [esp + 0x8c]
mov dword [edi + 0x14], eax
jmp 0x43d134
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x14], eax
jmp 0x43d134
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [edx + ebx*4 + 4]
lea edi, [eax + eax*4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
mov esi, dword [eax]
mov dword [esp + 0x6c], esi
test esi, esi
je 0x43dd50
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x70]
push edx
mov dword [esp + 0x74], 0
xor edx, edx
push 0
mov ecx, dword [eax + edi*8 + 0x10]
mov dword [esp + 0x80], ecx
mov eax, dword [eax + edi*8 + 0x14]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x8c], eax
call fcn.0042daf0
mov ecx, dword [esp + 0x78]
add esp, 0x10
mov edx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [edx + edi*8 + 0x10]
mov dword [ecx + 0x40], eax
mov eax, dword [edx + edi*8 + 0x14]
mov dword [ecx + 0x44], eax
cmp dword [esp + 0x70], 0
mov eax, dword [esp + 0x68]
sete cl
mov byte [eax + 0x19], cl
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1c], 0
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], 0
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x43dd44
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [eax + 0x4c], ecx
jmp 0x43d134
mov esi, dword [edx + ebx*4 + 8]
dec esi
mov dword [eax + 0x4c], 0
mov dword [esp + 0x14], esi
jmp 0x43d134
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x34]
mov dword [edi + 0x14], eax
mov ecx, dword [edx + ebx*4 + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x40]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
mov eax, dword [esp + 0x10]
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov dword [esp + 0x74], 0
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x70], edi
mov esi, dword [edi]
test esi, esi
je 0x43e15d
cmp byte [edi + 0x1b], 0
jne 0x43e073
mov edx, dword [esi + 0x20]
mov eax, edx
mov dword [esp + 0x68], edx
mov esi, dword [esi + 0x24]
or eax, esi
mov dword [esp + 0x6c], esi
jne 0x43de9d
mov esi, dword [edi]
cmp byte [esi + 0x5b], 1
jne 0x43ddfb
cmp byte [esi + 0x59], al
jne 0x43de66
mov ecx, esi
call fcn.0042d820
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c6e
cmp byte [esi + 0x5b], al
jne 0x43de2a
mov edi, dword [esp + 0x70]
lea edx, [eax + 1]
mov dword [esp + 0x74], 1
xor esi, esi
mov dword [esp + 0x18], eax
jmp 0x43de95
mov ecx, esi
mov dword [esp + 0x74], 0
call fcn.0042da60
test eax, eax
mov dword [esp + 0x18], eax
sete al
mov byte [esi + 0x59], al
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x440c6e
cmp dword [esp + 0x74], eax
je 0x43de62
mov edi, dword [esp + 0x70]
lea edx, [eax + 1]
xor esi, esi
jmp 0x43de95
mov edi, dword [esp + 0x70]
mov ecx, dword [edi]
mov dword [esp + 0x2c], ecx
cmp byte [ecx + 0x5b], 1
je 0x43def2
xorps xmm0, xmm0
mov dword [esp + 0x18], 0
movlpd qword [esp + 0x68], xmm0
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
add edx, 1
adc esi, 0
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + ebx*4 + 0xc]
test eax, eax
je 0x43e017
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0xa0]
test edx, edx
je 0x43df83
mov dword [esp + 0x80], edx
mov eax, dword [edx + 4]
test eax, eax
je 0x43dee0
nop dword [eax]
mov edx, eax
mov dword [esp + 0x80], edx
mov eax, dword [edx + 4]
test eax, eax
jne 0x43ded0
mov eax, dword [ecx + ebx*4 + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea esi, [eax + ecx*8]
jmp 0x43df8d
cmp word [ecx + 0x42], 0
jne 0x43df41
movsx eax, word [ecx + 0x5e]
mov edi, dword [ecx + eax*4 + 0x88]
movzx esi, word [ecx + eax*2 + 0x60]
mov eax, dword [esp + 0x2c]
add eax, 0x28
mov ecx, dword [edi + 0x40]
push eax
movzx edx, byte [ecx + esi*2]
movzx eax, byte [ecx + esi*2 + 1]
mov ecx, edi
shl edx, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x38]
call fcn.0042a1d0
mov ecx, dword [esp + 0x30]
add esp, 4
mov byte [ecx + 0x5a], 1
mov edi, dword [esp + 0x70]
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x68], edx
mov esi, dword [ecx + 0x2c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x18], 0
cmp esi, 0x7fffffff
jl 0x43de8f
jg 0x43df6e
cmp edx, 0xffffffff
jb 0x43de8f
mov byte [edi + 0x1b], 1
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
jmp 0x43de9d
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
mov dword [esp + 0x7c], esi
call fcn.00433ab0
mov dword [esi + 0x10], eax
mov ecx, 0xbe04
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
or ax, 4
mov word [esi + 0x1c], ax
mov esi, dword [esp + 0x7c]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
cmp edx, 0xffffffff
jne 0x43dfcd
cmp ecx, 0x7fffffff
je 0x440c9e
mov eax, dword [esp + 0x70]
cmp byte [eax + 0x1b], 0
jne 0x440c9e
add edx, 1
adc ecx, 0
cmp dword [esp + 0x6c], ecx
jg 0x43dffd
jl 0x43dff1
mov eax, dword [esp + 0x68]
cmp eax, edx
jae 0x43e001
mov eax, edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
jmp 0x43e001
mov eax, dword [esp + 0x68]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [esi + 0x14], eax
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
cmp esi, 0x7fffffff
jg 0x43e02e
jl 0x43e026
cmp edx, 0xffffffff
jae 0x43e02e
add edx, 1
adc esi, 0
jmp 0x43e03f
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov ebx, dword [edi]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x43e069
nop dword [eax + eax]
mov eax, dword [ecx + 0x18]
cmp eax, dword [ebx + 0x18]
jne 0x43e05e
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x24], esi
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x43e050
mov edi, dword [esp + 0x70]
cmp byte [edi + 0x1b], 0
je 0x43e146
mov eax, dword [esp + 0x48]
lea edx, [esp + 0x74]
mov ecx, dword [esp + 0x44]
and eax, 0x3fffffff
add ecx, 1
mov dword [esp + 0x78], 0
push edx
adc eax, 0
mov dword [esp + 0x6c], ecx
push 0
push eax
mov dword [esp + 0x78], eax
xor edx, edx
push ecx
mov ecx, dword [edi]
call fcn.0042daf0
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
jne 0x43e142
nop dword [eax]
mov ecx, dword [esp + 0x74]
test ecx, ecx
jne 0x43e136
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, 0x64
jge 0x43e136
lea eax, [esp + 0x68]
push eax
push 8
call fcn.0041bd50
mov eax, dword [esp + 0x70]
add esp, 8
cmp dword [esp + 0x78], 5
jge 0x43e0f9
and eax, 0xffffff
xor ecx, ecx
jmp 0x43e103
mov ecx, dword [esp + 0x6c]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x74]
push edx
adc ecx, 0
mov dword [esp + 0x6c], eax
push 0
push ecx
mov dword [esp + 0x78], ecx
xor edx, edx
mov ecx, dword [esp + 0x7c]
push eax
mov ecx, dword [ecx]
call fcn.0042daf0
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
je 0x43e0c0
jmp 0x43e142
test edx, edx
jne 0x43e142
test ecx, ecx
je 0x440c9e
mov edi, dword [esp + 0x70]
mov byte [edi + 0x19], 0
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x68]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [edi + 0x14], eax
jmp 0x43d138
mov eax, dword [edx + ebx*4 + 8]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], esi
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x78], ecx
cmp byte [edx + ebx*4], 0x39
mov eax, dword [edx + ebx*4 + 0xc]
mov dword [esp + 0x2c], ecx
jne 0x43e1c0
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x6c], eax
mov edi, dword [eax + 0x10]
mov dword [esp + 0x70], edi
mov eax, dword [eax + 0x14]
mov dword [esp + 0x74], eax
jmp 0x43e1cf
cdq
mov edi, eax
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x70], edi
test byte [edx + ebx*4 + 3], 1
je 0x43e1dd
mov eax, dword [esp + 0x10]
inc dword [eax + 0x64]
test byte [edx + ebx*4 + 3], 2
je 0x43e20e
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edi
mov dword [ecx + 0x20], edi
mov eax, dword [esp + 0x74]
mov dword [ecx + 0x24], eax
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x2c], ecx
test byte [esi + 0x1c], 1
je 0x43e236
mov dword [esi + 4], 0
mov eax, dword [esp + 0x68]
mov dword [eax + 0x18], 0
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x2c], ecx
test byte [edx + ebx*4 + 3], 0x10
je 0x43e242
mov eax, dword [ecx + 0x4c]
jmp 0x43e244
xor eax, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x18], eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43e25f
mov eax, dword [esi + 0x10]
jmp 0x43e261
xor eax, eax
mov dword [esp + 0x7c], eax
mov edx, dword [ecx]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x43e2af
mov eax, dword [ecx + 0x18]
cmp eax, dword [edx + 0x18]
jne 0x43e28b
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x24], 0
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x43e275
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x2c], edx
jmp 0x43e2b7
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x20]
xor edx, edx
movzx eax, byte [eax + ebx*4 + 3]
and eax, 8
push eax
push ecx
push dword [esi + 0x18]
mov ecx, dword [esp + 0x3c]
push dword [esi + 4]
push dword [esp + 0x88]
mov ecx, dword [ecx]
push edi
call fcn.00430780
mov esi, dword [esp + 0x3c]
add esp, 0x1c
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x78]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x78]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x43ec38
cmp dword [esi + 0xbc], eax
je 0x43ec38
mov edi, dword [esp + 0x1c]
cmp dword [edi + ebx*4 + 0x10], eax
je 0x43ec38
mov eax, dword [esp + 0x78]
push dword [esp + 0x74]
push dword [esp + 0x74]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov edx, dword [eax + ecx*8]
mov eax, 0x12
mov dword [esp + 0x8c], edx
mov ecx, dword [edi + ebx*4 + 0x10]
mov dword [esp + 0x90], ecx
test byte [edi + ebx*4 + 3], 4
mov ebx, 0x17
push ecx
cmovne eax, ebx
push edx
push eax
mov dword [esp + 0xa0], eax
push dword [esi + 0xb8]
mov eax, dword [esi + 0xbc]
call eax
mov edi, dword [esp + 0x3c]
add esp, 0x18
mov eax, dword [esp + 0x18]
jmp 0x43d140
mov eax, dword [esp + 0x10]
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x70], ecx
cmp dword [esi + 0xbc], 0
je 0x43e3c9
cmp dword [edx + ebx*4 + 0x10], 0
je 0x43e3c9
mov eax, dword [ecx + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 0x44]
mov dword [esp + 0x6c], eax
call fcn.00437390
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c72
mov esi, dword [esp + 0x70]
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x43e411
nop word [eax + eax]
mov eax, dword [ecx + 0x18]
cmp eax, dword [edx + 0x18]
jne 0x43e406
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x24], 0
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x43e3f0
mov esi, dword [esp + 0x70]
mov ecx, dword [esi]
call fcn.00430990
mov esi, dword [esp + 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x43e472
mov edx, dword [esi + 0xbc]
test edx, edx
je 0x43e472
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x43e46e
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
push 9
push dword [esi + 0xb8]
call edx
add esp, 0x18
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
test byte [ecx + ebx*4 + 8], 1
mov ebx, dword [esp + 0x10]
je 0x43d148
inc dword [ebx + 0x64]
jmp 0x43d148
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x64]
add dword [esi + 0x4c], eax
mov dword [esi + 0x48], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x64], 0
inc eax
jmp 0x43a375
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [esp + 0x6c]
push eax
call fcn.00442ff0
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [esp + 0x6c], 0
je 0x43d140
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
dec edx
jmp 0x43d148
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [edx + ebx*4 + 4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
mov ecx, dword [eax + 0x48]
mov eax, dword [ecx + 0x28]
test eax, eax
je 0x43e53f
mov eax, dword [eax + 4]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [ecx + 0x24]
mov esi, dword [eax + 0x14]
add eax, 0x20
jmp 0x43e545
mov eax, dword [ecx + 0x30]
mov esi, dword [eax + 4]
mov ebx, dword [esp + 0x24]
mov edx, esi
mov edi, dword [eax]
mov ecx, ebx
push 0
call fcn.00433680
add esp, 4
test eax, eax
jne 0x440ca5
mov ax, word [ebx + 0x1c]
mov ecx, 0xbe10
push esi
push edi
mov edi, ebx
mov dword [ebx + 0x18], esi
and ax, cx
or ax, 0x10
mov word [ebx + 0x1c], ax
push dword [edi + 4]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
xor eax, eax
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, dword [edx + ebx*4 + 4]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x24], edi
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
mov eax, dword [ecx]
mov dword [esp + 0x6c], eax
call fcn.00437390
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c76
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
cmp byte [eax + 0x1f], 0
je 0x43e682
cmp byte [ebx + 0x5b], 1
je 0x43e609
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
mov esi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
jmp 0x43e65e
cmp word [ebx + 0x42], 0
jne 0x43e650
movsx eax, word [ebx + 0x5e]
mov edi, dword [ebx + eax*4 + 0x88]
movzx esi, word [ebx + eax*2 + 0x60]
lea eax, [ebx + 0x28]
push eax
mov ecx, dword [edi + 0x40]
movzx edx, byte [ecx + esi*2]
movzx eax, byte [ecx + esi*2 + 1]
mov ecx, edi
shl edx, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x38]
call fcn.0042a1d0
mov edi, dword [esp + 0x28]
add esp, 4
mov byte [ebx + 0x5a], 1
mov ecx, dword [ebx + 0x28]
mov dword [esp + 0x78], ecx
mov esi, dword [ebx + 0x2c]
mov dword [esp + 0x7c], esi
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x50]
cdq
cmp esi, edx
jg 0x440d74
jl 0x43e678
cmp ecx, eax
ja 0x440d74
mov esi, dword [esp + 0x20]
mov dword [esp + 0x70], ecx
jmp 0x43e6dd
cmp word [ebx + 0x42], 0
jne 0x43e6cd
movsx eax, word [ebx + 0x5e]
mov edi, dword [ebx + eax*4 + 0x88]
movzx esi, word [ebx + eax*2 + 0x60]
lea eax, [ebx + 0x28]
push eax
mov ecx, dword [edi + 0x40]
movzx edx, byte [ecx + esi*2]
movzx eax, byte [ecx + esi*2 + 1]
mov ecx, edi
shl edx, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x38]
call fcn.0042a1d0
mov edi, dword [esp + 0x28]
add esp, 4
mov esi, dword [esp + 0x20]
mov byte [ebx + 0x5a], 1
mov ecx, dword [ebx + 0x34]
mov dword [esp + 0x70], ecx
cmp ecx, dword [esi + 0x50]
ja 0x440d78
mov edx, ecx
mov ecx, edi
push 0
call fcn.00433680
add esp, 4
test eax, eax
jne 0x440f27
mov eax, dword [esp + 0x70]
mov ecx, 0xbe10
mov dword [edi + 0x18], eax
mov ax, word [edi + 0x1c]
and ax, cx
or ax, 0x10
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x1f], 0
je 0x43e73c
mov ecx, dword [esp + 0x6c]
xor edx, edx
push 0
push dword [edi + 4]
push dword [esp + 0x78]
call fcn.0042d360
add esp, 0xc
mov dword [esp + 0x18], eax
mov byte [edi + 0x1f], 1
jmp 0x43d13c
mov esi, dword [esp + 0x6c]
mov edi, dword [edi + 4]
mov ebx, dword [esp + 0x70]
mov al, byte [esi + 0x5b]
test al, al
jne 0x43e764
mov edi, dword [esp + 0x24]
mov eax, 4
mov dword [esp + 0x18], eax
mov byte [edi + 0x1f], 1
jmp 0x43d13c
cmp al, 2
jb 0x43e777
mov ecx, esi
call fcn.00429e90
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43e78b
push 0
push edi
push ebx
xor edx, edx
mov ecx, esi
call fcn.0042d360
add esp, 0xc
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x24]
mov byte [edi + 0x1f], 1
jmp 0x43d13c
mov ecx, dword [edx + ebx*4 + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
cmp byte [ecx + 0x1c], 0
je 0x43e7c3
mov eax, 1
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
cmp byte [ecx + 0x1d], 0
je 0x43e7dc
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0x74], eax
jmp 0x43e91e
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x43e87c
mov eax, dword [eax]
lea edx, [esp + 0x70]
mov dword [esp + 0x78], eax
push edx
mov eax, dword [eax]
mov dword [esp + 0x80], eax
push dword [ecx + 0x24]
mov eax, dword [eax + 0x30]
call eax
mov esi, dword [ebx]
add esp, 8
mov edi, dword [esp + 0x78]
mov ecx, esi
mov edx, dword [ebx + 0x34]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], edi
call fcn.0041a2e0
mov ebx, dword [edi + 8]
test ebx, ebx
jne 0x43e829
xor esi, esi
jmp 0x43e85e
cmp byte [ebx], 0
mov eax, ebx
je 0x43e836
inc eax
cmp byte [eax], 0
jne 0x43e830
sub eax, ebx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.0041a540
mov esi, eax
test esi, esi
je 0x43e85a
push edi
push ebx
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
mov dword [ebx + 0x34], esi
push dword [edi + 8]
call fcn.0041a240
add esp, 4
mov dword [edi + 8], 0
jmp 0x43e91a
call fcn.00437390
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c76
mov ebx, dword [esp + 0x68]
cmp byte [ebx + 0x19], al
je 0x43e8aa
mov eax, dword [ebx + 0x40]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x44]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x74], eax
jmp 0x43e91e
mov ebx, dword [ebx]
cmp byte [ebx + 0x5b], 1
je 0x43e8bd
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
jmp 0x43e90e
cmp word [ebx + 0x42], 0
jne 0x43e900
movsx eax, word [ebx + 0x5e]
mov edi, dword [ebx + eax*4 + 0x88]
movzx esi, word [ebx + eax*2 + 0x60]
lea eax, [ebx + 0x28]
push eax
mov ecx, dword [edi + 0x40]
movzx eax, byte [ecx + esi*2]
movzx edx, byte [ecx + esi*2 + 1]
mov ecx, edi
shl eax, 8
or edx, eax
movzx eax, word [edi + 0x12]
and edx, eax
add edx, dword [edi + 0x38]
call fcn.0042a1d0
add esp, 4
mov byte [ebx + 0x5a], 1
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x74], eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x18], 0
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x20]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x18]
jmp 0x43d144
mov ecx, dword [edx + ebx*4 + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
test ecx, ecx
je 0x43e96a
call fcn.00429d60
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
mov esi, dword [ecx]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], 0
test esi, esi
je 0x43e9ef
cmp byte [esi + 0x5b], 1
jne 0x43e9ae
cmp byte [esi + 0x59], 0
je 0x43e9ae
mov dword [esp + 0x18], 0
jmp 0x43e9ef
mov ecx, esi
call fcn.0042d820
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43e9e7
cmp byte [esi + 0x5b], al
jne 0x43e9cc
mov dword [esp + 0x70], 1
jmp 0x43e9e7
mov ecx, esi
mov dword [esp + 0x70], 0
call fcn.0042da60
test eax, eax
mov dword [esp + 0x18], eax
sete al
mov byte [esi + 0x59], al
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x1c]
mov al, byte [esp + 0x70]
mov byte [ecx + 0x1c], al
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
mov eax, dword [edx + ebx*4 + 8]
test eax, eax
jle 0x43d138
cmp dword [esp + 0x70], 0
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
je 0x43b16c
dec eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
jmp 0x43d144
mov eax, dword [esp + 0x10]
inc dword [eax + 0x78]
jmp 0x43ea4b
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], 1
cmp dword [eax + 0x48], 0
je 0x43ea7e
lea ecx, [esp + 0x70]
mov edx, eax
push ecx
mov ecx, esi
call fcn.00442af0
add esp, 4
mov dword [esp + 0x18], eax
jmp 0x43eae3
mov esi, dword [eax]
mov ecx, esi
mov dword [esp + 0x6c], esi
call fcn.0042d820
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43eab5
cmp byte [esi + 0x5b], al
jne 0x43eaa2
mov dword [esp + 0x70], 1
jmp 0x43eab5
mov ecx, esi
mov dword [esp + 0x70], 0
call fcn.0042d9e0
mov dword [esp + 0x18], eax
cmp dword [esp + 0x70], 0
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x20]
sete cl
mov byte [eax + 0x1a], cl
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0x70]
mov byte [eax + 0x1c], cl
cmp dword [esp + 0x70], 0
je case.default.0x43a40e
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
jmp 0x43d140
cmp dword [esi + 0xe0], 0
jne 0x440edf
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
test eax, eax
je case.default.0x43a40e
cmp dword [eax + 0x48], 0
lea ecx, [esp + 0x6c]
push ecx
je 0x43eb4f
mov edx, eax
mov ecx, esi
call fcn.00442ec0
add esp, 4
jmp 0x43eb62
mov dword [esp + 0x70], 1
push dword [eax]
mov eax, dword [edx + ebx*4 + 0x10]
call eax
add esp, 8
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov al, byte [esp + 0x6c]
mov byte [ecx + 0x1c], al
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
cmp dword [esp + 0x6c], 0
jne 0x43ebb4
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + ebx*4 + 8]
dec eax
mov dword [esp + 0x14], eax
mov al, byte [ecx + ebx*4 + 3]
mov ebx, dword [esp + 0x10]
test al, al
je 0x43ebb8
movzx eax, al
inc dword [ebx + eax*4 + 0x70]
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x18]
jmp 0x43d144
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
mov eax, dword [esp + 0x18]
jmp 0x43d144
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
mov eax, dword [edx + ebx*4 + 8]
mov edx, dword [esp + 0x28]
mov edi, dword [ecx]
mov dword [esp + 0x6c], edi
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
test edi, edi
je 0x43d134
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43ec1d
mov ecx, esi
call fcn.00433800
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43c0a2
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
cmp dword [ecx + 0x48], 0
je 0x43ec41
push esi
mov esi, dword [esp + 0x24]
mov edx, ecx
mov ecx, esi
call fcn.00442990
add esp, 4
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x24]
jmp 0x43d140
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x70], edx
mov esi, dword [esi + 4]
mov dword [esp + 0x74], esi
test byte [eax + ebx*4 + 3], 0x10
je 0x43ec5f
mov eax, dword [ecx + 0x4c]
jmp 0x43ec61
xor eax, eax
push eax
mov eax, dword [esp + 0x20]
mov ecx, edi
push dword [eax + ebx*4 + 0xc]
mov eax, edx
push 0
push 0
cdq
push 0x47e551
push edx
push eax
mov edx, esi
call fcn.00430780
mov dword [esp + 0x34], eax
add esp, 0x1c
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
jmp 0x43d134
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
test ecx, ecx
je case.default.0x43a40e
mov eax, dword [eax + 8]
mov dword [esp + 0x78], eax
mov ax, word [edx + ebx*4 + 0xc]
mov word [esp + 0x7c], ax
mov byte [esp + 0x7e], 0
mov eax, dword [edx + ebx*4 + 8]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x88], eax
lea edx, [esp + 0x78]
lea eax, [esp + 0x70]
push eax
push 0
push 0
push 0
call fcn.0042daf0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43ed15
cmp dword [esp + 0x70], eax
jne 0x43ed15
mov ecx, dword [esp + 0x6c]
call fcn.00430990
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x18]
jmp 0x43d140
mov ecx, dword [edx + ebx*4 + 4]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x6c], eax
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov eax, 1
mov word [edi + 0x1c], ax
cmp dword [esp + 0x68], 0
je 0x43e96a
mov ecx, dword [esp + 0x6c]
call fcn.00437390
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c76
mov eax, dword [esp + 0x6c]
cmp byte [eax + 0x1c], 0
jne 0x43e966
mov edx, dword [esp + 0x68]
lea eax, [esp + 0x70]
push eax
call fcn.00437c50
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x440c76
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 0x14], eax
mov eax, 4
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x68], ecx
cmp dword [ecx], 0
je case.default.0x43a40e
mov eax, dword [ecx + 8]
mov dword [esp + 0x70], eax
mov ax, word [edx + ebx*4 + 0x10]
mov word [esp + 0x74], ax
cmp byte [edx + ebx*4 + 3], 0
setne al
add al, 2
mov byte [esp + 0x76], al
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x80], eax
lea edx, [esp + 0x70]
lea eax, [esp + 0x6c]
push eax
call fcn.00437e10
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
cmp byte [ecx + ebx*4], 0x64
jne 0x43ee30
neg eax
jmp 0x43ee31
inc eax
mov dword [esp + 0x6c], eax
test eax, eax
jle case.default.0x43a40e
mov eax, dword [ecx + ebx*4 + 8]
dec eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
jmp 0x43d140
xor edx, edx
mov dword [esp + 0x6c], edx
mov ecx, dword [esi + 4]
mov dword [esp + 0x70], ecx
test ecx, ecx
je 0x43ee88
cmp dword [ecx + 0x30], 0xbdf20da3
jne 0x43ee7d
mov eax, dword [ecx + 0x60]
and al, 0xc
cmp al, 8
jae 0x43ee7d
cmp dword [ecx + 0x54], 0
jl 0x43ee7d
inc edx
mov dword [esp + 0x6c], edx
mov ecx, dword [ecx + 0x3c]
mov dword [esp + 0x70], ecx
test ecx, ecx
jne 0x43ee60
mov eax, 1
mov word [edi + 0x1c], ax
cmp dword [esp + 0x6c], eax
jg 0x440cee
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + ebx*4 + 0xc]
mov dword [esp + 0x74], ecx
add ecx, ecx
mov esi, dword [eax + ebx*4 + 4]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov edi, dword [eax + ecx*8 + 4]
mov ecx, edi
call fcn.004298d0
lea eax, [esp + 0x68]
mov edx, esi
push eax
mov ecx, edi
call fcn.004310b0
add esp, 4
mov dword [esp + 0x18], eax
cmp byte [edi + 9], 0
je 0x43eef8
add dword [edi + 0xc], 0xffffffff
jne 0x43eef8
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x43eef4
push eax
call dword [0x491ce0]
add esp, 4
mov byte [edi + 0xa], 0
mov edi, dword [esp + 0x24]
mov eax, 4
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x68]
cdq
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [edi + 0x14], edx
test eax, eax
jne 0x43d13c
mov edx, dword [esp + 0x68]
test edx, edx
je 0x43d13c
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x74]
shl edi, 4
mov esi, dword [eax + ebx*4 + 4]
mov eax, dword [esp + 0x20]
add edi, dword [eax + 0x10]
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x43ef59
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x20], edx
jne 0x43ef53
mov dword [ecx + 0x20], esi
mov eax, dword [eax]
test eax, eax
jne 0x43ef48
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x43ef74
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x28], edx
jne 0x43ef6e
mov dword [ecx + 0x28], esi
mov eax, dword [eax]
test eax, eax
jne 0x43ef63
mov al, byte [esp + 0x74]
inc al
mov byte [esp + 0x43], al
jmp 0x43d134
mov dword [esp + 0x68], 0
lea eax, [esp + 0x68]
xor ecx, ecx
cmp dword [edx + ebx*4 + 0xc], ecx
cmove eax, ecx
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [edx + ebx*4 + 8]
mov edx, dword [edx + ebx*4 + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00431000
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [ecx + ebx*4 + 0xc], 0
je 0x43d140
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x68]
add dword [edx + 0x64], eax
mov ecx, dword [ecx + ebx*4 + 0xc]
test ecx, ecx
jle case.default.0x43a40e
mov ebx, dword [esp + 0x28]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8 + 0x10], eax
mov eax, dword [esp + 0x18]
adc dword [ebx + ecx*8 + 0x14], edx
jmp 0x43d140
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x68], 0
mov eax, dword [edx + ebx*4 + 4]
xor ebx, ebx
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [esp + 0x70], eax
cmp byte [edx + ecx*4], 0x69
setne bl
inc ebx
mov dword [esp + 0x6c], ebx
mov esi, dword [eax + 4]
mov ecx, esi
call fcn.004298d0
push ebx
lea edx, [esp + 0x6c]
mov ecx, esi
call fcn.00430bf0
add esp, 4
mov dword [esp + 0x18], eax
cmp byte [esi + 9], 0
je 0x43f05e
add dword [esi + 0xc], 0xffffffff
jne 0x43f05e
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x43f05a
push eax
call dword [0x491ce0]
add esp, 4
mov byte [esi + 0xa], 0
mov eax, dword [esp + 0x68]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x43d138
mov edx, dword [edx + ebx*4 + 4]
mov eax, str.sqlite_master
cmp edx, 1
mov dword [esp + 0x68], edx
mov ecx, str.sqlite_temp_master
mov dword [esp + 0x74], esi
cmovne ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x6c], ecx
add edx, edx
mov eax, dword [eax + ebx*4 + 4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x10]
add eax, 0x34
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1c]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [esi + 0x10]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.0041b9b0
add esp, 0x14
mov dword [esp + 0x70], eax
test eax, eax
jne 0x43f0d6
mov dword [esp + 0x18], 7
jmp 0x43f12c
push 0
lea eax, [esp + 0x78]
mov byte [esi + 0x81], 1
push eax
push fcn.0045e0b0
push dword [esp + 0x7c]
mov dword [esp + 0x90], 0
push esi
call fcn.0045b350
mov edx, dword [esp + 0x84]
add esp, 0x14
test eax, eax
mov ecx, esi
cmove eax, dword [esp + 0x80]
mov dword [esp + 0x18], eax
call fcn.0041a2e0
mov eax, dword [esp + 0x18]
mov byte [esi + 0x81], 0
test eax, eax
je 0x43f137
mov ecx, esi
call fcn.0044d8d0
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
cmp eax, 7
je 0x440f2b
jmp 0x43d144
mov edx, dword [edx + ebx*4 + 4]
mov ecx, esi
call fcn.0044c0c0
mov dword [esp + 0x18], eax
jmp 0x43d140
mov eax, dword [esp + 0x1c]
mov edx, dword [edx + ebx*4 + 0x10]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, edx
shl ecx, 4
add ecx, dword [esi + 0x10]
test edx, edx
je 0x43f18d
cmp byte [edx], 0
je 0x43f186
nop word [eax + eax]
inc eax
cmp byte [eax], 0
jne 0x43f180
sub eax, edx
and eax, 0x3fffffff
mov ecx, dword [ecx + 0xc]
push 0
push eax
add ecx, 8
call fcn.0041d960
add esp, 8
mov edx, eax
mov ecx, esi
call fcn.0044d9c0
mov eax, dword [esp + 0x14]
or dword [esi + 0x18], 2
inc eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
push dword [edx + ebx*4 + 0x10]
mov edx, dword [edx + ebx*4 + 4]
mov ecx, esi
call fcn.0044d740
mov eax, dword [esp + 0x18]
add esp, 4
mov edx, dword [esp + 0x1c]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
push dword [edx + ebx*4 + 0x10]
mov edx, dword [edx + ebx*4 + 4]
mov ecx, esi
call fcn.00467890
mov eax, dword [esp + 0x18]
add esp, 4
mov edx, dword [esp + 0x1c]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov edx, dword [edx + ebx*4 + 8]
mov ecx, esi
mov dword [esp + 0x68], edx
lea edx, [edx*4 + 4]
call fcn.0041a540
mov edx, eax
mov dword [esp + 0x6c], edx
test edx, edx
je 0x440f27
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
mov ecx, dword [eax + ebx*4 + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax + ebx*4 + 4]
lea eax, [ecx + ecx*4]
lea esi, [esi + eax*8]
xor eax, eax
mov dword [esp + 0x70], eax
cmp dword [esp + 0x68], eax
jle 0x43f27e
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.00433ab0
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
cmp eax, dword [esp + 0x68]
jl 0x43f255
mov edx, dword [esp + 0x6c]
mov dword [edx + eax*4], 0
lea eax, [esp + 0x74]
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x80]
push dword [eax + 0x10]
mov eax, dword [esp + 0x24]
push dword [esp + 0x70]
movzx eax, byte [eax + ebx*4 + 3]
mov ebx, dword [esp + 0x2c]
add eax, eax
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004320e0
mov edx, dword [esp + 0x78]
add esp, 0xc
mov ecx, ebx
mov dword [esp + 0x78], eax
call fcn.0041a2e0
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x74]
cdq
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
mov ecx, esi
call fcn.00433d30
cmp dword [esp + 0x74], 0
je 0x43f305
mov edx, dword [esp + 0x78]
test edx, edx
je 0x440f21
push fcn.0041a240
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.00434060
add esp, 0xc
movzx edx, byte [esp + 0x34]
mov ecx, esi
call fcn.00433660
mov eax, dword [esp + 0x14]
mov esi, ebx
mov edx, dword [esp + 0x1c]
inc eax
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea edi, [eax + eax*4]
jne 0x43f352
mov ecx, esi
call fcn.00433eb0
test byte [esi + 0x1c], 0x20
je 0x440f1b
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 0x14]
push dword [eax + edi*8 + 0x10]
call fcn.00422260
add esp, 8
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
inc eax
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
cmp dword [esi + 0xe0], 0
jne 0x440edf
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea edi, [ecx + eax*8]
je 0x43f42a
mov esi, dword [edi + 0x10]
mov al, byte [esi + 0x1a]
test al, 2
jne 0x43f3c6
test al, 1
jne 0x43f3c2
mov ecx, dword [esi + 8]
call fcn.00422390
mov dword [esi + 8], eax
or byte [esi + 0x1a], 2
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x43f42a
mov eax, dword [ecx]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
test eax, eax
jne 0x43f3ee
mov ecx, esi
call fcn.00422220
mov eax, dword [esp + 0x1c]
push dword [esp + 0x6c]
mov ecx, dword [esp + 0x2c]
push dword [esp + 0x6c]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00433d80
mov eax, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x1c]
inc eax
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov ecx, edi
call fcn.00433d30
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
dec eax
inc eax
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [esp + 0x68], eax
test byte [esi + 0x1c], 0x20
jne 0x43f488
mov ecx, esi
call fcn.00433eb0
test byte [esi + 0x1c], 0x20
je 0x440f1b
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x28]
test eax, eax
je 0x43f4d4
js 0x43f493
and eax, 0xf
jmp 0x43f498
mov eax, 0xff
push dword [ecx + edi*8 + 0x14]
mov dl, al
push dword [ecx + edi*8 + 0x10]
mov ecx, dword [esi + 0x10]
call fcn.004225c0
add esp, 8
mov dword [esp + 0x6c], eax
test eax, eax
je 0x43f4ce
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov eax, dword [esp + 0x68]
test eax, eax
js 0x43f369
jmp 0x43f352
mov ecx, dword [esp + 0x1c]
mov edx, dword [edx + ebx*4 + 0x10]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x80], edx
mov eax, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [esp + 0x70], esi
cmp byte [ecx + ebx*4 + 3], 0
mov ebx, dword [esp + 0x10]
je 0x43f537
mov eax, dword [ebx + 0xa0]
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], eax
test eax, eax
je 0x43f537
cmp dword [eax + 0x18], ecx
je 0x43f68b
mov eax, dword [eax + 4]
mov dword [esp + 0x7c], eax
test eax, eax
jne 0x43f523
mov ecx, dword [esp + 0x20]
mov eax, dword [ebx + 0xa8]
cmp eax, dword [ecx + 0x78]
jge 0x440d09
test byte [esi + 0x1c], 0x40
jne 0x43f699
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x68], eax
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*2]
mov eax, dword [edx + 0x10]
lea ecx, [ecx + 0x12]
lea edx, [eax + ecx*4]
mov ecx, esi
mov dword [esp + 0x6c], edx
call fcn.0041a510
mov dword [esp + 0x7c], eax
test eax, eax
je 0x440f2b
mov ecx, dword [esp + 0x70]
call fcn.00433a70
mov eax, dword [esp + 0x70]
mov ecx, 0x40
mov edx, dword [esp + 0x14]
mov word [eax + 0x1c], cx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x7c]
mov dword [eax], ebx
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x3c], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x40], ecx
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x2c], edx
mov eax, dword [esp + 0x7c]
mov ecx, dword [ebx + 8]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [ebx + 0x18]
mov dword [eax + 0x34], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [ebx + 0x40]
mov dword [eax + 0x14], ecx
mov eax, dword [esp + 0x7c]
mov cx, word [ebx + 0x2e]
mov word [eax + 0x28], cx
mov eax, dword [esp + 0x7c]
mov ecx, dword [ebx + 4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [ebx + 0x1c]
mov dword [eax + 0x30], ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x14]
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x18], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [ebx + 0xb8]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [ebx + 0xb4]
mov dword [eax + 0x38], ecx
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 0x3c]
lea ecx, [edx + 0x48]
mov dword [esp + 0x74], ecx
lea eax, [eax + eax*4]
lea eax, [eax + 9]
lea eax, [edx + eax*8]
mov dword [esp + 0x78], eax
cmp ecx, eax
je 0x43f6a2
mov edi, 0x80
mov word [ecx + 0x1c], di
mov eax, dword [esp + 0x74]
mov dword [eax], esi
mov ecx, dword [esp + 0x74]
add ecx, 0x28
mov dword [esp + 0x74], ecx
cmp ecx, dword [esp + 0x78]
jne 0x43f666
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x7c]
jmp 0x43f6a2
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
inc eax
jmp 0x43a371
mov edx, dword [esi + 0x10]
mov esi, ecx
mov dword [esp + 0x7c], edx
inc dword [ebx + 0xa8]
mov eax, dword [ebx + 0xa0]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x24], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [ebx + 0x64]
mov dword [eax + 0x44], ecx
mov ecx, dword [esp + 0x7c]
mov dword [ebx + 0xa0], ecx
mov dword [ebx + 0x64], 0
lea edx, [ecx + 0x20]
mov dword [ebx + 8], edx
mov eax, dword [ecx + 0x3c]
mov dword [ebx + 0x18], eax
mov ax, word [ecx + 0x40]
mov word [ebx + 0x2e], ax
mov eax, dword [ebx + 0x18]
inc eax
mov dword [esp + 0x28], edx
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov edx, dword [esp + 0x80]
mov dword [ebx + 0x40], ecx
mov eax, dword [edx]
mov dword [esp + 0x1c], eax
mov dword [ebx + 4], eax
mov eax, dword [edx + 4]
mov dword [ebx + 0x1c], eax
movzx eax, word [ebx + 0x2e]
lea ecx, [ecx + eax*4]
mov dword [ebx + 0xb8], ecx
mov eax, dword [edx + 0x10]
push eax
push 0
push ecx
mov dword [ebx + 0xb4], eax
call sub.VCRUNTIME140.dll_memset
or eax, 0xffffffff
add esp, 0xc
inc eax
jmp 0x43a371
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xa0]
mov dword [esp + 0x68], edx
mov eax, dword [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [esp + 0x1c]
add eax, dword [ecx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edx, [eax + ecx*8]
mov dword [esp + 0x6c], edx
jmp 0x43a8d2
mov eax, dword [edx + ebx*4 + 8]
cmp dword [edx + ebx*4 + 4], 0
cdq
je 0x43f7a3
add dword [esi + 0x1e8], eax
mov eax, dword [esp + 0x14]
adc dword [esi + 0x1ec], edx
inc eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov ebx, dword [esp + 0x10]
add dword [ebx + 0x88], eax
mov eax, dword [esp + 0x14]
adc dword [ebx + 0x8c], edx
inc eax
jmp 0x43a371
cmp dword [edx + ebx*4 + 4], 0
je 0x43f7e5
mov eax, dword [esi + 0x1e8]
or eax, dword [esi + 0x1ec]
jne 0x43e595
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
dec eax
inc eax
jmp 0x43a375
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x88]
or eax, dword [ecx + 0x8c]
jne 0x43f804
mov eax, dword [edx + ebx*4 + 8]
mov ebx, ecx
dec eax
inc eax
jmp 0x43a375
mov eax, dword [esp + 0x14]
mov ebx, ecx
inc eax
jmp 0x43a375
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xa0]
test edx, edx
je 0x43f850
mov dword [esp + 0x6c], edx
mov eax, dword [edx + 4]
test eax, eax
je 0x43f83d
nop dword [eax]
mov edx, eax
mov dword [esp + 0x6c], edx
mov eax, dword [edx + 4]
test eax, eax
jne 0x43f830
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea esi, [eax + ecx*8]
jmp 0x43f862
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
mov dword [esp + 0x68], esi
call fcn.00433ab0
mov dword [esi + 0x10], eax
mov ecx, 0xbe04
movzx eax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
mov ecx, dword [esp + 0x28]
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00433ab0
mov dword [esi + 0x10], eax
mov ecx, 0xbe04
movzx eax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 0x14], edx
mov ecx, dword [esi + 0x10]
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x14], edx
jg 0x43e58d
jl 0x43f8d5
cmp dword [eax + 0x10], ecx
jae 0x43e58d
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
inc eax
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jl 0x43e595
jg 0x43f914
cmp dword [ecx + eax*8 + 0x10], 0
jbe 0x43e595
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
dec eax
inc eax
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jg 0x43e595
jl 0x43f914
cmp dword [ecx + eax*8 + 0x10], 0
jae 0x43e595
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
dec eax
inc eax
jmp 0x43a375
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [esp + 0x28]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ebx*4 + 0xc]
cdq
add dword [edi + ecx*8 + 0x10], eax
mov eax, edi
adc dword [eax + ecx*8 + 0x14], edx
mov edx, edi
mov eax, dword [eax + ecx*8 + 0x10]
mov edi, dword [esp + 0x24]
or eax, dword [edx + ecx*8 + 0x14]
mov edx, dword [esp + 0x1c]
jne 0x43e595
mov eax, dword [edx + ebx*4 + 8]
mov ebx, dword [esp + 0x10]
dec eax
inc eax
jmp 0x43a375
movzx ecx, byte [edx + ebx*4 + 3]
mov dword [esp + 0x68], ecx
mov eax, dword [edx + ebx*4 + 8]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x74], edx
mov esi, dword [eax + 0xc]
xor eax, eax
mov dword [esp + 0xb8], esi
mov dword [esp + 0x6c], eax
test ecx, ecx
jle 0x43f9ff
nop dword [eax]
mov dword [esi + eax*4], edx
mov ecx, dword [esp + 0x74]
call fcn.0043a030
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x74]
inc eax
add edx, 0x28
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], edx
cmp eax, dword [esp + 0x68]
jge 0x43f9ff
mov esi, dword [esp + 0xb8]
jmp 0x43f9d0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [esp + 0x78], eax
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x70], eax
mov dword [esp + 0xa8], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [esp + 0x78]
mov word [esp + 0x9c], ax
mov dword [esp + 0x84], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x80], esi
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb4], 0
test byte [ecx + 3], 8
je 0x43fa96
mov eax, dword [edx + ebx*4 - 4]
mov dword [esp + 0xac], eax
push dword [esp + 0xb8]
lea eax, [esp + 0x7c]
push dword [esp + 0x6c]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [esp + 0xb0], 0
je 0x43fae8
mov dl, 1
lea ecx, [esp + 0x80]
call fcn.00434720
push eax
mov eax, dword [esp + 0x14]
push 0x487d68
add eax, 0x34
push esi
push eax
call fcn.0041a6e0
mov eax, dword [esp + 0xc0]
add esp, 0x10
mov dword [esp + 0x18], eax
cmp dword [esp + 0xb4], 0
je 0x43fb18
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4 - 0x10]
mov dword [esp + 0x6c], eax
test eax, eax
je 0x43fb18
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.00433d80
add esp, 8
lea ecx, [esp + 0x80]
call fcn.00433a70
mov eax, dword [esp + 0x18]
jmp 0x43d140
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x68], ecx
mov edx, dword [edx + ebx*4 + 0x10]
call fcn.00433960
mov dword [esp + 0x18], eax
test eax, eax
je 0x43fb74
mov ecx, dword [esp + 0x68]
mov dl, 1
call fcn.00434720
mov ebx, dword [esp + 0x10]
push eax
push 0x487d68
push esi
lea eax, [ebx + 0x34]
push eax
call fcn.0041a6e0
add esp, 0x10
jmp 0x43fb78
mov ebx, dword [esp + 0x10]
movzx edx, byte [esp + 0x34]
mov ecx, dword [esp + 0x68]
call fcn.00433660
mov eax, dword [esp + 0x68]
movzx ecx, word [eax + 0x1c]
test cl, 0x12
je 0x43b16c
mov edx, dword [eax + 0x18]
test ecx, 0x4000
je 0x43fba5
add edx, dword [eax + 0x10]
mov eax, dword [eax]
jmp 0x43b15c
lea eax, [esp + 0x74]
mov dword [esp + 0x6c], 0
push eax
lea eax, [esp + 0x74]
mov dword [esp + 0x78], 0xffffffff
mov dword [esp + 0x74], 0xffffffff
mov ecx, esi
push eax
push dword [edx + ebx*4 + 8]
mov edx, dword [edx + ebx*4 + 4]
call fcn.00476f30
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
cmp edx, 5
jne 0x43fbfb
mov dword [esp + 0x18], 0
mov dword [esp + 0x6c], 1
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov edx, dword [esp + 0x28]
mov dword [esp + 0x68], eax
mov ecx, dword [ecx + ebx*4 + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x78], ecx
mov eax, dword [esp + eax*4 + 0x6c]
cdq
push edx
push eax
call fcn.00433d80
mov eax, dword [esp + 0x70]
add esp, 8
mov ecx, dword [esp + 0x78]
inc eax
add ecx, 0x28
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], ecx
cmp eax, 3
jl 0x43fc17
mov eax, dword [esp + 0x18]
jmp 0x43d140
mov esi, dword [edx + ebx*4 + 0xc]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x70], esi
mov ecx, dword [edx + ebx*4 + 4]
add ecx, ecx
cmp esi, 0xffffffff
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x68], eax
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov dword [esp + 0x6c], edi
movzx edx, byte [edi + 5]
cmove esi, edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], esi
cmp byte [edi + 0xf], 3
jae 0x43fca0
mov eax, dword [edi + 0x40]
cmp dword [eax], 0
je 0x43fca6
cmp dword [edi + 0x4c], 0
jl 0x43fca6
jg 0x43fca0
cmp dword [edi + 0x48], 0
jbe 0x43fca6
mov esi, edx
mov dword [esp + 0x70], esi
cmp byte [edi + 0xe], 0
mov ecx, 0x47e551
jne 0x43fcb7
mov ecx, dword [edi + 0x90]
mov dword [esp + 0x78], ecx
cmp esi, 5
jne 0x43fcea
call fcn.0041c470
test eax, eax
je 0x43fcdf
cmp byte [edi + 4], 0
mov eax, dword [edi + 0x3c]
mov eax, dword [eax]
jne 0x43fcea
cmp dword [eax], 2
jl 0x43fcdf
cmp dword [eax + 0x34], 0
jne 0x43fcea
mov esi, edx
mov dword [esp + 0x70], esi
jmp 0x43fd8d
cmp esi, edx
je 0x43fd8d
cmp edx, 5
je 0x43fd00
cmp esi, 5
jne 0x43fd8d
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x36], 0
je 0x440d33
cmp dword [eax + 0x84], 1
jg 0x440d33
cmp edx, 5
jne 0x43fd46
mov ecx, edi
call fcn.004270d0
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43fd7b
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
call fcn.00426e80
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x68]
jmp 0x43fd65
cmp edx, 4
jne 0x43fd61
mov edx, 2
mov ecx, edi
call fcn.00426e80
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x68]
jmp 0x43fd65
mov ecx, dword [esp + 0x2c]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.004328a0
mov dword [esp + 0x18], eax
test eax, eax
je 0x43fd85
mov esi, dword [esp + 0x74]
mov dword [esp + 0x70], esi
jmp 0x43fd89
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
mov edx, esi
mov ecx, edi
call fcn.00426e80
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, 0xa02
mov word [edi + 0x1c], ax
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x24], edi
cmp ecx, 6
jne 0x43fdc6
xor ecx, ecx
jmp 0x43fdcd
mov ecx, dword [ecx*4 + 0x482a90]
mov dword [edi + 4], ecx
call fcn.0041c470
movzx edx, byte [esp + 0x34]
mov ecx, edi
mov dword [edi + 0x18], eax
mov byte [edi + 0x1f], 1
call fcn.00433660
jmp 0x43d138
mov ebx, dword [esp + 0x10]
mov edx, esi
lea ecx, [ebx + 0x34]
call fcn.00469f40
mov dword [esp + 0x18], eax
jmp 0x43d144
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x68], ecx
call fcn.0042c810
mov dword [esp + 0x18], eax
cmp eax, 0x65
jne 0x43d140
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x43d140
cmp dword [edx + ebx*4 + 4], 0
jne 0x43fe5b
mov ecx, esi
call fcn.00437f30
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
inc eax
jmp 0x43a375
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
or dword [ebx + 0x60], 0x20
inc eax
jmp 0x43a375
mov al, byte [edx + ebx*4 + 0xc]
mov byte [esp + 0x64], al
test al, al
jne 0x43fe86
test dword [esi + 0x18], 0x800
jne case.default.0x43a40e
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [esi + 0x10]
add eax, eax
push dword [esp + 0x64]
mov edx, dword [edx + ebx*4 + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00432740
add esp, 4
mov dword [esp + 0x18], eax
cmp al, 6
jne 0x43d140
mov eax, dword [esp + 0x1c]
push dword [eax + ebx*4 + 0x10]
mov ebx, dword [esp + 0x14]
push str.database_table_is_locked:__s
push esi
lea eax, [ebx + 0x34]
push eax
call fcn.0041a6e0
mov eax, dword [esp + 0x28]
add esp, 0x10
jmp 0x43d144
mov edx, dword [edx + ebx*4 + 0x10]
mov ecx, esi
mov dword [esp + 0x68], edx
call fcn.0046b2c0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
test eax, eax
je case.default.0x43a40e
mov edi, dword [eax + 8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], edi
mov esi, dword [eax]
mov ecx, esi
mov edx, dword [eax + 0x34]
call fcn.0041a2e0
mov ebx, dword [edi + 8]
test ebx, ebx
jne 0x43ff17
xor esi, esi
jmp 0x43ff4e
cmp byte [ebx], 0
mov eax, ebx
je 0x43ff26
nop
inc eax
cmp byte [eax], 0
jne 0x43ff20
sub eax, ebx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.0041a540
mov esi, eax
test esi, esi
je 0x43ff4a
push edi
push ebx
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
mov dword [ebx + 0x34], esi
push dword [edi + 8]
call fcn.0041a240
add esp, 4
mov dword [edi + 8], 0
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
jmp 0x43d144
mov eax, dword [esp + 0x10]
mov ecx, esi
add eax, 0x34
push eax
push dword [edx + ebx*4 + 0x10]
mov edx, dword [edx + ebx*4 + 4]
call fcn.0046ad90
add esp, 8
mov dword [esp + 0x18], eax
jmp 0x43d140
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x60]
and eax, 0xfffffffb
or eax, 8
mov dword [ecx + 0x60], eax
mov ecx, esi
push dword [edx + ebx*4 + 0x10]
mov edx, dword [edx + ebx*4 + 4]
call fcn.0046b0a0
mov ebx, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x18], eax
and dword [ebx + 0x60], 0xfffffff3
jmp 0x43d144
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov eax, dword [edx + ebx*4 + 0x10]
lea edx, [esp + 0x6c]
push edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x74], ecx
push ecx
mov eax, dword [ecx]
mov dword [esp + 0x7c], eax
mov eax, dword [eax + 0x18]
call eax
mov edi, dword [esp + 0x78]
add esp, 8
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], edi
mov esi, dword [eax]
mov ecx, esi
mov edx, dword [eax + 0x34]
call fcn.0041a2e0
mov ecx, dword [edi + 8]
mov dword [esp + 0x2c], ecx
test ecx, ecx
jne 0x440028
xor esi, esi
jmp 0x440061
cmp byte [ecx], 0
mov eax, ecx
je 0x440036
nop
inc eax
cmp byte [eax], 0
jne 0x440030
sub eax, ecx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.0041a540
mov esi, eax
test esi, esi
je 0x44005d
push edi
push dword [esp + 0x30]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x34], esi
push dword [edi + 8]
call fcn.0041a240
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [edi + 8], 0
test eax, eax
jne 0x43c0a2
mov eax, dword [esp + 0x6c]
xor esi, esi
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x10]
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + ebx*4 + 4]
mov eax, dword [edx + 0x18]
sub eax, ebx
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
lea eax, [eax + ecx*8]
mov dword [esp + 0x2c], eax
mov eax, dword [edx + 0x40]
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x440113
mov eax, dword [esp + 0x10]
mov edx, edi
mov ecx, dword [eax]
call fcn.00442420
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x4400d5
call fcn.0042b660
jmp 0x4400e0
mov ecx, dword [edi]
test ecx, ecx
je 0x4400e0
call fcn.0042d0a0
mov edx, dword [edi + 0x24]
test edx, edx
je 0x440109
mov ecx, dword [edi + 0x28]
mov edi, dword [esp + 0x10]
push edx
mov eax, dword [edi + 0x60]
and eax, 0xfffffff7
or eax, 4
mov dword [edi + 0x60], eax
mov eax, dword [ecx + 0x1c]
call eax
add esp, 4
and dword [edi + 0x60], 0xfffffff3
jmp 0x44010d
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x40]
mov dword [eax + ebx*4], esi
mov edi, dword [esp + 0x2c]
mov edx, 0x68
push 0
mov ecx, edi
call fcn.00433680
add esp, 4
test eax, eax
jne 0x440154
mov eax, dword [esp + 0x10]
mov esi, dword [edi + 4]
push 0x68
push 0
mov eax, dword [eax + 0x40]
push esi
mov dword [eax + ebx*4], esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esi + 0xc], 0xffffffff
mov dword [esi + 0x14], 0
mov dword [esp + 0x68], esi
test esi, esi
je 0x440188
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x20]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [esp + 0x68]
mov dword [eax + 0x28], ecx
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a371
mov esi, dword [esp + 0x20]
mov byte [esi + 0x38], 1
mov eax, dword [esp + 0x74]
push dword [esp + 0x6c]
mov eax, dword [eax + 0x1c]
call eax
mov edi, dword [esp + 0x28]
add esp, 4
mov eax, dword [esp + 0x18]
jmp 0x43d140
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x74], edx
lea esi, [edx + 0x28]
mov dword [esp + 0x78], esi
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esp + 0x84], eax
mov eax, dword [eax + 0x24]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x18], eax
mov eax, dword [eax]
mov dword [esp + 0x80], eax
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esi + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x68], edi
mov eax, dword [edx + 0x10]
mov dword [esp + 0x30], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x90], edx
test edi, edi
jle 0x440291
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov ecx, dword [ecx + eax*4]
call fcn.0043a030
mov ecx, dword [esp + 0x8c]
mov edi, dword [esp + 0x68]
inc ecx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x8c], ecx
cmp ecx, edi
jge 0x44027b
mov esi, dword [esp + 0x78]
jmp 0x440235
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
jmp 0x440299
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
mov eax, dword [eax + 0x60]
mov ebx, dword [esp + 0x10]
and eax, 0xfffffff7
or eax, 4
push edx
push edi
mov dword [ebx + 0x60], eax
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [esi + 0x20]
push dword [esp + 0x3c]
push ecx
call eax
mov edi, dword [esp + 0x94]
add esp, 0x14
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], edi
mov esi, dword [eax]
mov ecx, esi
mov edx, dword [eax + 0x34]
and dword [eax + 0x60], 0xfffffff3
call fcn.0041a2e0
mov ecx, dword [edi + 8]
mov dword [esp + 0x38], ecx
test ecx, ecx
jne 0x4402f6
xor esi, esi
jmp 0x440331
cmp byte [ecx], 0
mov eax, ecx
je 0x440306
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x440300
sub eax, ecx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.0041a540
mov esi, eax
test esi, esi
je 0x44032d
push edi
push dword [esp + 0x3c]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x34], esi
push dword [edi + 8]
call fcn.0041a240
add esp, 4
mov dword [edi + 8], 0
cmp dword [esp + 0x18], 0
jne 0x44036a
mov eax, dword [esp + 0x70]
push dword [esp + 0x7c]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [esp + 0x88], eax
jmp 0x440371
mov eax, dword [esp + 0x88]
test eax, eax
je 0x440382
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x84]
mov byte [eax + 0x1c], 0
jmp 0x43d134
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x70], ecx
cmp byte [edi + 0x1c], 0
je 0x4403d3
call fcn.00433d30
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
inc eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x43a375
mov eax, dword [edi + 0x24]
push 0x40
push 0
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x80]
push eax
call sub.VCRUNTIME140.dll_memset
mov esi, dword [esp + 0x7c]
add esp, 0xc
test dword [esp + 0x9c], 0x2460
je 0x440413
lea ecx, [esp + 0x80]
call fcn.00433a10
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x80]
call fcn.0041a2e0
mov dword [esp + 0x84], 0
mov eax, 1
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
movups xmm0, xmmword [esi]
movups xmmword [esp + 0x80], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [esp + 0x90], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [esp + 0xa0], xmm0
mov word [esi + 0x1c], ax
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov eax, dword [esp + 0x9c]
and eax, 0xbe01
or eax, 1
mov word [esp + 0x9c], ax
mov eax, dword [esp + 0x1c]
push dword [eax + ebx*4 + 8]
lea eax, [esp + 0x7c]
push eax
mov eax, dword [esp + 0x74]
push dword [edi + 0x24]
mov eax, dword [eax + 0x2c]
call eax
mov edi, dword [esp + 0x74]
add esp, 0xc
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], edi
mov esi, dword [eax]
mov ecx, esi
mov edx, dword [eax + 0x34]
call fcn.0041a2e0
mov ebx, dword [edi + 8]
test ebx, ebx
jne 0x4404dd
xor esi, esi
jmp 0x440512
cmp byte [ebx], 0
mov eax, ebx
je 0x4404ea
inc eax
cmp byte [eax], 0
jne 0x4404e4
sub eax, ebx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.0041a540
mov esi, eax
test esi, esi
je 0x44050e
push edi
push ebx
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x10]
mov dword [ebx + 0x34], esi
push dword [edi + 8]
call fcn.0041a240
mov ecx, dword [esp + 0x1c]
add esp, 4
movzx edx, byte [esp + 0x34]
mov dword [edi + 8], 0
mov eax, dword [esp + 0xb0]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x80]
call fcn.00433660
mov esi, dword [esp + 0x70]
mov eax, 0x2460
test word [esi + 0x1c], ax
je 0x440566
mov ecx, esi
call fcn.00433a10
mov edx, dword [esi + 0x24]
mov ecx, dword [esi]
call fcn.0041a2e0
mov dword [esi + 4], 0
mov eax, 1
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
movups xmm0, xmmword [esp + 0x80]
movups xmmword [esi], xmm0
movups xmm0, xmmword [esp + 0x90]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [esp + 0xa0]
movq qword [esi + 0x20], xmm0
mov word [esp + 0x9c], ax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
movzx ecx, word [eax + 0x1c]
test cl, 0x12
je 0x43ff67
mov edx, dword [eax + 0x18]
test ecx, 0x4000
je 0x4405ec
add edx, dword [eax + 0x10]
mov eax, dword [eax]
xor ecx, ecx
mov esi, dword [esp + 0x20]
cmp edx, dword [eax + 0x50]
setg cl
test ecx, ecx
jne 0x440d7c
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
jmp 0x43d144
mov eax, dword [esp + 0x10]
mov dword [esp + 0x70], 0
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x74], edx
cmp byte [edx + 0x1c], 0
jne case.default.0x43a40e
mov eax, dword [edx + 0x24]
mov esi, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov ecx, dword [eax]
mov eax, dword [esi + 0x60]
and eax, 0xfffffff7
mov dword [esp + 0x6c], ecx
or eax, 4
mov dword [esi + 0x60], eax
push dword [edx + 0x24]
mov eax, dword [ecx + 0x24]
call eax
and dword [esi + 0x60], 0xfffffff3
add esp, 4
mov esi, dword [esi]
mov ecx, esi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], edi
mov edx, dword [eax + 0x34]
call fcn.0041a2e0
mov ecx, dword [edi + 8]
mov dword [esp + 0x38], ecx
test ecx, ecx
jne 0x44068c
xor esi, esi
jmp 0x4406c4
cmp byte [ecx], 0
mov eax, ecx
je 0x440699
inc eax
cmp byte [eax], 0
jne 0x440693
sub eax, ecx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.0041a540
mov esi, eax
test esi, esi
je 0x4406c0
push edi
push dword [esp + 0x3c]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x34], esi
push dword [edi + 8]
call fcn.0041a240
add esp, 4
mov dword [edi + 8], 0
cmp dword [esp + 0x18], 0
jne 0x4406fd
mov eax, dword [esp + 0x74]
push dword [eax + 0x24]
mov eax, dword [esp + 0x70]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [esp + 0x70], eax
jmp 0x440701
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
test eax, eax
jne case.default.0x43a40e
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
jmp 0x43d140
mov eax, dword [edx + ebx*4 + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], eax
mov eax, dword [edx + ebx*4 + 4]
mov edx, 1
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x6c], ecx
call fcn.00433660
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43d140
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov edx, dword [ecx]
push dword [eax + 4]
push ecx
mov eax, dword [edx + 0x4c]
call eax
mov edi, dword [esp + 0x70]
add esp, 8
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], edi
mov esi, dword [eax]
mov ecx, esi
mov edx, dword [eax + 0x34]
call fcn.0041a2e0
mov ebx, dword [edi + 8]
test ebx, ebx
jne 0x440797
xor esi, esi
jmp 0x4407ce
cmp byte [ebx], 0
mov eax, ebx
je 0x4407a6
nop
inc eax
cmp byte [eax], 0
jne 0x4407a0
sub eax, ebx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.0041a540
mov esi, eax
test esi, esi
je 0x4407ca
push edi
push ebx
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x10]
mov dword [ebx + 0x34], esi
push dword [edi + 8]
call fcn.0041a240
mov eax, dword [esp + 0x1c]
add esp, 4
mov esi, dword [esp + 0x20]
mov dword [edi + 8], 0
and dword [ebx + 0x60], 0xffffffdf
mov edi, dword [esp + 0x24]
jmp 0x43d144
mov eax, dword [edx + ebx*4 + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], eax
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
mov edx, dword [edx + ebx*4 + 8]
mov dword [esp + 0x70], edx
cmp dword [eax + 0x34], 0
je case.default.0x43a40e
mov al, byte [esi + 0x3c]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x4f], al
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x80], eax
mov eax, dword [edi + ebx*4 + 0xc]
mov dword [esp + 0x74], 0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x84], ecx
test edx, edx
jle 0x44089a
nop dword [eax]
call fcn.0043a030
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x84]
inc eax
add ecx, 0x28
mov dword [esp + 0x74], eax
mov dword [esp + 0x84], ecx
cmp eax, dword [esp + 0x70]
jl 0x440860
mov al, byte [edi + ebx*4 + 3]
mov byte [esi + 0x3c], al
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x84]
mov eax, dword [esp + 0x74]
push dword [esp + 0x78]
push dword [esp + 0x74]
mov eax, dword [eax + 0x34]
call eax
mov dword [esp + 0x28], eax
add esp, 0x10
mov al, byte [esp + 0x4f]
mov byte [esi + 0x3c], al
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x2c], edi
mov esi, dword [eax]
mov ecx, esi
mov edx, dword [eax + 0x34]
call fcn.0041a2e0
mov ecx, dword [edi + 8]
mov dword [esp + 0x38], ecx
test ecx, ecx
jne 0x4408f3
xor esi, esi
jmp 0x440931
cmp byte [ecx], 0
mov eax, ecx
je 0x440906
nop word [eax + eax]
inc eax
cmp byte [eax], 0
jne 0x440900
sub eax, ecx
mov ecx, esi
and eax, 0x3fffffff
lea edi, [eax + 1]
mov edx, edi
call fcn.0041a540
mov esi, eax
test esi, esi
je 0x44092d
push edi
push dword [esp + 0x3c]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x34], esi
push dword [edi + 8]
call fcn.0041a240
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [edi + 8], 0
test eax, eax
jne 0x44098e
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
cmp dword [ecx + ebx*4 + 4], eax
je 0x4409d0
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov dword [esi + 0x20], eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x7c]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x18]
inc dword [ebx + 0x64]
mov dword [esp + 0x48], ecx
jmp 0x43d144
cmp eax, 0x13
jne 0x4409cc
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + ebx*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x4409c8
cmp byte [edx + ebx*4 + 3], 4
jne 0x440d95
mov edi, dword [esp + 0x24]
xor eax, eax
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
inc eax
jmp 0x43a375
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
inc dword [ebx + 0x64]
jmp 0x43d144
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ebx, dword [esp + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x14], 0
inc eax
jmp 0x43a375
mov ecx, dword [edx + ebx*4 + 4]
xor edi, edi
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
mov ecx, dword [edx + ebx*4 + 0xc]
test ecx, ecx
je 0x440a2d
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x2c]
cmp edi, ecx
cmovb edi, ecx
mov ecx, esi
call fcn.004298d0
mov eax, dword [esi + 4]
mov eax, dword [eax]
test edi, edi
jle 0x440a43
mov dword [eax + 0x84], edi
cmp byte [esi + 9], 0
mov edi, dword [eax + 0x84]
je 0x440a6d
add dword [esi + 0xc], 0xffffffff
jne 0x440a6d
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x440a69
push ecx
call dword [0x491ce0]
add esp, 4
mov byte [esi + 0xa], 0
mov esi, dword [esp + 0x20]
mov eax, edi
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
cdq
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x14], edx
inc eax
mov edx, dword [esp + 0x1c]
jmp 0x43a375
cmp dword [esi + 0x98], 0
je case.default.0x43a40e
mov eax, dword [esp + 0x10]
test dword [eax + 0x60], 0x400
jne case.default.0x43a40e
mov edx, dword [edx + ebx*4 + 0x10]
mov ebx, eax
test edx, edx
jne 0x440abe
mov edx, dword [ebx + 0x98]
mov dword [esp + 0x68], edx
test edx, edx
je 0x43b16c
mov ecx, ebx
call fcn.00439cb0
push eax
mov dword [esp + 0x70], eax
push dword [esi + 0x9c]
mov eax, dword [esi + 0x98]
call eax
mov edx, dword [esp + 0x74]
add esp, 8
mov ecx, esi
call fcn.0041a2e0
mov eax, dword [esp + 0x18]
jmp 0x43d144
mov ebx, dword [esp + 0x10]
mov eax, 9
jmp 0x440f46
mov edi, dword [esp + 0x10]
mov ecx, dword [edx + ebx*4 + 4]
mov dword [edi + 0x58], ecx
mov al, byte [edx + ebx*4 + 8]
mov byte [edi + 0x5c], al
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [eax + 0x54], edi
mov eax, dword [edx + ebx*4 + 0x10]
test eax, eax
je 0x440b64
push eax
push 0x487d68
push esi
mov esi, dword [esp + 0x1c]
lea eax, [esi + 0x34]
push eax
call fcn.0041a6e0
mov eax, dword [esp + 0x2c]
push dword [eax + ebx*4 + 0x10]
push dword [esi + 0x98]
push edi
push str.abort_at__d_in___s_:__s
push dword [eax + ebx*4 + 4]
call fcn.0041bc00
add esp, 0x24
jmp 0x440b84
test ecx, ecx
je 0x440b84
mov eax, dword [esp + 0x10]
push dword [eax + 0x98]
push edi
push str.constraint_failed_at__d_in___s_
push dword [edx + ebx*4 + 4]
call fcn.0041bc00
add esp, 0x10
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.00436d20
cmp eax, 5
jne 0x440e7f
mov edi, eax
mov dword [ebx + 0x58], edi
jmp 0x440fbc
cmp byte [esi + 0x38], 0
mov ebx, dword [esp + 0x10]
jne 0x440f2b
mov eax, dword [esp + 0x14]
mov edi, 0x64
inc eax
mov dword [ebx + 0x54], eax
jmp 0x440fbc
lea ecx, [esp + 0x78]
call fcn.00433a70
jmp 0x440f27
push str.cannot_open_savepoint___SQL_statements_in_progress
mov ebx, dword [esp + 0x14]
push esi
lea eax, [ebx + 0x34]
push eax
call fcn.0041a6e0
mov edx, dword [esp + 0x20]
mov eax, 5
add esp, 0xc
mov dword [esp + 0x18], eax
inc edx
jmp 0x440f4e
push str.cannot_release_savepoint___SQL_statements_in_progress
mov esi, eax
jmp 0x440bd5
mov edx, dword [esp + 0x14]
mov dword [ebx + 0x54], edx
mov byte [edi + 0x36], 0
mov edi, 5
mov dword [ebx + 0x58], edi
jmp 0x440fbc
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
push eax
push str.no_such_savepoint:__s
lea eax, [ebx + 0x34]
push esi
push eax
call fcn.0041a6e0
mov edx, dword [esp + 0x24]
mov eax, 1
add esp, 0x10
mov dword [esp + 0x18], eax
inc edx
jmp 0x440f4e
mov ebx, dword [esp + 0x10]
mov edi, 5
mov edx, dword [esp + 0x14]
mov dword [ebx + 0x54], edx
mov dword [ebx + 0x58], edi
jmp 0x440fbc
mov ecx, 0x10661
call fcn.004781b0
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
cmp byte [esi + 0x38], 0
je 0x440cc0
mov eax, 7
mov dword [esp + 0x18], eax
jmp 0x440ccb
mov edx, dword [esp + 0x14]
mov eax, 4
mov ebx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x18], eax
jmp 0x440f4e
mov eax, 0xd
jmp 0x440c6a
mov edx, dword [esp + 0x14]
mov eax, 7
mov esi, dword [esp + 0x20]
inc edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
jmp 0x440f4e
cmp eax, 0xc0a
je 0x440f4a
mov ecx, eax
call fcn.00476590
push eax
push 0x487d68
lea eax, [ebx + 0x34]
push esi
push eax
call fcn.0041a6e0
mov eax, dword [esp + 0x28]
add esp, 0x10
jmp 0x440f4a
mov ebx, dword [esp + 0x10]
mov eax, 6
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
inc edx
mov byte [ebx + 0x5c], 2
jmp 0x440f4e
push str.too_many_levels_of_trigger_recursion
mov esi, ecx
mov dword [esp + 0x1c], 1
lea eax, [ebx + 0x34]
push esi
push eax
call fcn.0041a6e0
add esp, 0xc
mov eax, 1
inc dword [esp + 0x14]
jmp 0x440f4a
mov ebx, dword [esp + 0x10]
cmp esi, 5
mov esi, dword [esp + 0x20]
mov ecx, str.out_of
mov eax, str.into
mov dword [esp + 0x18], 1
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
lea eax, [ebx + 0x34]
push esi
push eax
call fcn.0041a6e0
add esp, 0x10
mov eax, 1
inc dword [esp + 0x14]
jmp 0x440f4a
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
push str.string_or_blob_too_big
lea eax, [ebx + 0x34]
push esi
push eax
call fcn.0041a6e0
mov eax, 0x12
jmp 0x440f43
mov al, byte [edx + ebx*4 + 3]
cmp al, 5
jne 0x440dba
mov ebx, dword [esp + 0x10]
mov eax, 2
inc dword [esp + 0x14]
mov esi, dword [esp + 0x20]
mov byte [ebx + 0x5c], al
mov eax, dword [esp + 0x18]
jmp 0x440f4a
mov ebx, dword [esp + 0x10]
inc dword [esp + 0x14]
mov esi, dword [esp + 0x20]
movzx eax, al
mov byte [ebx + 0x5c], al
mov eax, dword [esp + 0x18]
jmp 0x440f4a
mov eax, dword [esp + 0x1c]
mov edx, dword [edx + ebx*4 + 4]
mov dword [esp + 0x68], edx
mov ecx, dword [eax + ebx*4 + 8]
mov dword [esp + 0x6c], ecx
test edx, edx
je 0x440e11
cmp byte [esi + 0x36], 0
jne 0x440e11
mov dword [esp + 0x70], 1
test ecx, ecx
jne 0x440e19
cmp dword [esi + 0x88], ecx
jle 0x440e19
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x440bd5
mov dword [esp + 0x70], 0
movzx eax, byte [esi + 0x36]
cmp edx, eax
jne 0x440e60
test edx, edx
jne 0x440e2c
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x440e3b
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov edx, str.cannot_commit___no_transaction_is_active
cmove eax, edx
mov ebx, dword [esp + 0x10]
push eax
push esi
lea eax, [ebx + 0x34]
push eax
call fcn.0041a6e0
mov edx, dword [esp + 0x20]
mov eax, 1
add esp, 0xc
mov dword [esp + 0x18], eax
inc edx
jmp 0x440f4e
test ecx, ecx
je 0x440e95
mov edx, 0x204
mov ecx, esi
call fcn.004764b0
mov ebx, dword [esp + 0x10]
mov byte [esi + 0x36], 1
mov ecx, esi
call fcn.00475d80
cmp dword [ebx + 0x58], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x440fbc
mov ebx, dword [esp + 0x10]
mov edx, 1
mov ecx, ebx
call fcn.00436cc0
mov edi, eax
test edi, edi
jne 0x440fbc
mov al, byte [esp + 0x68]
mov ecx, ebx
mov byte [esi + 0x36], al
call fcn.00436d20
cmp eax, 5
jne 0x440e78
mov edx, dword [esp + 0x14]
mov al, 1
sub al, byte [esp + 0x68]
mov edi, 5
mov dword [ebx + 0x54], edx
mov byte [esi + 0x36], al
mov dword [ebx + 0x58], edi
jmp 0x440fbc
mov ebx, dword [esp + 0x10]
mov eax, dword [str.interrupted]
mov ecx, str.unknown_error
test eax, eax
mov dword [esp + 0x18], 9
mov dword [ebx + 0x58], 9
cmovne ecx, eax
lea eax, [ebx + 0x34]
push ecx
push 0x487d68
push esi
push eax
call fcn.0041a6e0
add esp, 0x10
mov eax, 9
jmp 0x440f4a
mov esi, dword [esp + 0x20]
jmp 0x440f27
mov esi, ebx
jmp 0x440f27
mov esi, eax
mov ebx, dword [esp + 0x10]
push str.out_of_memory
lea eax, [ebx + 0x34]
mov byte [esi + 0x38], 1
push esi
push eax
call fcn.0041a6e0
mov eax, 7
add esp, 0xc
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x14]
push dword [ebx + 0x34]
mov dword [ebx + 0x58], eax
push dword [ebx + 0x98]
push edx
push str.statement_aborts_at__d:___s___s
push eax
call fcn.0041bc00
add esp, 0x14
mov ecx, ebx
call fcn.00436d20
cmp dword [esp + 0x18], 0xc0a
jne 0x440f7e
mov byte [esi + 0x38], 1
mov al, byte [esp + 0x43]
mov edi, 1
test al, al
je 0x440fbc
mov ebx, dword [esp + 0x20]
movzx esi, al
dec esi
mov ecx, esi
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.00452130
add esp, 4
cmp esi, edi
je 0x440fb8
mov eax, dword [ebx + 0x10]
push dword [eax + 0x1c]
call fcn.00452130
add esp, 4
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x24], ecx
mov ecx, ebx
call fcn.00435850
mov ecx, dword [esp + 0x134]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004787cb
mov esp, ebp
pop ebp
ret