Function at 0x43c6fc
Capabilities:
Encrypt data using speck
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x274
mov eax, dword [0x556358]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, ecx
mov dword [ebp - 0x120], 0
push ebx
push esi
mov esi, eax
mov dword [ebp - 0x114], eax
push edi
mov edi, dword [eax + 0x58]
mov dword [ebp - 0x158], edi
mov ebx, dword [esi]
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x168], ebx
mov byte [ebp - 0x16d], 0
mov al, byte [ebx + 0x46]
mov byte [ebp - 0x164], al
mov eax, dword [esi + 0x5c]
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x124], eax
call fcn.00434ce0
cmp dword [esi + 0x28], 7
je 0x43db39
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x68], 0
cmp dword [ebx + 0x100], 0
mov dword [ebx + 0x18c], 0
jne 0x441d74
cmp dword [ebx + 0x138], 0
je 0x43bbd6
mov ecx, dword [ebx + 0x140]
xor edx, edx
mov eax, dword [esi + 0xb0]
div ecx
sub ecx, edx
jmp 0x43bbd9
or ecx, 0xffffffff
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x1fc], 0x3e00
mov dword [ebp - 0x1e8], 0x17
lea eax, [eax + eax*4]
lea edi, [edi + eax*4]
xor eax, eax
inc eax
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x118], eax
mov al, byte [edi]
movzx edx, al
mov byte [ebp - 0x129], al
mov dword [ebp - 0x154], edx
cmp edx, 0xa4
ja case.0x43bc28.83
jmp dword [edx*4 + 0x441edc]
mov eax, dword [edi + 4]
mov ecx, edi
mov ebx, dword [ebp - 0x124]
sub ecx, dword [ebp - 0x158]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 8], ax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x114]
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x158]
mov ebx, dword [ebp - 0x168]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ecx + eax*4]
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
add edi, 0x14
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x124]
mov ebx, dword [ebp - 0x158]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*4]
mov ebx, dword [ebp - 0x168]
mov eax, 0x80
add edi, 0x14
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x124]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0xc]
dec eax
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
mov dword [ebx + ecx*8 + 4], edx
mov word [ebx + ecx*8 + 8], ax
cmp dword [edi + 8], 0
jne 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x158]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, 0x80
mov word [ebx + ecx*8 + 8], ax
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ebx, dword [ebp - 0x130]
mov ecx, 4
mov edi, dword [ebp - 0x158]
mov eax, dword [ebx + 4]
sub ebx, edi
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x124]
mov word [eax + esi*8 + 8], cx
mov ecx, dword [eax + esi*8]
mov eax, 0x66666667
imul ebx
mov ebx, dword [ebp - 0x124]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov dword [ebx + esi*8 + 4], edx
lea edi, [edi + eax*4]
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x44180e
mov ecx, edi
mov eax, 0x66666667
sub ecx, dword [ebp - 0x158]
imul ecx
sar edx, 3
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [ebp - 0x130]
cmp dword [edx + 4], 0
jne 0x441828
mov ecx, dword [esi + 0xc4]
test ecx, ecx
je 0x441828
mov eax, dword [ecx + 4]
dec dword [esi + 0xcc]
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 0x2c]
add dword [ebx + 0x60], eax
mov dword [ebx + 0x5c], eax
call fcn.00435800
mov esi, dword [ebp - 0x130]
cmp dword [esi + 8], 4
mov esi, dword [ebp - 0x114]
jne 0x43be5a
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov edx, dword [esi + 0x58]
lea eax, [eax + eax*4]
mov ecx, dword [esi + 0x5c]
mov ebx, dword [ebp - 0x168]
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp - 0x11c]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x118]
add edi, 0x14
mov dword [ebp - 0x158], edx
jmp 0x43bbfe
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov ebx, dword [ebp - 0x168]
mov ecx, eax
mov eax, dword [edi + 4]
add edi, 0x14
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x118]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x11c]
jmp 0x43bbfe
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov ecx, dword [edi + 0x10]
mov edx, eax
mov ebx, dword [ebp - 0x168]
add edi, 0x14
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x11c]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov ebx, dword [ebp - 0x168]
mov ecx, eax
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [edi + 0x10]
add edi, 0x14
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x118]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0x11c]
jmp 0x43bbfe
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov ecx, dword [edi + 0x10]
mov esi, eax
mov byte [edi], 0x45
call fcn.00416400
cmp byte [ebp - 0x164], 1
mov dword [edi + 4], eax
je 0x43bfa2
mov edx, dword [edi + 0x10]
mov ecx, esi
push 0
push 1
push 0xffffffffffffffff
call fcn.00432c00
movzx edx, byte [ebp - 0x164]
add esp, 0xc
mov ecx, esi
mov dword [ebp - 0x120], eax
call fcn.00431ff0
test eax, eax
jne 0x43db33
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [edi + 1], 0xf9
jne 0x43bf92
mov edx, dword [edi + 0x10]
mov ecx, ebx
call fcn.004135a0
mov byte [edi + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 4], eax
mov eax, dword [edi + 4]
cmp eax, dword [ebx + 0x64]
jg 0x441b03
mov esi, dword [ebp - 0x114]
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov ecx, eax
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x164]
mov byte [ecx + 0xa], al
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x44180e
mov ebx, dword [ebp - 0x124]
lea esi, [eax + eax*4]
movzx eax, word [edi + 2]
cdq
cmp dword [ebx + esi*8], eax
jne 0x43bdb2
cmp dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x114]
jne 0x44180e
mov ebx, dword [ebp - 0x168]
mov eax, 0xa10
mov word [ecx + 8], ax
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov ebx, dword [edi + 0xc]
mov ecx, 1
sub ebx, dword [edi + 8]
mov edx, 0x101
cmp dword [edi + 4], 0
lea esi, [eax + 0xc]
cmovne ecx, edx
mov dword [esi], 0
movzx ecx, cx
mov dword [ebp - 0x128], ecx
mov word [eax + 8], cx
test ebx, ebx
jle 0x43bdb2
mov edi, ecx
lea esi, [esi + 0x28]
lea ecx, [esi - 0xc]
call fcn.00432920
dec ebx
mov word [esi - 4], di
mov dword [esi], 0
test ebx, ebx
jg 0x43c072
mov edi, dword [ebp - 0x130]
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ebx, 0xff61
mov edx, dword [ebp - 0x124]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, bx
mov ebx, dword [ebp - 0x168]
or ax, 1
add edi, 0x14
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov edx, dword [edi + 0x10]
mov esi, eax
push 0
push 0
push dword [edi + 4]
mov ecx, esi
call fcn.00432c00
mov al, byte [ebp - 0x164]
add esp, 0xc
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x74]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.00432a90
test eax, eax
jne 0x441b03
mov eax, dword [edi + 8]
lea edx, [esi - 0x28]
mov ecx, dword [ebp - 0x124]
push 0x800
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00432af0
mov esi, dword [ebp - 0x114]
add esp, 4
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x13c], eax
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [edi + 8]
mov dword [ebp - 0x134], ecx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
nop dword [eax + eax]
mov edx, ecx
mov ecx, esi
call fcn.00432bb0
mov eax, 0x1000
test word [esi + 8], ax
je 0x43c1e3
mov ecx, esi
call fcn.004321c0
test eax, eax
jne 0x43db33
mov ecx, dword [ebp - 0x134]
add esi, 0x28
add ecx, 0x28
sub dword [ebp - 0x13c], 1
mov dword [ebp - 0x134], ecx
jne 0x43c1c0
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x134], eax
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov dword [ebp - 0x13c], ecx
mov edx, ecx
push 0x1000
mov ecx, esi
call fcn.00432af0
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x43c270
mov ecx, esi
call fcn.004321c0
test eax, eax
jne 0x43db33
mov ecx, dword [ebp - 0x134]
mov eax, ecx
dec ecx
mov dword [ebp - 0x134], ecx
test eax, eax
je 0x43bdb2
mov ecx, dword [ebp - 0x13c]
add esi, 0x28
add ecx, 0x28
jmp 0x43c23f
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x124]
push 0x1000
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.00432af0
mov ecx, dword [ebp - 0x11c]
add esp, 4
mov eax, dword [ebp - 0x118]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
push dword [ebx + eax*8 + 4]
push dword [ebx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.00432980
mov ecx, dword [ebp - 0x11c]
add esp, 8
mov eax, dword [ebp - 0x118]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [edi + 8]
mov dword [ebp - 0x13c], edx
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x144], ecx
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
movzx eax, word [edx + 8]
mov dword [ebp - 0x128], eax
mov al, byte [ecx + 8]
or al, byte [ebp - 0x128]
test al, 1
je 0x43c37d
mov ecx, esi
call fcn.00432920
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
movzx eax, word [edx + 8]
test eax, 0x4000
je 0x43c39d
mov ecx, edx
call fcn.00432210
test eax, eax
jne 0x43db33
mov ecx, dword [ebp - 0x144]
mov eax, 0x4000
test word [ecx + 8], ax
je 0x43c3b5
call fcn.00432210
test eax, eax
jne 0x43db33
mov eax, dword [ebp - 0x13c]
test byte [eax + 8], 0x12
jne 0x43c3db
mov dl, byte [ebp - 0x164]
mov ecx, eax
push 0
call fcn.00432280
add esp, 4
test eax, eax
jne 0x43db33
mov eax, dword [ebp - 0x144]
test byte [eax + 8], 0x12
jne 0x43c401
mov dl, byte [ebp - 0x164]
mov ecx, eax
push 0
call fcn.00432280
add esp, 4
test eax, eax
jne 0x43db33
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x144]
mov eax, dword [eax + 0xc]
add eax, dword [ecx + 0xc]
cdq
mov dword [ebp - 0x154], eax
mov ecx, edx
mov eax, dword [ebx + 0x64]
cdq
cmp ecx, edx
jg 0x441b03
mov edx, dword [ebp - 0x154]
jl 0x43c438
cmp edx, eax
ja 0x441b03
xor eax, eax
mov ecx, esi
cmp esi, dword [ebp - 0x144]
sete al
add edx, 2
push eax
call fcn.00432010
add esp, 4
test eax, eax
jne 0x43db33
mov ax, word [esi + 8]
mov ecx, 0x3e00
mov ebx, dword [ebp - 0x144]
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, ebx
je 0x43c488
push dword [ebx + 0xc]
push dword [ebx + 0x10]
push dword [esi + 0x10]
call fcn.004e0df0
add esp, 0xc
mov eax, dword [ebp - 0x13c]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
add eax, dword [ebx + 0xc]
push eax
call fcn.004e0df0
mov eax, dword [esi + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x154]
mov ebx, dword [ebp - 0x168]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [esi + 8], ax
add edi, 0x14
mov al, byte [ebp - 0x164]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0x11c]
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [ebp - 0x138], eax
call fcn.0043ba80
movzx eax, ax
mov dword [ebp - 0x134], eax
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [ebp - 0x140], eax
call fcn.0043ba80
mov edx, dword [ebp - 0x138]
movzx ebx, ax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x128], ebx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov esi, dword [ebp - 0x140]
mov dword [ebp - 0x13c], eax
mov ax, word [esi + 8]
or ax, word [edx + 8]
movzx ecx, ax
mov al, bl
and al, byte [ebp - 0x134]
test al, 4
je 0x43c6cd
mov eax, edx
mov byte [ebp - 0x129], 1
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, esi
mov esi, dword [eax]
mov ebx, dword [eax + 4]
movzx eax, byte [edi]
add eax, 0xffffffa8
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x18c], ebx
cmp eax, 3
ja case.default.0x43c597
jmp dword [eax*4 + 0x442170]
push edx
push ecx
lea ecx, [ebp - 0x190]
call fcn.004176f0
add esp, 8
test eax, eax
je 0x43c682
mov esi, dword [ebp - 0x140]
mov edx, dword [ebp - 0x138]
mov ecx, edx
call fcn.00432660
mov ecx, esi
movsd qword [ebp - 0x150], xmm0
call fcn.00432660
movzx eax, byte [edi]
movaps xmm1, xmm0
add eax, 0xffffffa8
movsd qword [ebp - 0x160], xmm1
cmp eax, 3
ja case.default.0x43c5f2
jmp dword [eax*4 + 0x442180]
push edx
push ecx
lea ecx, [ebp - 0x190]
call fcn.00417790
add esp, 8
test eax, eax
jne 0x43c5b6
jmp 0x43c682
push edx
push ecx
lea ecx, [ebp - 0x190]
call fcn.004177e0
add esp, 8
test eax, eax
jne 0x43c5b6
jmp 0x43c682
mov eax, ecx
or eax, edx
je 0x43c7ee
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x43c648
test esi, esi
jne 0x43c648
cmp ebx, 0x80000000
je 0x43c5b6
push edx
push ecx
push ebx
push esi
call fcn.004fb0a0
jmp 0x43c676
mov eax, ecx
or eax, edx
je 0x43c7ee
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x43c66d
mov ecx, 1
xor edx, edx
push edx
push ecx
push ebx
push esi
call fcn.004fb150
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x13c]
mov edx, 0x3e00
mov eax, dword [ebp - 0x190]
mov esi, dword [ebp - 0x114]
mov ebx, dword [ebp - 0x168]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18c]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 4
add edi, 0x14
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
test cl, 1
jne 0x43c7ee
mov byte [ebp - 0x129], 0
jmp 0x43c5c2
addsd xmm1, qword [ebp - 0x150]
jmp 0x43c77e
subsd xmm1, qword [ebp - 0x150]
jmp 0x43c77e
mulsd xmm1, qword [ebp - 0x150]
jmp 0x43c77e
movsd xmm0, qword [ebp - 0x150]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x43c7ee
divsd xmm1, xmm0
jmp 0x43c77e
movsd xmm0, qword [ebp - 0x150]
call fcn.004d8d6f
movsd xmm0, qword [ebp - 0x160]
mov esi, eax
mov ebx, edx
call fcn.004d8d6f
mov ecx, eax
mov dword [ebp - 0x18c], edx
mov eax, esi
mov dword [ebp - 0x190], ecx
or eax, ebx
je 0x43c7ee
mov eax, esi
and eax, ebx
cmp eax, 0xffffffff
jne 0x43c76b
mov esi, 1
xor ebx, ebx
push ebx
push esi
push edx
push ecx
call fcn.004fb150
mov ecx, eax
call fcn.004d8ec0
movaps xmm1, xmm0
movaps xmm0, xmm1
call fcn.004163c0
test eax, eax
jne 0x43c7ee
mov ecx, dword [ebp - 0x13c]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm1
or ax, 8
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x128]
or al, byte [ebp - 0x134]
test al, 8
jne 0x43bdb2
cmp byte [ebp - 0x129], 0
jne 0x43bdb2
call fcn.00432690
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [ebp - 0x13c]
call fcn.00432920
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
test eax, eax
je case.0x43bc28.83
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.00432980
mov ecx, dword [ebp - 0x11c]
add esp, 8
mov eax, dword [ebp - 0x118]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 8]
mov dword [ebp - 0x128], ecx
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov al, byte [edx + 8]
or al, byte [ecx + 8]
mov dword [ebp - 0x15c], esi
test al, 1
je 0x43c8b4
mov ecx, esi
call fcn.00432920
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, edx
call fcn.004325e0
mov ecx, dword [ebp - 0x128]
mov ebx, eax
mov esi, edx
mov dword [ebp - 0x1f0], ebx
mov dword [ebp - 0x1ec], esi
call fcn.004325e0
mov ecx, eax
mov al, byte [edi]
mov dword [ebp - 0x134], ecx
mov byte [ebp - 0x129], al
cmp al, 0x54
jne 0x43c8f3
and ebx, ecx
and esi, edx
jmp 0x43c99e
cmp al, 0x55
jne 0x43c900
or ebx, ecx
or esi, edx
jmp 0x43c99e
mov eax, ecx
or eax, edx
je 0x43c99e
test edx, edx
jg 0x43c937
jl 0x43c914
test ecx, ecx
jae 0x43c937
mov al, 0xad
sub al, byte [ebp - 0x129]
cmp edx, 0xffffffff
jl 0x43c948
jg 0x43c928
cmp ecx, 0xffffffc0
jbe 0x43c948
neg ecx
mov dword [ebp - 0x134], ecx
adc edx, 0
neg edx
jmp 0x43c93d
mov al, byte [ebp - 0x129]
test edx, edx
jl 0x43c976
jg 0x43c948
cmp ecx, 0x40
jb 0x43c976
test esi, esi
jg 0x43c95d
jl 0x43c952
test ebx, ebx
jae 0x43c95d
cmp al, 0x56
je 0x43c95d
or ebx, 0xffffffff
or esi, ebx
jmp 0x43c99e
xorps xmm0, xmm0
movlpd qword [ebp - 0x150], xmm0
mov esi, dword [ebp - 0x14c]
mov ebx, dword [ebp - 0x150]
jmp 0x43c99e
movq xmm1, qword [ebp - 0x1f0]
movd xmm0, ecx
cmp al, 0x56
jne 0x43c9dd
psllq xmm1, xmm0
movq qword [ebp - 0x150], xmm1
mov ebx, dword [ebp - 0x150]
mov esi, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x15c]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx], ebx
mov ebx, dword [ebp - 0x168]
or ax, 4
mov dword [ecx + 4], esi
add edi, 0x14
mov esi, dword [ebp - 0x114]
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
psrlq xmm1, xmm0
movq qword [ebp - 0x150], xmm1
test esi, esi
jg 0x43c992
jl 0x43c9f3
test ebx, ebx
jae 0x43c992
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, dword [ebp - 0x134]
or edx, 0xffffffff
call fcn.004fb270
mov ebx, dword [ebp - 0x150]
mov esi, dword [ebp - 0x14c]
or ebx, eax
or esi, edx
jmp 0x43c99e
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004326f0
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x168]
cdq
add dword [esi], eax
mov eax, dword [ebp - 0x118]
adc dword [esi + 4], edx
add edi, 0x14
mov esi, dword [ebp - 0x114]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
test al, 4
jne 0x43cab0
test al, 8
jne 0x43ca87
test al, 2
je 0x43ca8e
mov edx, 1
mov ecx, esi
call fcn.0043b890
jmp 0x43ca8e
mov ecx, esi
call fcn.00432690
movzx eax, word [esi + 8]
test al, 4
jne 0x43cab0
cmp dword [edi + 8], 0
mov esi, dword [ebp - 0x114]
jne 0x43bc6c
mov eax, 0x14
jmp 0x43f09a
mov ecx, dword [ebp - 0x11c]
and eax, 0x3e00
mov ebx, dword [ebp - 0x168]
or eax, 4
mov word [esi + 8], ax
add edi, 0x14
mov esi, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea ecx, [ecx + eax*8]
je 0x44180e
call fcn.00432760
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x43cb3e
mov ecx, esi
call fcn.00432210
mov dword [ebp - 0x120], eax
jmp 0x43cb48
mov dword [ebp - 0x120], 0
push dword [ebp - 0x164]
mov dl, byte [edi + 8]
mov ecx, esi
call fcn.00432850
mov eax, dword [ebp - 0x120]
add esp, 4
mov esi, dword [ebp - 0x114]
test eax, eax
jne 0x43f09a
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x128], esi
lea eax, [eax + eax*4]
movzx edx, word [ecx + eax*8 + 8]
lea ebx, [ecx + eax*8]
movzx eax, word [esi + 8]
mov ecx, edx
or ecx, eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x140], edx
test cl, 1
je 0x43cc6f
movzx eax, word [edi + 2]
test al, al
jns 0x43cbfd
mov al, dl
and al, byte [ebp - 0x130]
test al, 1
je 0x43ccdf
test edx, 0x100
jne 0x43ccdf
movzx eax, byte [edi]
xor ecx, ecx
mov al, byte [eax + 0x5402c0]
jmp 0x43cced
mov esi, dword [ebp - 0x114]
test al, 0x20
je 0x43cc4d
mov eax, dword [edi + 8]
mov ebx, 0x3e00
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x184], 1
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, bx
mov ebx, dword [ebp - 0x168]
or ax, 1
add edi, 0x14
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
test al, 0x10
jne 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov al, byte [edi + 2]
and al, 0x47
cmp al, 0x43
jb 0x43cda4
test cl, 2
je 0x43ccb5
mov al, byte [ebp - 0x130]
and al, 0xe
cmp al, 2
jne 0x43cca0
xor edx, edx
mov ecx, esi
call fcn.0043b890
movzx eax, word [ebx + 8]
mov dword [ebp - 0x140], eax
mov al, byte [ebp - 0x140]
and al, 0xe
cmp al, 2
jne 0x43ccb5
xor edx, edx
mov ecx, ebx
call fcn.0043b890
mov al, byte [ebx + 8]
and al, byte [esi + 8]
test al, 4
je 0x43ce1c
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov esi, dword [ebx + 4]
mov ecx, dword [ebx]
cmp esi, edx
jl 0x43cd93
jg 0x43ccdf
cmp ecx, eax
jbe 0x43cd81
mov ecx, 1
movzx eax, byte [edi]
mov al, byte [eax + 0x53f5f4]
mov edx, dword [ebp - 0x128]
movzx esi, al
movzx eax, word [ebp - 0x130]
mov word [edx + 8], ax
movzx eax, word [ebp - 0x140]
mov word [ebx + 8], ax
movzx ebx, word [edi + 2]
test bl, 0x20
je 0x43ce53
mov eax, dword [edi + 8]
mov dword [ebp - 0x184], ecx
lea edx, [eax + eax*4]
test bl, 8
je 0x43cd3a
xor eax, eax
cmp byte [edi], 0x35
sete al
cmp eax, esi
je 0x43bdb2
mov ebx, dword [ebp - 0x124]
mov ecx, 0x3e00
mov ax, word [ebx + edx*8 + 8]
and ax, cx
mov dword [ebx + edx*8], esi
mov esi, dword [ebp - 0x114]
or ax, 4
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov word [ebx + edx*8 + 8], ax
mov eax, dword [ebp - 0x118]
mov dword [ebx + edx*8 + 4], 0
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
cmp esi, edx
jg 0x43cbed
jl 0x43cd93
cmp ecx, eax
jae 0x43cbed
movzx eax, byte [edi]
or ecx, 0xffffffff
mov al, byte [eax + str.SQLite_format_3]
jmp 0x43cced
cmp al, 0x42
jne 0x43ce1c
mov al, byte [ebp - 0x130]
test al, 2
jne 0x43cde2
test al, 0xc
je 0x43cde2
mov dl, byte [ebp - 0x164]
mov ecx, esi
push 1
call fcn.00432280
mov ax, word [esi + 8]
mov ecx, 0x3e00
xor ax, word [ebp - 0x130]
add esp, 4
and ax, cx
xor word [ebp - 0x130], ax
mov al, byte [ebp - 0x140]
test al, 2
jne 0x43ce1c
test al, 0xc
je 0x43ce1c
mov dl, byte [ebp - 0x164]
mov ecx, ebx
push 1
call fcn.00432280
mov ax, word [ebx + 8]
mov ecx, 0x3e00
xor ax, word [ebp - 0x140]
add esp, 4
and ax, cx
xor word [ebp - 0x140], ax
push dword [edi + 0x10]
mov edx, esi
mov ecx, ebx
call fcn.00437890
add esp, 4
mov ecx, eax
test ecx, ecx
jns 0x43ce3f
movzx eax, byte [edi]
mov al, byte [eax + str.SQLite_format_3]
jmp 0x43cced
jne 0x43cce4
movzx eax, byte [edi]
mov al, byte [eax + 0x5402c0]
jmp 0x43cced
test esi, esi
mov esi, dword [ebp - 0x114]
jne 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
cmp dword [ebp - 0x184], 0
jne 0x43bc6c
mov eax, dword [ebp - 0x118]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
test byte [edi + 2], 1
jne 0x43cea6
xor eax, eax
jmp 0x43ceac
mov eax, dword [edi - 4]
add eax, 4
mov ebx, dword [edi + 4]
xor esi, esi
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x15c], ebx
mov ebx, dword [edi + 8]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x128], ebx
test ecx, ecx
jle 0x43bdb2
lea ebx, [edx + 0x14]
test eax, eax
je 0x43ceec
mov ecx, dword [eax + esi*4]
jmp 0x43ceee
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x124]
push dword [ebx]
movzx eax, byte [eax + esi]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x128]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x15c]
add eax, ecx
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00437890
mov ecx, eax
add esp, 4
mov dword [ebp - 0x184], ecx
test ecx, ecx
jne 0x43cf71
mov eax, dword [ebp - 0x134]
inc esi
mov edx, dword [ebp - 0x154]
add ebx, 4
cmp esi, dword [ebp - 0x13c]
jl 0x43cee3
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
cmp dword [ebp - 0x16c], 0
mov esi, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
je 0x43cf8e
neg ecx
mov dword [ebp - 0x184], ecx
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [ebp - 0x184]
test ecx, ecx
mov ecx, dword [ebp - 0x158]
jns 0x43cfd8
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x168]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ecx + eax*4]
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
add edi, 0x14
jmp 0x43bbfe
jne 0x43d000
mov eax, dword [edi + 8]
mov ebx, dword [ebp - 0x168]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ecx + eax*4]
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
add edi, 0x14
jmp 0x43bbfe
mov eax, dword [edi + 0xc]
mov ebx, dword [ebp - 0x168]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ecx + eax*4]
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
add edi, 0x14
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
lea ecx, [ebx + eax*8]
je 0x43d043
mov esi, 2
jmp 0x43d055
call fcn.004325e0
or eax, edx
je 0x43d053
mov esi, 1
jmp 0x43d055
xor esi, esi
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
lea ecx, [ebx + eax*8]
je 0x43d06c
mov eax, 2
jmp 0x43d07e
call fcn.004325e0
or eax, edx
je 0x43d07c
mov eax, 1
jmp 0x43d07e
xor eax, eax
cmp byte [edi], 0x2c
lea eax, [eax + esi*2]
jne 0x43d08f
mov al, byte [esi + eax + 0x53f6ec]
jmp 0x43d096
mov al, byte [esi + eax + 0x542634]
mov esi, dword [ebp - 0x114]
movzx edx, al
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 8]
cmp edx, 2
jne 0x43d0da
mov edx, 0x3e00
and ax, dx
or ax, 1
add edi, 0x14
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov dword [ebx + ecx*8], edx
mov edx, 0x3e00
and ax, dx
mov dword [ebx + ecx*8 + 4], 0
or ax, 4
add edi, 0x14
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00432920
test byte [ebx + 8], 1
jne 0x43bdb2
mov eax, 4
mov ecx, ebx
mov word [esi + 8], ax
call fcn.004325e0
or eax, edx
jne 0x43d179
mov ebx, dword [ebp - 0x168]
xor ecx, ecx
mov eax, 1
mov dword [esi + 4], ecx
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov dword [esi], eax
mov esi, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov ebx, dword [ebp - 0x168]
xorps xmm0, xmm0
movlpd qword [ebp - 0x150], xmm0
add edi, 0x14
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x150]
mov dword [esi], eax
mov eax, dword [ebp - 0x118]
mov dword [esi + 4], ecx
mov esi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x11c]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00432920
test byte [ebx + 8], 1
jne 0x43bdb2
mov eax, 4
mov ecx, ebx
mov word [esi + 8], ax
call fcn.004325e0
mov ecx, dword [ebp - 0x11c]
not eax
mov ebx, dword [ebp - 0x168]
not edx
mov dword [esi], eax
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x114]
jmp 0x43bbfe
mov ebx, dword [esi + 0xc4]
test ebx, ebx
je 0x43d284
mov ebx, dword [ebx + 0x18]
mov ecx, edi
sub ecx, dword [esi + 0x58]
mov eax, 0x66666667
imul ecx
mov eax, 1
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl eax, cl
movzx edx, byte [esi + ebx]
test edx, eax
jne 0x43bc66
bts edx, ecx
mov ecx, dword [ebp - 0x11c]
mov byte [esi + ebx], dl
mov esi, dword [ebp - 0x114]
mov ebx, dword [ebp - 0x168]
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
add edi, 0x14
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 4]
je 0x43bc6c
mov eax, dword [esi + 0x58]
mov ecx, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x168]
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
add edi, 0x14
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x43d2d1
mov ecx, dword [edi + 0xc]
jmp 0x43d2f2
call fcn.00432660
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
xor ecx, ecx
test ah, 0x44
mov eax, 1
cmovp ecx, eax
cmp byte [edi], 0x16
jne 0x43d2f2
xor ecx, eax
test ecx, ecx
jne 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x44180e
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00432920
jmp 0x43bc6c
mov ecx, dword [edi + 4]
lea edx, [ebp - 0x180]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x174], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x180], eax
call fcn.00436e90
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f09a
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x124]
mov esi, dword [ebp - 0x174]
mov ebx, dword [ebp - 0x114]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x48]
cmp eax, dword [ebx + 0x20]
mov ebx, dword [ebp - 0x168]
mov dword [ebp - 0x140], ecx
mov dword [ebp - 0x144], edx
je 0x43d4ee
cmp byte [esi + 2], 0
je 0x43d449
cmp byte [esi], 3
jne 0x43c358
mov eax, dword [esi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x124]
mov eax, dword [eax + ecx*8 + 0xc]
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
mov eax, dword [ebp - 0x124]
mov eax, dword [eax + ecx*8 + 0x10]
mov dword [esi + 0x4c], eax
jmp 0x43d484
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0042a5a0
mov ecx, dword [ebp - 0x174]
mov eax, dword [esi + 0x24]
mov dword [ecx + 0x50], eax
lea edx, [ecx + 0x54]
mov ecx, esi
call fcn.0042abb0
mov esi, dword [ebp - 0x174]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x50]
cmp eax, dword [ebx + 0x64]
ja 0x441b03
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 0x20]
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x43d4a5
movzx eax, al
mov dword [edx], eax
mov eax, 1
jmp 0x43d4b3
call fcn.00417530
mov edx, dword [ebp - 0x144]
movzx eax, al
movzx eax, al
mov dword [esi + 0x30], eax
xor eax, eax
mov word [esi + 0x3a], ax
mov eax, dword [esi + 0x54]
cmp eax, dword [edx]
jae 0x43d5eb
mov dword [esi + 0x4c], 0
mov dword [esi + 0x54], 0
mov eax, dword [edx]
cmp eax, 0x18003
ja 0x43d722
cmp eax, dword [esi + 0x50]
ja 0x43d722
movzx eax, word [esi + 0x3a]
mov ecx, dword [ebp - 0x180]
cmp eax, ecx
jg 0x43d7b6
mov eax, dword [esi + 0x30]
cmp eax, dword [edx]
jae 0x43d75c
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x154], eax
test eax, eax
jne 0x43d567
xorps xmm0, xmm0
lea eax, [ebp - 0xf0]
movups xmmword [ebp - 0xf0], xmm0
push eax
movups xmmword [ebp - 0xe0], xmm0
movq qword [ebp - 0xd0], xmm0
push dword [edx]
mov ecx, dword [esi + 0x28]
xor edx, edx
call fcn.00432ec0
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x154], eax
movzx ecx, word [esi + 0x3a]
mov esi, dword [esi + 0x30]
add esi, dword [ebp - 0x154]
mov dword [ebp - 0x15c], ecx
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x16c], eax
mov eax, dword [edx]
add eax, dword [ebp - 0x154]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x17c], 0
lea eax, [eax + ecx*4]
add eax, 0x58
mov dword [ebp - 0x134], eax
nop dword [eax]
movzx ecx, byte [esi]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x19c], ecx
cmp ecx, 0x80
jae 0x43d5f3
movzx eax, cl
movzx eax, byte [eax + 0x540a38]
cdq
add dword [ebp - 0x16c], eax
mov eax, 1
adc dword [ebp - 0x17c], edx
mov edx, dword [ebp - 0x16c]
jmp 0x43d635
mov eax, dword [esi + 0x4c]
jmp 0x43d561
lea edx, [ebp - 0x19c]
mov ecx, esi
call fcn.00417530
mov ecx, dword [ebp - 0x19c]
movzx eax, al
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x138], ecx
call fcn.00437040
mov edx, dword [ebp - 0x16c]
add edx, eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x16c], edx
adc dword [ebp - 0x17c], 0
mov ebx, dword [ebp - 0x144]
add esi, eax
mov eax, dword [ebp - 0x134]
add dword [ebp - 0x134], 4
mov dword [eax], ecx
mov eax, dword [ebp - 0x15c]
inc eax
mov dword [ebp - 0x15c], eax
mov dword [ebx + eax*4], edx
mov ebx, dword [ebp - 0x168]
cmp eax, dword [ebp - 0x180]
jg 0x43d678
cmp esi, dword [ebp - 0x13c]
jb 0x43d5b0
jmp 0x43d680
cmp esi, dword [ebp - 0x13c]
jb 0x43d6a2
cmp esi, dword [ebp - 0x13c]
ja 0x43d6ca
mov ebx, dword [ebp - 0x174]
cmp edx, dword [ebx + 0x50]
mov ebx, dword [ebp - 0x168]
jne 0x43d6ca
cmp dword [ebp - 0x17c], 0
jne 0x43d6ca
cmp dword [ebp - 0x17c], 0
mov ebx, dword [ebp - 0x174]
mov ebx, dword [ebx + 0x50]
mov dword [ebp - 0x128], ebx
mov ebx, dword [ebp - 0x168]
jb 0x43d6dd
ja 0x43d6ca
cmp edx, dword [ebp - 0x128]
jbe 0x43d6dd
mov eax, dword [ebp - 0x144]
cmp dword [eax], 0
jne 0x43d70b
mov esi, dword [ebp - 0x13c]
xor eax, eax
mov edx, dword [ebp - 0x174]
sub esi, dword [ebp - 0x154]
mov word [edx + 0x3a], ax
mov dword [edx + 0x30], esi
mov esi, edx
cmp dword [esi + 0x4c], 0
jne 0x43d76a
lea ecx, [ebp - 0xf0]
call fcn.00432530
mov ecx, dword [ebp - 0x138]
jmp 0x43d76a
mov eax, dword [ebp - 0x174]
cmp dword [eax + 0x4c], 0
jne 0x43d722
lea ecx, [ebp - 0xf0]
call fcn.00432530
mov edx, dword [ebp - 0x158]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x441903
mov esi, dword [ebp - 0x114]
lea eax, [eax + eax*4]
mov ecx, dword [ebp - 0x11c]
lea eax, [eax - 5]
mov ebx, dword [ebp - 0x168]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x118]
add edi, 0x14
jmp 0x43bbfe
xor ecx, ecx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x19c], ecx
movzx eax, word [esi + 0x3a]
cmp eax, dword [ebp - 0x180]
jg 0x43d7c6
cmp byte [edi + 1], 0xf5
mov ecx, dword [ebp - 0x140]
jne 0x43c358
mov edx, dword [edi + 0x10]
push 0x800
call fcn.00432af0
mov esi, dword [ebp - 0x114]
add esp, 4
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [esi + ecx*4 + 0x58]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x140]
mov edx, 0x2460
test word [eax + 8], dx
je 0x43d7e4
mov ecx, eax
call fcn.00432920
mov ecx, dword [ebp - 0x138]
mov ebx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x144]
mov eax, dword [esi + 0x54]
cmp eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0x168]
jb 0x43d8ea
mov eax, dword [esi + 0x4c]
mov esi, dword [ebp - 0x180]
add eax, dword [edx + esi*4]
mov dword [ebp - 0x128], eax
cmp ecx, 0xc
jae 0x43d846
push dword [ebp - 0x140]
mov edx, ecx
mov ecx, eax
call fcn.004371c0
mov esi, dword [ebp - 0x114]
add esp, 4
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov al, byte [ebp - 0x164]
lea esi, [ecx - 0xc]
mov ecx, dword [ebp - 0x140]
shr esi, 1
mov dword [ecx + 0xc], esi
lea edx, [esi + 2]
mov byte [ecx + 0xa], al
cmp dword [ecx + 0x18], edx
jge 0x43d888
mov eax, 1
push 0
mov word [ecx + 8], ax
call fcn.00432010
add esp, 4
test eax, eax
jne 0x43db33
mov ecx, dword [ebp - 0x140]
jmp 0x43d88e
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
push esi
push dword [ebp - 0x128]
push dword [ecx + 0x10]
call fcn.004e0df0
mov ecx, dword [ebp - 0x140]
add esp, 0xc
mov edx, dword [ebp - 0x138]
mov ebx, dword [ebp - 0x168]
and edx, 1
add edi, 0x14
mov eax, dword [ecx + 0x10]
mov byte [esi + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [esi + eax + 1], 0
mov ax, word [edx*2 + 0x5401d8]
mov esi, dword [ebp - 0x114]
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov eax, dword [ebp - 0x140]
mov bl, byte [ebp - 0x164]
mov byte [eax + 0xa], bl
movzx eax, word [edi + 2]
mov ebx, dword [ebp - 0x168]
test al, 0xc0
je 0x43d915
cmp ecx, 0xc
jb 0x43d911
test cl, 1
je 0x43d91e
test al, al
js 0x43d91e
call fcn.00437040
test eax, eax
jne 0x43d953
push dword [ebp - 0x140]
mov edx, ecx
mov ecx, 0x55b4fc
call fcn.004371c0
mov esi, dword [ebp - 0x114]
add esp, 4
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
push dword [ebp - 0x140]
mov ecx, dword [esi + 0x28]
push eax
mov eax, dword [ebp - 0x180]
mov edx, dword [edx + eax*4]
call fcn.00432ec0
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
mov ebx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x138]
push ebx
mov ecx, dword [ebx + 0x10]
call fcn.004371c0
mov eax, 0xefff
add esp, 4
and word [ebx + 8], ax
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
mov esi, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov al, byte [esi]
push dword [ebp - 0x164]
mov dl, al
mov ecx, ebx
call fcn.0043b920
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add ebx, 0x28
test al, al
jne 0x43d9d1
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [ebp - 0x124]
xor eax, eax
mov dword [ebp - 0x140], eax
xorps xmm0, xmm0
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x124]
mov esi, dword [edi + 0x10]
movlpd qword [ebp - 0x150], xmm0
movlpd qword [ebp - 0x160], xmm0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edi + 8]
mov dword [ebp - 0x154], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x114]
movzx edx, byte [eax + 0x8f]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x134], edx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov ebx, dword [ebp - 0x168]
mov dword [ebp - 0x128], eax
test esi, esi
je 0x43dabb
mov al, byte [esi]
mov ebx, ecx
nop dword [eax + eax]
push dword [ebp - 0x164]
mov dl, al
mov ecx, ebx
call fcn.0043b920
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add ebx, 0x28
test al, al
jne 0x43da90
mov ebx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x14c]
mov esi, dword [ebp - 0x17c]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x16c], eax
lea eax, [ebp - 0x1a4]
mov ecx, esi
push eax
call fcn.00436ee0
mov ecx, 0x4000
mov dword [ebp - 0x15c], eax
add esp, 4
mov dword [esi + 0x1c], eax
test word [esi + 8], cx
je 0x43db97
mov ecx, dword [ebp - 0x138]
or ecx, dword [ebp - 0x13c]
je 0x43db7a
mov ecx, esi
call fcn.00432210
test eax, eax
je 0x43db91
mov esi, dword [ebp - 0x114]
cmp byte [ebx + 0x49], 0
jne 0x43db62
cmp byte [ebx + 0x4a], 0
jne 0x43db62
cmp dword [ebx + 0xac], 0
mov byte [ebx + 0x49], 1
jle 0x43db5c
mov dword [ebx + 0x100], 1
inc dword [ebx + 0x108]
push str.out_of_memory
push esi
call fcn.004335d0
add esp, 8
mov eax, 7
jmp 0x43f09a
mov ecx, dword [esi]
mov eax, ecx
cdq
add dword [ebp - 0x16c], eax
adc dword [ebp - 0x144], edx
sub dword [ebp - 0x1a4], ecx
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x138]
add ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x138], ecx
adc dword [ebp - 0x13c], 0
cmp eax, 0x7f
ja 0x43dbbc
mov eax, 1
jmp 0x43dbc7
push 0
push eax
call fcn.004175b0
add esp, 8
mov ecx, dword [ebp - 0x140]
add ecx, eax
mov dword [ebp - 0x140], ecx
cmp esi, dword [ebp - 0x154]
je 0x43dbeb
mov edx, dword [ebp - 0x134]
sub esi, 0x28
jmp 0x43daf1
cmp ecx, 0x7e
jle 0x43dc1f
mov eax, ecx
cdq
push edx
push eax
call fcn.004175b0
mov esi, eax
mov eax, dword [ebp - 0x140]
add eax, esi
mov dword [ebp - 0x140], eax
cdq
push edx
push eax
call fcn.004175b0
mov ecx, dword [ebp - 0x140]
add esp, 0x10
cmp esi, eax
jge 0x43dc26
inc ecx
mov dword [ebp - 0x140], ecx
mov eax, ecx
cdq
mov esi, eax
mov eax, edx
mov edx, dword [ebp - 0x138]
add edx, esi
mov dword [ebp - 0x14c], esi
mov esi, dword [ebp - 0x13c]
adc esi, eax
mov dword [ebp - 0x138], edx
add edx, dword [ebp - 0x16c]
mov dword [ebp - 0x134], eax
mov eax, dword [ebx + 0x64]
adc esi, dword [ebp - 0x144]
mov dword [ebp - 0x15c], edx
cdq
cmp esi, edx
jg 0x441b03
jl 0x43dc7b
cmp dword [ebp - 0x15c], eax
ja 0x441b03
mov esi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x138]
cmp dword [esi + 0x18], eax
jge 0x43dcaa
push 0
mov edx, eax
mov ecx, esi
call fcn.00432010
add esp, 4
test eax, eax
jne 0x43db33
mov ecx, dword [ebp - 0x140]
jmp 0x43dcb5
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov edi, dword [esi + 0x10]
cmp ecx, 0x80
jae 0x43dcc9
mov byte [edi], cl
mov eax, 1
jmp 0x43dcdf
push dword [ebp - 0x134]
mov ecx, edi
push dword [ebp - 0x14c]
call fcn.00417350
add esp, 8
mov ebx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x140]
movzx esi, al
nop
mov ebx, dword [ebx + 0x1c]
cmp ebx, 0x80
jae 0x43dd05
mov byte [esi + edi], bl
mov eax, 1
jmp 0x43dd19
push 0
push ebx
lea ecx, [esi + edi]
call fcn.00417350
mov ecx, dword [ebp - 0x140]
add esp, 8
push ebx
mov ebx, dword [ebp - 0x154]
add ecx, edi
movzx eax, al
mov edx, ebx
add esi, eax
call fcn.00437060
mov ecx, dword [ebp - 0x140]
add ebx, 0x28
add ecx, eax
mov dword [ebp - 0x154], ebx
add esp, 4
mov dword [ebp - 0x140], ecx
cmp ebx, dword [ebp - 0x17c]
jbe 0x43dcf0
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x16c]
mov edi, dword [ebp - 0x130]
mov esi, dword [ebp - 0x114]
mov dword [edx + 0xc], eax
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [ebp - 0x144]
je 0x44180e
mov ebx, dword [ebp - 0x168]
mov eax, 0x4010
mov dword [edx], ecx
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov word [edx + 8], ax
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov ecx, dword [edi + 4]
lea edx, [ebp - 0x1f8]
mov eax, dword [esi + 0x70]
xorps xmm0, xmm0
movlpd qword [ebp - 0x1f8], xmm0
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
call fcn.0042fd70
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f09a
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov ecx, dword [ebp - 0x1f8]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1f4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x134], eax
test ecx, ecx
jne 0x43df0c
cmp dword [ebx + 0xa8], ecx
jg 0x441912
mov ecx, eax
call fcn.00416400
mov ecx, dword [ebx + 0x1bc]
mov esi, eax
add ecx, dword [ebx + 0x1b8]
xor edx, edx
push ecx
mov ecx, ebx
mov dword [ebp - 0x14c], esi
call fcn.0047edb0
add esp, 4
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
lea eax, [esi + 0x21]
mov ecx, ebx
push 0
push eax
call fcn.004138a0
mov esi, eax
add esp, 8
test esi, esi
je 0x43bdb2
mov ecx, dword [ebp - 0x14c]
lea edx, [esi + 0x20]
inc ecx
mov dword [esi], edx
push ecx
push dword [ebp - 0x134]
push edx
call fcn.004e0df0
add esp, 0xc
cmp byte [ebx + 0x47], 0
je 0x43deb3
mov byte [ebx + 0x47], 0
mov byte [ebx + 0x4f], 1
jmp 0x43deb9
inc dword [ebx + 0x1b8]
mov eax, dword [ebx + 0x1b0]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0x1c0]
mov dword [ebx + 0x1b0], esi
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x1c4]
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x1c8]
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 0x1cc]
mov ebx, dword [ebp - 0x168]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov esi, dword [ebx + 0x1b0]
xor ecx, ecx
mov dword [ebp - 0x138], ecx
test esi, esi
je 0x441971
mov ecx, dword [esi]
mov edx, eax
call fcn.00416710
test eax, eax
je 0x43df40
inc dword [ebp - 0x138]
mov esi, dword [esi + 0x18]
mov eax, dword [ebp - 0x134]
jmp 0x43df1a
cmp dword [ebx + 0xa8], 0
mov edx, dword [ebp - 0x144]
jle 0x43df58
cmp edx, 1
je 0x44192a
cmp dword [esi + 0x18], 0
jne 0x43dfbc
cmp byte [ebx + 0x4f], 0
je 0x43dfbc
mov dword [ebp - 0x134], 1
cmp edx, 1
jne 0x43dfc6
mov ecx, dword [ebp - 0x114]
call fcn.00436460
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x441ea0
mov ecx, dword [ebp - 0x114]
mov byte [ebx + 0x47], 1
call fcn.004364c0
cmp eax, 5
je 0x441934
mov eax, dword [ebp - 0x114]
mov byte [ebx + 0x4f], 0
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x120], eax
jmp 0x43e0f4
mov dword [ebp - 0x134], 0
mov ecx, dword [ebx + 0x1b8]
sub ecx, dword [ebp - 0x138]
dec ecx
mov dword [ebp - 0x138], ecx
cmp edx, 2
jne 0x43e069
mov eax, dword [ebx + 0x18]
and eax, 1
mov dword [ebp - 0x128], 0
cmp dword [ebx + 0x14], 0
mov dword [ebp - 0x13c], eax
jle 0x43e073
mov ecx, eax
xor ecx, 1
xor eax, eax
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x15c], eax
push ecx
mov ecx, dword [ebx + 0x10]
mov edx, 0x204
mov ecx, dword [ecx + eax + 4]
call fcn.00429fe0
add esp, 4
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x15c]
inc ecx
add eax, 0x10
mov dword [ebp - 0x128], ecx
cmp ecx, dword [ebx + 0x14]
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x15c], eax
jl 0x43e011
mov ecx, dword [ebp - 0x138]
mov edx, dword [ebp - 0x144]
jmp 0x43e073
mov dword [ebp - 0x13c], 0
cmp dword [ebx + 0x14], 0
mov dword [ebp - 0x128], 0
jle 0x43e0db
xor eax, eax
mov dword [ebp - 0x15c], eax
nop dword [eax + eax]
push ecx
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax + 4]
call fcn.0042a2e0
add esp, 4
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x15c]
inc ecx
mov edx, dword [ebp - 0x144]
add eax, 0x10
cmp ecx, dword [ebx + 0x14]
mov dword [ebp - 0x128], ecx
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x15c], eax
jl 0x43e090
cmp dword [ebp - 0x13c], 0
je 0x43e0f4
mov ecx, ebx
call fcn.004387a0
call fcn.00455530
or dword [ebx + 0x18], 1
cmp dword [ebx + 0x1b0], esi
je 0x43e15a
nop dword [eax]
cmp dword [ebx + 0x1d0], 0
mov ecx, dword [ebx + 0x1b0]
mov eax, dword [ecx + 0x18]
mov dword [ebx + 0x1b0], eax
je 0x43e123
mov edx, ecx
mov ecx, ebx
call fcn.00413520
jmp 0x43e14c
cmp ecx, dword [ebx + 0x128]
jb 0x43e143
cmp ecx, dword [ebx + 0x12c]
jae 0x43e143
mov eax, dword [ebx + 0x124]
mov dword [ecx], eax
mov dword [ebx + 0x124], ecx
jmp 0x43e14c
push ecx
call fcn.004134b0
add esp, 4
dec dword [ebx + 0x1b8]
cmp dword [ebx + 0x1b0], esi
jne 0x43e100
mov ecx, dword [ebp - 0x144]
cmp ecx, 1
jne 0x43e1cf
mov eax, dword [esi + 0x18]
mov edx, esi
mov ecx, ebx
mov dword [ebx + 0x1b0], eax
call fcn.004135a0
cmp dword [ebp - 0x134], 0
jne 0x43e201
dec dword [ebx + 0x1b8]
mov ecx, dword [ebp - 0x138]
mov edx, dword [ebp - 0x144]
push ecx
mov ecx, ebx
call fcn.0047edb0
mov esi, dword [ebp - 0x114]
add esp, 4
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f09a
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
cmp dword [ebp - 0x134], 0
mov eax, dword [esi + 8]
mov dword [ebx + 0x1c0], eax
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x1c4], eax
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x1c8], eax
mov eax, dword [esi + 0x14]
mov dword [ebx + 0x1cc], eax
je 0x43e18a
cmp ecx, 2
je 0x43e18a
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0x114]
test eax, eax
jne 0x43f09a
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov edx, dword [edi + 8]
test edx, edx
je 0x43e243
test dword [ebx + 0x1c], 0x100000
jne 0x441990
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x43e33f
mov ecx, esi
call fcn.00429160
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x44199a
cmp dword [edi + 8], eax
je 0x43e312
mov ecx, dword [ebp - 0x114]
test byte [ecx + 0x94], 0x40
je 0x43e312
cmp byte [ebx + 0x47], al
je 0x43e29a
cmp dword [ebx + 0xa4], 1
jle 0x43e312
cmp dword [ecx + 0x30], 0
jne 0x43e2b5
mov eax, dword [ebx + 0x1b8]
inc dword [ebx + 0x1bc]
add eax, dword [ebx + 0x1bc]
mov dword [ecx + 0x30], eax
mov eax, dword [ecx + 0x30]
xor edx, edx
dec eax
mov ecx, ebx
push eax
call fcn.0047edb0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x120], ecx
test ecx, ecx
jne 0x43e2e8
mov eax, dword [ebp - 0x114]
mov ecx, esi
mov edx, dword [eax + 0x30]
call fcn.0042a280
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebx + 0x1c0]
mov dword [ecx + 0x48], eax
mov eax, dword [ebx + 0x1c4]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebx + 0x1c8]
mov dword [ecx + 0x50], eax
mov eax, dword [ebx + 0x1cc]
mov dword [ecx + 0x54], eax
lea eax, [ebp - 0x1bc]
mov edx, 1
push eax
mov ecx, esi
call fcn.0042fc40
mov ecx, dword [edi + 4]
add esp, 4
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov esi, dword [ebp - 0x1bc]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x43e349
xor esi, esi
xor eax, eax
mov dword [ebp - 0x1bc], esi
cmp word [edi + 2], 0
je 0x43e362
cmp esi, dword [edi + 0xc]
jne 0x4419d6
cmp eax, dword [edi + 0x10]
jne 0x4419d6
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0x114]
test eax, eax
jne 0x43f09a
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [ebx + 0x10]
lea eax, [ebp - 0x1dc]
mov edx, dword [edi + 0xc]
push eax
mov eax, dword [edi + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0042fc40
add esp, 4
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov ebx, dword [ebp - 0x168]
mov ecx, eax
mov eax, dword [ebp - 0x1dc]
add edi, 0x14
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x118]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x11c]
jmp 0x43bbfe
mov esi, dword [edi + 4]
push dword [edi + 0xc]
mov edx, dword [edi + 8]
shl esi, 4
add esi, dword [ebx + 0x10]
mov ecx, dword [esi + 4]
call fcn.0042fca0
mov dword [ebp - 0x120], eax
add esp, 4
mov eax, dword [edi + 8]
cmp eax, 1
jne 0x43e415
mov ecx, dword [esi + 0xc]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
or dword [ebx + 0x18], 1
jmp 0x43e423
cmp eax, 2
jne 0x43e423
mov ecx, dword [esi + 0xc]
mov al, byte [edi + 0xc]
mov byte [ecx + 0x4c], al
cmp dword [edi + 4], 1
jne 0x43e43f
mov ecx, ebx
call fcn.004387a0
mov esi, dword [ebp - 0x114]
and dword [esi + 0x94], 0xfffffffe
jmp 0x43e445
mov esi, dword [ebp - 0x114]
mov eax, dword [ebp - 0x120]
test eax, eax
jne 0x43f09a
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x43e486
mov eax, dword [esi + 0x34]
cmp eax, dword [edi + 8]
je 0x43e5d0
mov esi, dword [ebp - 0x114]
mov al, byte [ebp - 0x129]
test byte [esi + 0x94], 1
jne 0x441a2b
mov esi, dword [edi + 0xc]
mov ecx, esi
mov edx, dword [edi + 8]
shl ecx, 4
add ecx, dword [ebx + 0x10]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x13c], edx
mov ebx, dword [ecx + 4]
mov dword [ebp - 0x154], ebx
mov ebx, dword [ebp - 0x168]
mov dword [ebp - 0x14c], esi
cmp al, 0x69
jne 0x43e512
mov eax, dword [ecx + 0xc]
movzx edx, word [edi + 2]
mov ecx, dword [ebp - 0x114]
and edx, 8
or edx, 4
mov al, byte [eax + 0x4c]
mov dword [ebp - 0x128], edx
mov edx, dword [ebp - 0x13c]
cmp al, byte [ecx + 0x8f]
jae 0x43e51c
mov byte [ecx + 0x8f], al
jmp 0x43e51c
mov dword [ebp - 0x128], 0
test byte [edi + 2], 0x10
je 0x43e543
mov ecx, dword [ebp - 0x124]
lea eax, [edx + edx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004326f0
mov eax, dword [esi]
mov esi, dword [ebp - 0x14c]
mov dword [ebp - 0x13c], eax
mov al, byte [edi + 1]
cmp al, 0xf7
jne 0x43e559
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x134], eax
movzx eax, word [eax + 8]
jmp 0x43e568
cmp al, 0xfd
jne 0x43e562
mov eax, dword [edi + 0x10]
jmp 0x43e568
mov eax, dword [ebp - 0x15c]
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0x114]
push 0
push esi
push eax
call fcn.0043b750
mov esi, eax
add esp, 0xc
test esi, esi
je 0x43db33
push dword [esi + 0x28]
mov eax, dword [ebp - 0x13c]
mov edx, eax
push dword [ebp - 0x134]
mov ecx, dword [ebp - 0x154]
push dword [ebp - 0x128]
or dword [esi + 8], 4
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
call fcn.0042a460
mov dword [ebp - 0x120], eax
add esp, 0xc
mov eax, dword [ebp - 0x134]
mov dword [esi + 0x2c], eax
cmp byte [edi + 1], 0xf7
setne al
mov byte [esi + 4], al
mov eax, dword [esi + 0x28]
mov cl, byte [edi + 2]
mov esi, dword [ebp - 0x114]
and cl, 3
mov byte [eax + 3], cl
mov eax, dword [ebp - 0x120]
test eax, eax
jne 0x43f09a
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [edi + 8]
mov eax, dword [esi + 0x70]
mov edx, dword [edi + 4]
push 0
push 0xffffffffffffffff
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x114]
movsx eax, word [esi + 0x38]
push eax
call fcn.0043b750
mov edx, eax
add esp, 0xc
test edx, edx
je 0x43db33
or dword [edx + 8], 1
push dword [edx + 0x28]
mov byte [edx + 2], 1
mov ecx, dword [esi + 0x2c]
mov dword [edx + 0x2c], ecx
mov al, byte [esi + 4]
push ecx
mov byte [edx + 4], al
mov edx, 1
mov ecx, dword [esi + 0xc]
push 4
call fcn.0042a460
mov esi, dword [ebp - 0x114]
mov ebx, eax
mov ecx, dword [ebp - 0x11c]
add esp, 0xc
mov eax, dword [ebp - 0x118]
add edi, 0x14
mov dword [ebp - 0x120], ebx
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov edx, dword [edi + 4]
mov ecx, esi
push 0
push 0xffffffffffffffff
push dword [edi + 8]
call fcn.0043b750
mov esi, eax
add esp, 0xc
test esi, esi
je 0x43db33
or dword [esi + 8], 1
lea ecx, [esi + 0xc]
mov byte [esi + 2], 1
xor edx, edx
movzx eax, word [edi + 2]
push 0x41e
or eax, 5
push eax
push ecx
mov ecx, dword [ebx]
push ebx
call fcn.00428060
add esp, 0x10
test eax, eax
jne 0x43f094
mov ecx, dword [esi + 0xc]
lea edx, [eax + 1]
call fcn.00429160
test eax, eax
jne 0x43f094
mov eax, dword [edi + 0x10]
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x14c], eax
mov dword [esi + 0x2c], eax
test eax, eax
je 0x43e743
movzx eax, word [edi + 2]
lea edx, [ebp - 0x1e0]
or eax, 2
push eax
call fcn.0042f670
add esp, 4
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43e73d
push dword [esi + 0x28]
mov edx, dword [ebp - 0x1e0]
push dword [ebp - 0x14c]
mov ecx, dword [esi + 0xc]
push 4
call fcn.0042a460
add esp, 0xc
mov dword [ebp - 0x120], eax
mov byte [esi + 4], 0
jmp 0x43e761
push dword [esi + 0x28]
mov edx, 1
push 0
push 4
call fcn.0042a460
add esp, 0xc
mov dword [ebp - 0x120], eax
mov byte [esi + 4], 1
test eax, eax
jne 0x43f094
mov ebx, dword [ebp - 0x168]
xor ecx, ecx
cmp word [edi + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov eax, dword [ebp - 0x118]
mov dword [esi + 8], ecx
add edi, 0x14
mov esi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x11c]
jmp 0x43bbfe
mov edx, dword [edi + 4]
mov ecx, esi
push 1
push 0xffffffffffffffff
push dword [edi + 8]
call fcn.0043b750
add esp, 0xc
test eax, eax
je 0x43db39
mov ecx, dword [edi + 0x10]
mov dword [eax + 0x2c], ecx
mov ecx, ebx
mov edx, dword [edi + 0xc]
push eax
call fcn.00443720
add esp, 4
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f09a
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, 1
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov edi, dword [ebp - 0x130]
mov esi, dword [ebp - 0x114]
mov dword [edx + 0x14], eax
je 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov edx, dword [edi + 4]
mov ecx, esi
push 3
push 0xffffffffffffffff
push dword [edi + 0xc]
call fcn.0043b750
add esp, 0xc
test eax, eax
je 0x43db39
mov ebx, dword [ebp - 0x168]
mov byte [eax + 2], 1
mov ecx, dword [edi + 8]
add edi, 0x14
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x11c]
mov byte [eax + 4], 1
mov dword [eax + 0x28], 0x556e4c
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, esi
mov edx, dword [esi + 0x70]
mov edx, dword [edx + eax*4]
call fcn.00435720
mov ecx, dword [edi + 4]
add edi, 0x14
mov eax, dword [esi + 0x70]
mov ebx, dword [ebp - 0x168]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x13c], 0
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x124]
cmp byte [esi + 4], 0
mov byte [esi + 2], 0
je 0x43ea3a
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov al, byte [ecx + 8]
and al, 0xe
mov dword [ebp - 0x134], ecx
cmp al, 2
jne 0x43e916
xor edx, edx
call fcn.0043b890
mov ecx, dword [ebp - 0x134]
call fcn.004325e0
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x144], edx
movzx ecx, word [ecx + 8]
test cl, 4
jne 0x43e986
test cl, 8
je 0x43bc66
mov ecx, eax
call fcn.004d8ec0
mov eax, dword [ebp - 0x134]
movsd xmm1, qword [eax]
comisd xmm0, xmm1
jbe 0x43e96f
mov ecx, dword [ebp - 0x154]
test cl, 1
lea eax, [ecx - 1]
cmove eax, ecx
mov ecx, eax
mov dword [ebp - 0x154], ecx
jmp 0x43e986
comisd xmm1, xmm0
jbe 0x43e986
mov eax, dword [ebp - 0x154]
test al, 1
jne 0x43e986
inc eax
mov dword [ebp - 0x154], eax
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x178]
push eax
push 0
push dword [ebp - 0x144]
xor edx, edx
push dword [ebp - 0x16c]
call fcn.0042afe0
mov dword [ebp - 0x120], eax
add esp, 0x10
mov eax, dword [ebp - 0x16c]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x144]
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0x120]
test eax, eax
jne 0x43f094
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x178]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
cmp eax, 0x1a
jl 0x43eb24
test ecx, ecx
js 0x43ead7
jne 0x43ea01
cmp eax, 0x1b
je 0x43ead7
mov dword [ebp - 0x178], 0
cmp dword [ebp - 0x13c], 0
lea eax, [edi + 0x14]
mov esi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x11c]
cmove eax, edi
mov ebx, dword [ebp - 0x168]
mov edi, eax
mov eax, dword [ebp - 0x118]
add edi, 0x14
jmp 0x43bbfe
mov eax, dword [esi + 0x28]
mov al, byte [eax + 3]
and al, 2
mov byte [ebp - 0x129], al
mov eax, 0
setne al
test dl, 1
mov dword [ebp - 0x13c], eax
lea edx, [ebp - 0x6c]
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x6c], eax
mov ax, word [edi + 0x10]
mov word [ebp - 0x64], ax
sete al
mov byte [ebp - 0x5e], 0
lea eax, [eax*2 - 1]
mov byte [ebp - 0x62], al
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x178]
mov ecx, dword [esi + 0x28]
push eax
push 0
push 0
push 0
call fcn.0042afe0
add esp, 0x10
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
cmp byte [ebp - 0x129], al
je 0x43e9ce
cmp byte [ebp - 0x5e], 0
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x13c], eax
jne 0x43e9ce
mov ecx, dword [ebp - 0x178]
jmp 0x43eb40
push 0
push dword [esi + 0x28]
mov dword [ebp - 0x178], 0
call fcn.0042b6b0
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
je 0x43ea0b
mov esi, dword [ebp - 0x114]
cmp eax, 0x65
jne 0x43f09a
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x178], 1
jmp 0x43bc6c
test ecx, ecx
jg 0x43eb4d
jne 0x43eb2f
cmp eax, 0x18
je 0x43eb4d
mov eax, dword [esi + 0x28]
xor ecx, ecx
cmp byte [eax], 1
setne cl
mov dword [ebp - 0x178], ecx
test ecx, ecx
jne 0x43bc66
jmp 0x43ea0b
push 0
push dword [esi + 0x28]
mov dword [ebp - 0x178], 0
call fcn.0042b810
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
je 0x43ea0b
mov esi, dword [ebp - 0x114]
cmp eax, 0x65
jne 0x43f09a
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x178], 1
jmp 0x43bc6c
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x124]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x128], edi
cmp dword [ecx + 0x10], 0
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
jle 0x43ebf6
mov eax, dword [edi + 0x2c]
lea edi, [ebp - 0x9c]
mov dword [ebp - 0x9c], eax
mov ax, word [ecx + 0x10]
mov dword [ebp - 0x98], esi
mov esi, dword [ebp - 0x128]
mov word [ebp - 0x94], ax
mov dword [ebp - 0x15c], 0
jmp 0x43ec46
mov eax, 0x4000
test word [esi + 8], ax
je 0x43ec10
mov ecx, esi
call fcn.00432210
test eax, eax
jne 0x43db33
mov ecx, dword [edi + 0x2c]
call fcn.00437380
mov edi, eax
mov dword [ebp - 0x15c], edi
test edi, edi
je 0x43db33
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov esi, dword [ebp - 0x128]
mov ecx, dword [esi + 0x2c]
call fcn.004373d0
mov ecx, dword [ebp - 0x130]
add esp, 8
mov byte [edi + 0xa], 0
cmp byte [ecx], 0x1c
mov dword [ebp - 0x128], 0
jne 0x43ec89
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
je 0x43ec89
mov eax, dword [edi + 4]
add eax, 8
nop dword [eax]
test byte [eax], 1
jne 0x43ec7f
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x43ec70
jmp 0x43ec89
mov dword [ebp - 0x128], 1
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x1e4]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.0042afe0
mov edx, dword [ebp - 0x15c]
add esp, 0x10
mov dword [ebp - 0x120], eax
test edx, edx
je 0x43ecc0
mov ecx, ebx
call fcn.00413560
mov eax, dword [ebp - 0x120]
test eax, eax
jne 0x43f094
mov eax, dword [ebp - 0x1e4]
xor ecx, ecx
mov edi, dword [ebp - 0x130]
test eax, eax
mov dword [esi + 0x20], eax
mov al, 1
sete cl
mov byte [esi + 3], 0
sub al, cl
mov dword [esi + 0x1c], 0
mov byte [esi + 2], al
cmp byte [edi], 0x1e
mov esi, dword [ebp - 0x114]
jne 0x43ed1d
test ecx, ecx
jne 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
cmp dword [ebp - 0x128], 0
jne 0x43bc6c
test ecx, ecx
je 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
test al, 4
jne 0x43ed92
test al, 8
jne 0x43ed79
test al, 2
je 0x43ed80
mov edx, 1
mov ecx, esi
call fcn.0043b890
jmp 0x43ed80
mov ecx, esi
call fcn.00432690
test byte [esi + 8], 4
mov esi, dword [ebp - 0x114]
je 0x43bc6c
jmp case.0x43bc28.32
mov esi, dword [ebp - 0x114]
mov ecx, dword [edi + 4]
xor edx, edx
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x1b8], 0
mov ebx, dword [eax + ecx*4]
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8]
mov edi, dword [ecx + eax*8 + 4]
lea eax, [ebp - 0x1b8]
mov ecx, dword [ebx + 0x28]
push eax
push 0
push edi
push esi
call fcn.0042afe0
mov dword [ebp - 0x120], eax
add esp, 0x10
mov eax, dword [ebp - 0x1b8]
mov dword [ebx + 0x44], edi
mov edi, dword [ebp - 0x130]
mov dword [ebx + 0x40], esi
mov word [ebx + 2], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], eax
test eax, eax
je 0x43ee20
cmp dword [edi + 8], 0
jne 0x43bc66
mov ecx, 0x14586
call fcn.00492cf0
mov ebx, eax
mov dword [ebp - 0x120], ebx
jmp 0x43ee26
mov ebx, dword [ebp - 0x120]
mov esi, dword [ebp - 0x114]
test ebx, ebx
je 0x44180e
mov ebx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x120]
jmp 0x43f09a
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x70]
mov ebx, dword [ebp - 0x168]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x10]
mov dword [eax], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x11c]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
add edi, 0x14
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
xorps xmm0, xmm0
mov dword [ebp - 0x198], 0
mov edx, edi
movlpd qword [ebp - 0x18], xmm0
mov ecx, esi
call fcn.0043bae0
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x70]
mov dword [ebp - 0x15c], eax
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0x144], ecx
test byte [ecx + 8], 2
jne 0x43ef45
mov ecx, dword [ecx + 0x28]
lea edx, [ebp - 0x198]
call fcn.0042af90
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f09a
cmp dword [ebp - 0x198], eax
je 0x43eefa
mov eax, 1
xor esi, esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
jmp 0x43ef4b
mov eax, dword [ebp - 0x144]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.0042a5a0
mov eax, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
cmp esi, 0x7fffffff
jl 0x43ef37
jg 0x43ef2b
cmp eax, 0xffffffff
jb 0x43ef37
mov ecx, dword [ebp - 0x144]
or dword [ecx + 8], 2
jmp 0x43ef51
add eax, 1
mov dword [ebp - 0x18], eax
adc esi, 0
mov dword [ebp - 0x14], esi
jmp 0x43ef4b
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x138], eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x43f006
mov eax, dword [ebp - 0x114]
mov edx, dword [eax + 0xc4]
test edx, edx
je 0x43ef87
mov eax, dword [edx + 4]
test eax, eax
je 0x43ef7c
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x43ef73
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
jmp 0x43ef93
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x124]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x128], ecx
call fcn.004326f0
mov ecx, dword [ebp - 0x128]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
cmp edx, 0xffffffff
jne 0x43efb9
cmp eax, 0x7fffffff
je 0x43f08f
mov ebx, dword [ebp - 0x144]
test byte [ebx + 8], 2
mov ebx, dword [ebp - 0x168]
jne 0x43f08f
add edx, 1
adc eax, 0
mov dword [ebp - 0x14c], eax
cmp esi, eax
jg 0x43effb
jl 0x43efeb
mov eax, dword [ebp - 0x138]
cmp eax, edx
jae 0x43f001
mov esi, dword [ebp - 0x14c]
mov eax, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
jmp 0x43f001
mov eax, dword [ebp - 0x138]
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [ebp - 0x144]
test byte [ecx + 8], 2
je 0x43f106
mov dword [ebp - 0x128], 0
lea eax, [ebp - 0x18]
push eax
push 8
call fcn.00415940
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x198]
mov eax, dword [ebp - 0x18]
and esi, 0x3fffffff
add eax, 1
push ecx
adc esi, 0
mov dword [ebp - 0x138], eax
push 0
push esi
mov dword [ebp - 0x18], eax
xor edx, edx
push eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x14], esi
mov ecx, dword [eax + 0x28]
call fcn.0042afe0
add esp, 0x18
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
cmp dword [ebp - 0x198], eax
jne 0x43f0fa
mov eax, dword [ebp - 0x128]
inc eax
mov dword [ebp - 0x128], eax
cmp eax, 0x64
jl 0x43f020
mov eax, 0xd
mov esi, dword [ebp - 0x114]
cmp byte [ebx + 0x49], 0
mov ecx, 7
cmovne eax, ecx
cmp dword [esi + 0x6c], 0
mov dword [ebp - 0x120], eax
jne 0x441dd1
cmp eax, 0xc0a
je 0x441dd1
mov ecx, dword [ebp - 0x120]
mov eax, str.unknown_error
cmp ecx, 0x204
je 0x441db7
movzx ecx, cl
cmp ecx, 0x1b
jae 0x441dbc
mov ecx, dword [ecx*4 + 0x53f588]
test ecx, ecx
je 0x441dbc
mov eax, ecx
jmp 0x441dbc
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x144]
mov ebx, dword [ebp - 0x168]
add edi, 0x14
mov byte [ecx + 3], 0
mov dword [ecx + 0x1c], 0
mov ecx, dword [ebp - 0x15c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x118]
mov dword [ecx + 4], esi
mov esi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x11c]
jmp 0x43bbfe
cmp byte [ebp - 0x129], 0x74
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x128], 0
lea eax, [eax + eax*4]
mov dword [ebp - 0x14c], eax
mov eax, dword [esi + 0x70]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx + 0xc]
jne 0x43f17f
mov edx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*8]
mov edx, dword [edx + eax*8 + 4]
jmp 0x43f182
cdq
mov esi, eax
cmp byte [ecx + 1], 0xfa
mov dword [ebp - 0x23c], edx
mov dword [ebp - 0x240], esi
jne 0x43f1d6
cmp dword [ebx + 0xe0], 0
je 0x43f1d6
movsx ecx, byte [edi + 1]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x134], eax
mov eax, dword [ecx + 0x10]
test byte [ecx + 2], 4
mov dword [ebp - 0x15c], eax
mov eax, 0x12
cmovne eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x128], eax
jmp 0x43f1ea
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x134], 0
test byte [ecx + 2], 1
je 0x43f1f9
mov eax, dword [ebp - 0x114]
inc dword [eax + 0x2c]
test byte [ecx + 2], 0x20
je 0x43f205
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], edx
mov esi, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x124]
movzx ecx, word [ecx + 2]
mov eax, dword [edx + esi*8 + 0x10]
mov dword [ebp - 0x238], eax
mov eax, dword [edx + esi*8 + 0xc]
mov dword [ebp - 0x22c], eax
test cl, 0x10
je 0x43f233
mov edx, dword [edi + 0x20]
jmp 0x43f235
xor edx, edx
mov eax, dword [ebp - 0x124]
mov ebx, 0x4000
test word [eax + esi*8 + 8], bx
mov ebx, dword [ebp - 0x168]
je 0x43f258
mov eax, dword [eax + esi*8]
mov dword [ebp - 0x228], eax
jmp 0x43f262
mov dword [ebp - 0x228], 0
push edx
and ecx, 0xa
mov dword [ebp - 0x248], 0
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x248]
call fcn.0042ebe0
add esp, 8
mov dword [ebp - 0x120], eax
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
test eax, eax
jne 0x43f094
mov eax, dword [ebx + 0xe0]
test eax, eax
je 0x43c08c
mov ecx, dword [ebp - 0x128]
test ecx, ecx
je 0x43c08c
push dword [ebp - 0x23c]
mov edx, dword [ebp - 0x15c]
push dword [ebp - 0x240]
push dword [edx]
push dword [ebp - 0x134]
push ecx
push dword [ebx + 0xdc]
call eax
mov edi, dword [ebp - 0x130]
add esp, 0x18
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
cmp byte [edi + 1], 0xfa
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x14c], eax
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x128], esi
jne 0x43f371
cmp dword [ebx + 0xe0], 0
je 0x43f371
movsx ecx, byte [esi + 1]
mov eax, dword [ebx + 0x10]
add ecx, ecx
test byte [edi + 2], 2
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x134], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x15c], eax
je 0x43f383
cmp byte [esi + 4], 0
je 0x43f383
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0042a5a0
mov ecx, dword [ebp - 0x128]
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x40], eax
mov eax, dword [esi + 0x1c]
mov esi, ecx
mov dword [esi + 0x44], eax
jmp 0x43f383
xor eax, eax
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x15c], eax
mov dl, byte [edi + 2]
mov ecx, dword [esi + 0x28]
call fcn.0042ef90
mov dword [ebp - 0x120], eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
test eax, eax
jne 0x43f094
test byte [ebp - 0x14c], 1
je 0x43bdb2
mov eax, dword [ebp - 0x114]
inc dword [eax + 0x2c]
mov ecx, dword [ebx + 0xe0]
test ecx, ecx
je 0x44180c
mov eax, dword [ebp - 0x15c]
test byte [eax + 0x24], 0x20
jne 0x43bdb2
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [eax]
push dword [ebp - 0x134]
push 9
push dword [ebx + 0xdc]
call ecx
mov esi, dword [ebp - 0x114]
add esp, 0x18
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [esi + 0x2c]
add dword [ebx + 0x60], eax
add edi, 0x14
mov dword [ebx + 0x5c], eax
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
mov dword [esi + 0x2c], 0
jmp 0x43bbfe
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x1b0], 0
mov ecx, dword [eax + ecx*4]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x1b0]
push eax
push dword [edi + 0x10]
call fcn.00445da0
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f09a
cmp dword [ebp - 0x1b0], eax
jne 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + ecx*4]
call fcn.00445d00
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f09a
mov ecx, dword [edi + 0xc]
add edi, 0x14
mov eax, dword [esi + 0x70]
mov ebx, dword [ebp - 0x168]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x11c]
mov dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov edx, dword [edi + 4]
mov esi, eax
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax + 0x70]
mov ecx, dword [ecx + edx*4]
mov eax, dword [ecx + 0x28]
mov ecx, eax
mov dword [ebp - 0x14c], eax
call fcn.0042a5a0
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ecx + 0x24]
cmp eax, dword [ebx + 0x64]
ja 0x441b03
push esi
push eax
xor edx, edx
call fcn.00432ec0
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
cmp dword [edi + 0xc], eax
jne 0x43bdb2
mov eax, 0x1000
test word [esi + 8], ax
je 0x43bdb2
mov ecx, esi
call fcn.004321c0
mov esi, dword [ebp - 0x114]
test eax, eax
jne 0x43db39
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x70]
mov dword [ebp - 0x128], eax
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x43f5de
mov esi, dword [ebp - 0x114]
mov ecx, 1
mov ebx, dword [ebp - 0x168]
add edi, 0x14
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
cmp byte [esi + 3], 0
je 0x43f5f2
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0x20], ecx
mov eax, dword [esi + 0x44]
jmp 0x43f6ca
cmp byte [esi], 2
jne 0x43f659
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x20]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
add esp, 8
mov dword [ebp - 0x120], eax
mov edx, esi
mov esi, dword [ebp - 0x114]
mov ecx, esi
call fcn.00438880
mov eax, dword [ebp - 0x120]
test eax, eax
jne 0x43f09a
mov edx, dword [ebp - 0x128]
add edi, 0x14
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x168]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x11c]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov eax, dword [esi + 0x28]
cmp byte [eax], 1
je 0x43f678
mov ecx, esi
call fcn.00436e50
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
jmp 0x43f682
mov dword [ebp - 0x120], 0
cmp byte [esi + 2], 0
je 0x43f6b7
mov edx, dword [ebp - 0x128]
mov eax, 1
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x168]
mov word [edx + 8], ax
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0042a5a0
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0x20], ecx
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x128]
add edi, 0x14
mov esi, dword [ebp - 0x114]
mov ebx, dword [ebp - 0x168]
mov dword [ebp - 0x1c], eax
mov dword [edx], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x11c]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 0
mov byte [ecx + 2], 1
mov dword [ecx + 0x1c], 0
jne 0x44180e
mov ecx, dword [ecx + 0x28]
call fcn.00426680
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
cmp byte [ebp - 0x129], 0x7d
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x1cc], 0
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x28]
jne 0x43f769
mov dword [esi + 0x20], 0xffffffff
cmp byte [ecx], 1
je 0x43bdb2
lea edx, [ebp - 0x1cc]
call fcn.0042af90
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x120]
mov byte [esi + 2], al
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov esi, dword [ebp - 0x114]
test ecx, ecx
jne 0x441a9f
cmp dword [edi + 8], ecx
jle 0x44180e
test eax, eax
jne 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [edi + 4]
lea edx, [ebp - 0x1a8]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.0042af60
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
cmp dword [ebp - 0x1a8], eax
jne 0x43bc66
mov ecx, esi
call fcn.0042b550
test edx, edx
jl 0x43bdb2
jg 0x43f819
test eax, eax
jb 0x43bdb2
push edx
push eax
call fcn.00417980
mov esi, dword [ebp - 0x114]
add esp, 8
cwde
cmp eax, dword [edi + 0xc]
jge 0x44180e
mov dword [ebp - 0x1a8], 1
jmp 0x43bc6c
inc dword [esi + 0xa8]
mov ecx, dword [edi + 4]
lea edx, [ebp - 0x1a0]
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x1a0], 1
mov esi, dword [eax + ecx*4]
cmp byte [esi], 1
jne 0x43f86f
mov ecx, esi
call fcn.00445c10
jmp 0x43f882
mov ecx, dword [esi + 0x28]
call fcn.0042af60
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
mov eax, dword [ebp - 0x1a0]
mov byte [esi + 2], al
mov esi, dword [ebp - 0x114]
test eax, eax
jne 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, ebx
call fcn.00445c70
jmp 0x43f908
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
cmp dword [eax + ecx*4], 0
je 0x44180e
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x130]
push dword [eax + 0xc]
mov eax, dword [eax + 0x10]
push dword [esi + 0x28]
call eax
mov edi, dword [ebp - 0x130]
add esp, 8
mov dword [ebp - 0x120], eax
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x43f932
mov ecx, dword [ebp - 0x114]
mov byte [esi + 2], al
movzx eax, word [edi + 2]
inc dword [ecx + eax*4 + 0xa0]
jmp case.0x43bc28.13
cmp eax, 0x65
jne 0x43f094
xor ecx, ecx
mov byte [esi + 2], 1
mov dword [ebp - 0x120], ecx
jmp 0x44121e
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x124]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x130]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
je 0x43f979
mov eax, dword [ebp - 0x114]
inc dword [eax + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x43f999
mov ecx, esi
call fcn.00432210
test eax, eax
jne 0x43f094
mov ecx, dword [ebp - 0x130]
cmp byte [ecx], 0x7e
jne 0x43f9a9
mov edx, esi
mov ecx, edi
call fcn.00444cf0
jmp 0x43fa0e
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x268], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x270], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x264], edx
mov edx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x25c], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x258], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x43f9ef
mov ecx, dword [edi + 0x20]
jmp 0x43f9f1
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x270]
and eax, 0xa
push eax
call fcn.0042ebe0
add esp, 8
mov dword [edi + 0x1c], 0
mov esi, dword [ebp - 0x114]
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f09a
mov edi, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov edx, dword [ebp - 0x124]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x8c], eax
mov ax, word [edi + 0xc]
mov word [ebp - 0x84], ax
mov eax, dword [edi + 8]
mov dword [ebp - 0x14c], ecx
mov byte [ebp - 0x82], 0
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x88], eax
lea edx, [ebp - 0x8c]
lea eax, [ebp - 0x208]
push eax
push 0
push 0
push 0
call fcn.0042afe0
add esp, 0x10
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
cmp dword [ebp - 0x208], eax
jne 0x43fad0
mov ecx, dword [ebp - 0x14c]
mov dl, 4
call fcn.0042ef90
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov esi, dword [ebp - 0x114]
jmp 0x43bbfe
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x28]
cmp byte [eax], 1
je 0x43fb26
mov ecx, esi
call fcn.00436e50
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
jmp 0x43fb2e
xor ecx, ecx
mov dword [ebp - 0x120], ecx
cmp byte [esi + 2], 0
jne 0x43fc06
mov edx, dword [esi + 0x28]
lea eax, [ebp - 0x1c8]
xorps xmm0, xmm0
mov ecx, ebx
push eax
movlpd qword [ebp - 0x1c8], xmm0
call fcn.00438560
add esp, 4
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
mov eax, dword [ebp - 0x130]
cmp byte [eax], 0x81
jne 0x43fbc6
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x114]
mov edi, dword [ebp - 0x130]
mov ebx, dword [ebp - 0x168]
mov eax, dword [eax + 0x70]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1c8]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ecx + 0x44], eax
mov word [ecx + 2], 0x100
mov eax, dword [edi + 0x10]
add edi, 0x14
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x118]
mov dword [ecx + 0x24], esi
mov esi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x11c]
jmp 0x43bbfe
mov esi, dword [ebp - 0x114]
mov edx, eax
mov ecx, esi
call fcn.0043bae0
mov ecx, dword [ebp - 0x1c8]
mov edi, dword [ebp - 0x130]
mov ebx, dword [ebp - 0x168]
add edi, 0x14
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1c4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00432920
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
cmp byte [ebp - 0x129], 0x28
mov dword [ebp - 0x194], 0
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x124]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x220], eax
mov ax, word [edi + 0x10]
mov word [ebp - 0x218], ax
sbb al, al
mov byte [ebp - 0x216], al
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, ebx
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.004386c0
add esp, 8
mov dword [ebp - 0x120], eax
test byte [edi], 1
mov eax, dword [ebp - 0x194]
jne 0x43fcb2
neg eax
jmp 0x43fcb3
inc eax
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x194], eax
test ecx, ecx
jne 0x441a9f
test eax, eax
jg 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov ecx, dword [ebx + 0xb0]
inc ecx
cmp dword [ebx + 0xa4], ecx
jg 0x441a35
mov eax, dword [edi + 0xc]
lea ecx, [ebp - 0x1ac]
mov edx, dword [edi + 4]
push ecx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x128], eax
add eax, eax
mov dword [ebp - 0x1ac], 0
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0042fbf0
mov ecx, dword [ebp - 0x1ac]
add esp, 4
mov dword [ebp - 0x120], eax
mov eax, 4
mov word [esi + 8], ax
mov eax, ecx
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x120]
mov dword [esi + 4], edx
test eax, eax
jne 0x43f094
test ecx, ecx
je 0x43bdb2
push dword [edi + 4]
mov edx, dword [ebp - 0x128]
push ecx
mov ecx, ebx
call fcn.00458090
mov al, byte [ebp - 0x128]
add esp, 8
mov esi, dword [ebp - 0x114]
inc al
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
mov byte [ebp - 0x16d], al
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov edx, dword [edi + 4]
lea eax, [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x24], 0
cmp dword [edi + 0xc], ecx
cmove eax, ecx
mov ecx, dword [ebx + 0x10]
push eax
mov eax, dword [edi + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0042f890
add esp, 4
mov dword [ebp - 0x120], eax
cmp dword [edi + 0xc], 0
je 0x43fe15
mov eax, dword [ebp - 0x24]
add dword [esi + 0x2c], eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
jle 0x43fe0f
mov ebx, dword [ebp - 0x124]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8], eax
mov eax, ebx
mov ebx, dword [ebp - 0x168]
adc dword [eax + ecx*8 + 4], edx
mov eax, dword [ebp - 0x120]
test eax, eax
jne 0x43f09a
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x43fe69
mov edx, dword [ecx + 0x28]
mov ecx, ebx
call fcn.00443e50
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [ecx + 0x28]
push 0
mov edx, dword [ecx + 0x3c]
mov ecx, dword [ecx + 8]
call fcn.0042f890
jmp 0x43e7d0
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov esi, eax
mov dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x130]
lea edx, [ebp - 0x1b4]
mov ecx, dword [eax + 4]
push dword [eax + 0xc]
shl ecx, 4
add ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 4]
call fcn.0042f670
add esp, 4
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x43f094
mov eax, dword [ebp - 0x1b4]
mov edi, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x118]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x114]
jmp 0x43bbfe
inc byte [ebx + 0x52]
push 0
push 0
push 0
push dword [edi + 0x10]
push ebx
call fcn.00467ed0
add esp, 0x14
dec byte [ebx + 0x52]
jmp 0x43e7d3
mov ecx, dword [edi + 4]
lea eax, [esi + 0x6c]
push dword [edi + 0x10]
mov dword [ebp - 0x74], ecx
add ecx, ecx
mov dword [ebp - 0x78], eax
mov eax, dword [ebx + 0x10]
push str.sqlite_master
mov dword [ebp - 0x7c], ebx
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.00415650
mov esi, eax
add esp, 0x14
test esi, esi
je 0x441a4c
push 0
lea eax, [ebp - 0x7c]
mov byte [ebx + 0x9d], 1
push eax
push fcn.0046c5b0
push esi
push ebx
mov dword [ebp - 0x70], 0
call fcn.00467ed0
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, ebx
cmove eax, dword [ebp - 0x70]
mov dword [ebp - 0x120], eax
call fcn.00413560
mov ecx, dword [ebp - 0x120]
mov byte [ebx + 0x9d], 0
test ecx, ecx
jne 0x441a56
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov edx, dword [edi + 4]
mov ecx, ebx
call fcn.00453300
jmp 0x43e7d3
push dword [edi + 0x10]
mov edx, dword [edi + 4]
mov ecx, ebx
call fcn.004559e0
mov ecx, dword [ebp - 0x11c]
add esp, 4
mov eax, dword [ebp - 0x118]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
push dword [edi + 0x10]
mov edx, dword [edi + 4]
mov ecx, ebx
call fcn.00455180
mov ecx, dword [ebp - 0x11c]
add esp, 4
mov eax, dword [ebp - 0x118]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
push dword [edi + 0x10]
mov edx, dword [edi + 4]
mov ecx, ebx
call fcn.00479eb0
mov ecx, dword [ebp - 0x11c]
add esp, 4
mov eax, dword [ebp - 0x118]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x124]
mov edx, dword [edi + 0x10]
add edx, 4
lea esi, [eax + eax*4]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ecx + esi*8]
mov ecx, dword [ebx + 0x10]
inc eax
push eax
mov eax, dword [ebp - 0x130]
push dword [eax + 8]
movzx eax, word [eax + 2]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00430890
add esp, 0xc
mov dword [ebp - 0x14c], eax
mov ecx, edi
call fcn.00432920
mov eax, dword [ebp - 0x204]
test eax, eax
je 0x4400d2
mov ecx, dword [ebp - 0x14c]
test ecx, ecx
je 0x43db33
mov ebx, dword [ebp - 0x124]
dec eax
cdq
push fcn.004134b0
push 1
sub dword [ebx + esi*8], eax
push 0xffffffffffffffff
sbb dword [ebx + esi*8 + 4], edx
mov edx, ecx
mov ecx, edi
call fcn.00432c00
add esp, 0xc
movzx edx, byte [ebp - 0x164]
mov ecx, edi
call fcn.00431ff0
mov edi, dword [ebp - 0x130]
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
mov dword [ebp - 0x14c], eax
jne 0x44013f
mov ecx, esi
call fcn.004329c0
test byte [esi + 8], 0x20
je 0x43db33
mov eax, dword [ebp - 0x14c]
mov ebx, dword [ebp - 0x124]
mov ecx, dword [esi]
push dword [ebx + eax*8 + 4]
push dword [ebx + eax*8]
call fcn.0041d810
mov esi, dword [ebp - 0x114]
add esp, 8
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
je 0x4401c5
mov ecx, dword [esi]
lea edx, [ebp - 0x210]
call fcn.0041dc00
test eax, eax
je 0x4401c5
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x124]
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00432980
add esp, 8
jmp 0x44121e
mov ecx, esi
call fcn.00432920
jmp case.0x43bc28.13
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x128], ecx
lea eax, [eax + eax*4]
mov dword [ebp - 0x15c], eax
jne 0x440219
mov ecx, esi
call fcn.004329c0
test byte [esi + 8], 0x20
je 0x43db33
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x128]
mov ebx, dword [ebp - 0x124]
test ecx, ecx
je 0x440246
push dword [ebx + eax*8 + 4]
mov edx, ecx
mov ecx, dword [esi]
push dword [ebx + eax*8]
call fcn.0041dc60
add esp, 8
test eax, eax
jne 0x43bc66
mov ecx, dword [ebp - 0x128]
test ecx, ecx
js 0x43bdb2
mov eax, dword [ebp - 0x15c]
mov ecx, dword [esi]
push dword [ebx + eax*8 + 4]
push dword [ebx + eax*8]
call fcn.0041d810
mov esi, dword [ebp - 0x114]
add esp, 8
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
cmp word [edi + 2], 0
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x124]
mov esi, dword [edi + 0x10]
mov edx, dword [ebp - 0x114]
lea eax, [eax + eax*4]
mov dword [ebp - 0x154], esi
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x13c], ecx
je 0x4402d6
mov eax, dword [edx + 0xc4]
mov ecx, dword [esi + 0x14]
test eax, eax
je 0x4402d0
nop dword [eax + eax]
cmp dword [eax + 0x1c], ecx
je 0x4417f0
mov eax, dword [eax + 4]
test eax, eax
jne 0x4402c0
mov ecx, dword [ebp - 0x13c]
mov eax, dword [edx + 0xcc]
cmp eax, dword [ebx + 0x8c]
jge 0x441a77
test byte [ecx + 8], 0x40
jne 0x4404c3
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
add eax, ecx
test ecx, ecx
lea esi, [eax + 1]
cmovne esi, eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x154]
mov eax, dword [eax + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x440320
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, ebx
cdq
push edx
push eax
call fcn.004137f0
mov edi, eax
add esp, 8
test edi, edi
je 0x43db33
mov ecx, dword [ebp - 0x13c]
call fcn.00432530
mov eax, dword [ebp - 0x13c]
mov ecx, 0x40
mov word [eax + 8], cx
mov dword [eax], edi
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x130]
sub ecx, dword [ebp - 0x158]
mov dword [edi], eax
mov eax, dword [ebp - 0x154]
mov dword [edi + 0x3c], esi
mov eax, dword [eax + 0xc]
mov dword [edi + 0x40], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x114]
mov dword [edi + 0x30], eax
mov eax, dword [edx + 0x5c]
mov dword [edi + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [edi + 0x38], eax
mov eax, dword [edx + 0x70]
mov dword [edi + 0x14], eax
mov eax, dword [edx + 0x1c]
mov dword [edi + 0x2c], eax
mov eax, dword [edx + 0x58]
mov dword [edi + 8], eax
mov eax, dword [edx + 0x88]
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0x154]
mov eax, dword [eax + 0x14]
mov dword [edi + 0x1c], eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
lea eax, [edi + 0x50]
cmp eax, ecx
je 0x4403ee
mov esi, 0x80
nop
mov word [eax + 8], si
mov dword [eax + 0x20], ebx
add eax, 0x28
cmp eax, ecx
jne 0x4403e0
mov esi, dword [ebp - 0x154]
inc dword [edx + 0xcc]
mov eax, dword [edx + 0xc4]
mov dword [edi + 4], eax
mov eax, dword [ebx + 0x20]
mov dword [edi + 0x20], eax
mov eax, dword [ebx + 0x24]
lea ebx, [edi + 0x50]
mov dword [edi + 0x24], eax
mov eax, dword [edx + 0x2c]
mov dword [edi + 0x44], eax
mov eax, dword [edx]
mov dword [ebp - 0x124], ebx
mov eax, dword [eax + 0x5c]
mov dword [edi + 0x48], eax
mov eax, dword [edx + 0xd8]
mov dword [edi + 0x28], eax
mov dword [edx + 0xd8], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0xc4], edi
mov dword [edx + 0x5c], ebx
mov eax, dword [edi + 0x3c]
mov dword [edx + 0x18], eax
movzx eax, word [edi + 0x40]
mov dword [edx + 0x1c], eax
mov eax, dword [edx + 0x18]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov dword [edx + 0x70], ecx
mov eax, dword [esi + 0xc]
lea ecx, [ecx + eax*4]
mov dword [edi + 0x18], ecx
mov eax, dword [esi + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call fcn.004e0850
mov eax, dword [ebp - 0x114]
add esp, 0xc
mov edx, dword [esi]
mov ecx, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x168]
mov dword [eax + 0x58], edx
mov eax, dword [esi + 4]
lea edi, [edx - 0x14]
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov dword [ebp - 0x158], edx
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov edi, dword [ecx]
jmp 0x4403f4
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov esi, eax
mov eax, dword [ebp - 0x114]
push 0x1000
mov eax, dword [eax + 0xc4]
mov ecx, dword [eax + 0x30]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [ecx + edx*4 + 4]
add ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.00432af0
mov esi, dword [ebp - 0x114]
add esp, 4
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
test dword [ebx + 0x1c], 0x80000
mov eax, dword [edi + 8]
cdq
je 0x440556
add dword [ebx + 0x1c8], eax
mov eax, dword [ebp - 0x118]
adc dword [ebx + 0x1cc], edx
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
cmp dword [edi + 4], 0
je 0x44057c
add dword [ebx + 0x1c0], eax
mov eax, dword [ebp - 0x118]
adc dword [ebx + 0x1c4], edx
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
add dword [esi + 0x40], eax
mov eax, dword [ebp - 0x118]
adc dword [esi + 0x44], edx
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
cmp dword [edi + 4], 0
je 0x4405d4
mov eax, dword [ebx + 0x1c0]
or eax, dword [ebx + 0x1c4]
jne case.0x43bc28.83
mov eax, dword [ebx + 0x1c8]
or eax, dword [ebx + 0x1cc]
je 0x43bc6c
mov eax, dword [ebp - 0x118]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [esi + 0x40]
or eax, dword [esi + 0x44]
jmp 0x4405a8
mov edx, dword [esi + 0xc4]
test edx, edx
je 0x440607
mov eax, dword [edx + 4]
test eax, eax
je 0x4405f9
nop dword [eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x4405f0
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea ebx, [eax + ecx*8]
jmp 0x440616
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.004326f0
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004326f0
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [ebx + 4], ecx
jg 0x43bdb2
jl 0x44064b
cmp dword [ebx], eax
jae 0x43bdb2
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov dword [ebx], eax
mov eax, dword [ebp - 0x118]
mov dword [ebx + 4], ecx
mov ecx, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x124]
lea esi, [eax + eax*4]
mov ebx, dword [edx + esi*8 + 4]
mov ecx, dword [edx + esi*8]
test ebx, ebx
jl 0x43bdb2
jg 0x440695
test ecx, ecx
je 0x43bdb2
mov eax, dword [edi + 0xc]
cdq
sub ecx, eax
sbb ebx, edx
mov edx, dword [ebp - 0x124]
mov dword [edx + esi*8], ecx
mov dword [edx + esi*8 + 4], ebx
jmp 0x43bc66
mov eax, dword [edi + 4]
mov edx, edi
mov ecx, dword [ebp - 0x114]
lea esi, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
mov dword [ebp - 0x14c], eax
call fcn.0043bae0
mov edx, dword [ebp - 0x124]
mov ebx, eax
mov ecx, dword [edx + esi*8 + 4]
mov eax, dword [edx + esi*8]
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], ecx
test ecx, ecx
jl 0x440766
jg 0x4406f3
test eax, eax
je 0x440766
mov ecx, dword [ebp - 0x14c]
mov eax, dword [edx + ecx*8]
mov ecx, dword [edx + ecx*8 + 4]
test ecx, ecx
jl 0x44070a
jg 0x440721
test eax, eax
jne 0x440721
xorps xmm0, xmm0
movlpd qword [ebp - 0x150], xmm0
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x150]
push ecx
push eax
lea ecx, [ebp - 0x1d8]
call fcn.004176f0
add esp, 8
test eax, eax
jne 0x440766
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
mov esi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x11c]
mov dword [ebx], eax
mov eax, dword [ebp - 0x1d4]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x124]
lea esi, [eax + eax*4]
mov ecx, dword [ebx + esi*8]
mov eax, ecx
mov edx, dword [ebx + esi*8 + 4]
or eax, edx
je 0x43bdb2
test edx, edx
jl 0x43bc66
jg 0x4407c2
test ecx, ecx
je 0x43bc66
sub ecx, 1
mov dword [ebx + esi*8], ecx
sbb edx, 0
jmp 0x43bc62
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x124]
lea ecx, [eax + eax*4]
mov edx, dword [ebx + ecx*8 + 4]
mov eax, dword [ebx + ecx*8]
cmp edx, 0x80000000
jl 0x4407fe
jg 0x4407f1
test eax, eax
je 0x4407fe
sub eax, 1
mov dword [ebx + ecx*8], eax
sbb edx, 0
mov dword [ebx + ecx*8 + 4], edx
mov eax, dword [ebx + ecx*8]
or eax, dword [ebx + ecx*8 + 4]
je 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
movzx eax, word [edi + 2]
mov ecx, ebx
mov dword [ebp - 0x14c], eax
push 0
lea eax, [eax*4 + 0x1c]
push eax
call fcn.004138a0
mov esi, eax
add esp, 8
test esi, esi
je 0x43db33
mov eax, dword [ebp - 0x130]
mov edi, dword [ebp - 0x130]
mov dword [esi + 8], 0
mov ecx, dword [eax + 0x10]
mov dword [esi + 4], ecx
mov ecx, eax
sub ecx, dword [ebp - 0x158]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x114]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x14c]
mov byte [esi + 0x1a], al
mov word [edi], 0xf095
mov dword [edi + 0x10], esi
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x124]
mov esi, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x14c], eax
cmp dword [esi + 8], eax
je 0x4408f3
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], eax
js 0x4408f3
mov ebx, dword [ebp - 0x124]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x4408d1
mov ebx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x14c]
inc dword [eax + 0xc]
mov eax, 1
mov word [ebp - 0x50], ax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x40], 0
mov ecx, dword [esi + 4]
mov dword [esi], eax
lea eax, [esi + 0x1c]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov word [esi + 0x18], 0
mov eax, dword [ecx + 0xc]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x440974
cmp dword [esi + 0x14], 0
je 0x44095e
lea eax, [ebp - 0x58]
push eax
call fcn.00438e90
add esp, 4
push eax
push 0x544820
push dword [ebp - 0x114]
call fcn.004335d0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x120], eax
lea ecx, [ebp - 0x58]
call fcn.00432530
mov eax, dword [ebp - 0x120]
test eax, eax
jne 0x43f094
cmp byte [esi + 0x18], 0
je 0x43bdb2
mov eax, dword [edi - 0x10]
test eax, eax
je 0x43bdb2
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.00432980
mov esi, dword [ebp - 0x114]
add esp, 8
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x124]
mov edx, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00432360
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x441a81
movzx edx, byte [ebp - 0x164]
mov ecx, esi
call fcn.00431ff0
mov ecx, esi
call fcn.00432a90
test eax, eax
jne 0x441b03
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov edx, dword [edi + 4]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], 0
push eax
push dword [edi + 8]
mov ecx, ebx
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0xc], 0xffffffff
call fcn.00491710
add esp, 0xc
mov dword [ebp - 0x120], eax
test eax, eax
je 0x440a76
cmp eax, 5
jne 0x43f09a
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x10], 1
mov eax, dword [edi + 0xc]
xor esi, esi
mov ecx, dword [ebp - 0x124]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp + esi*4 - 0x10]
mov ecx, ebx
cdq
push edx
push eax
call fcn.00432980
inc esi
add esp, 8
add ebx, 0x28
cmp esi, 3
jl 0x440a87
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 4]
mov esi, dword [eax + 0xc]
add edx, edx
cmp esi, 0xffffffff
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0x128], eax
mov ecx, dword [eax + 4]
mov edi, dword [ecx]
movzx ecx, byte [edi + 5]
cmove esi, ecx
mov dword [ebp - 0x138], ecx
cmp byte [edi + 0x10], 3
mov dword [ebp - 0x14c], esi
jb 0x440b10
xor eax, eax
jmp 0x440b2f
mov eax, dword [edi + 0x40]
cmp dword [eax], 0
je 0x440b2a
cmp dword [edi + 0x4c], 0
jl 0x440b2a
jg 0x440b26
cmp dword [edi + 0x48], 0
jbe 0x440b2a
xor eax, eax
jmp 0x440b2f
mov eax, 1
test eax, eax
mov esi, ecx
mov eax, 0x54323e
cmovne esi, dword [ebp - 0x14c]
cmp byte [edi + 0xf], 0
jne 0x440b4b
mov eax, dword [edi + 0xa8]
cmp esi, 5
jne 0x440b79
mov ecx, eax
call fcn.00416400
test eax, eax
je 0x440b66
mov ecx, edi
call fcn.00422f70
test eax, eax
jne 0x440b73
mov edx, dword [ebp - 0x138]
mov esi, edx
jmp 0x440bfb
mov ecx, dword [ebp - 0x138]
cmp esi, ecx
je 0x440bf5
cmp ecx, 5
je 0x440b87
cmp esi, 5
jne 0x440bf5
cmp byte [ebx + 0x47], 0
je 0x441aaa
cmp dword [ebx + 0xa4], 1
jg 0x441aaa
cmp ecx, 5
jne 0x440bc3
mov edx, ebx
mov ecx, edi
call fcn.004230e0
mov edx, eax
mov dword [ebp - 0x120], edx
test edx, edx
jne 0x440bf5
mov edx, esi
mov ecx, edi
call fcn.00422e10
jmp 0x440bdb
cmp ecx, 4
jne 0x440bd2
lea edx, [ecx - 2]
mov ecx, edi
call fcn.00422e10
cmp dword [ebp - 0x120], 0
jne 0x440bf5
mov ecx, dword [ebp - 0x128]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00430f30
mov dword [ebp - 0x120], eax
mov edx, dword [ebp - 0x138]
cmp dword [ebp - 0x120], 0
mov ecx, edi
cmove edx, esi
call fcn.00422e10
mov esi, dword [ebp - 0x15c]
mov ecx, 0xa02
mov word [esi + 8], cx
cmp eax, 6
jne 0x440c24
xor ecx, ecx
jmp 0x440c2b
mov ecx, dword [eax*4 + 0x5401dc]
mov dword [esi + 0x10], ecx
call fcn.00416400
movzx edx, byte [ebp - 0x164]
mov ecx, esi
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], 1
call fcn.00431ff0
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0x114]
test eax, eax
jne 0x43f09a
mov edi, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
push dword [edi + 4]
lea ecx, [esi + 0x6c]
mov edx, ebx
call fcn.0047d3b0
jmp 0x43e7d0
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00429af0
mov dword [ebp - 0x120], eax
test eax, eax
je 0x44180e
cmp eax, 0x65
jne 0x43f09a
mov dword [ebp - 0x120], 0
jmp 0x43bc6c
cmp dword [edi + 4], 0
jne 0x440cec
mov ecx, ebx
call fcn.004387a0
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
or dword [esi + 0x94], 1
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov al, byte [edi + 0xc]
mov byte [ebp - 0x200], al
test al, al
jne 0x440d21
test dword [ebx + 0x1c], 0x400
jne case.0x43bc28.83
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x10]
add eax, eax
push dword [ebp - 0x200]
mov edx, dword [edi + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00430e20
add esp, 4
mov dword [ebp - 0x120], eax
test eax, eax
je 0x44180e
cmp al, 6
jne 0x43f09a
push dword [edi + 0x10]
push str.database_table_is_locked:__s
push esi
call fcn.004335d0
mov eax, dword [ebp - 0x120]
add esp, 0xc
jmp 0x43f09a
mov esi, dword [edi + 0x10]
mov ecx, ebx
mov edx, esi
call fcn.0047ece0
mov dword [ebp - 0x120], eax
test esi, esi
je 0x43cb61
mov edx, dword [esi + 8]
mov esi, dword [ebp - 0x114]
mov ecx, esi
call fcn.00438880
mov eax, dword [ebp - 0x120]
jmp 0x43cb67
mov eax, dword [edi + 8]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x124]
movq qword [ebp - 0xa8], xmm0
movups xmmword [ebp - 0xc8], xmm0
lea eax, [eax + eax*4]
mov dword [ebp - 0xa8], ebx
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0xc8]
movups xmmword [ebp - 0xb8], xmm0
call fcn.00432b40
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0xc8]
push eax
call fcn.00438e90
add esp, 4
test eax, eax
je 0x440e0f
mov edx, dword [edi + 4]
lea ecx, [esi + 0x6c]
push ecx
push eax
mov ecx, ebx
call fcn.0047e740
add esp, 8
mov dword [ebp - 0x120], eax
lea ecx, [ebp - 0xc8]
call fcn.00432530
mov eax, dword [ebp - 0x120]
jmp 0x43e7d9
inc dword [ebx + 0xb0]
mov ecx, ebx
push dword [edi + 0x10]
mov edx, dword [edi + 4]
call fcn.0047eab0
add esp, 4
dec dword [ebx + 0xb0]
jmp 0x43e7d3
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x5c], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x441aef
mov eax, dword [esi]
mov dword [ebp - 0x14c], eax
test eax, eax
je 0x441aef
mov eax, dword [eax + 0x18]
lea ecx, [ebp - 0x5c]
push ecx
push esi
call eax
mov ecx, dword [ebp - 0x114]
add esp, 8
mov edx, esi
mov dword [ebp - 0x120], eax
call fcn.00438880
mov eax, dword [ebp - 0x120]
test eax, eax
jne 0x43f094
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x114]
push 2
push 0xffffffffffffffff
mov dword [eax], esi
mov edx, dword [edi + 4]
push 0
call fcn.0043b750
add esp, 0xc
test eax, eax
je 0x441ad9
mov ecx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x168]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
add edi, 0x14
mov esi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0x124]
add esi, 0x28
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x114]
lea esi, [esi + edx*8]
mov eax, dword [eax + 0x70]
movd xmm0, esi
mov dword [ebp - 0x14c], esi
mov esi, dword [esi]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x154], eax
pshufd xmm3, xmm0, 0
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x134], eax
mov eax, dword [eax]
mov dword [ebp - 0x13c], eax
mov eax, dword [eax]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x124]
mov eax, dword [eax + edx*8]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x114]
mov edx, dword [eax + 0x60]
test esi, esi
jle 0x441001
cmp esi, 8
jb 0x440fdd
cmp dword [0x55a39c], 2
jl 0x440fdd
movaps xmm2, xmmword [0x54b8e0]
mov eax, esi
and eax, 0x80000007
jns 0x440f7c
dec eax
or eax, 0xfffffff8
inc eax
movaps xmm1, xmmword [str.____]
mov ebx, esi
sub ebx, eax
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx + ecx*4], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx + ecx*4 + 0x10], xmm0
add ecx, 8
cmp ecx, ebx
jl 0x440f90
mov ebx, dword [ebp - 0x168]
cmp ecx, esi
jge 0x441001
mov ebx, dword [ebp - 0x14c]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov ebx, dword [ebp - 0x168]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x440ff6
mov eax, dword [ebp - 0x128]
push edx
push esi
push dword [edi + 0x10]
mov esi, dword [ebp - 0x134]
push dword [ebp - 0x15c]
mov eax, dword [eax + 0x20]
push esi
call eax
mov edx, dword [ebp - 0x13c]
add esp, 0x14
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x120], eax
call fcn.00438880
mov eax, dword [ebp - 0x120]
test eax, eax
jne 0x43f094
mov eax, dword [ebp - 0x128]
push esi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [ebp - 0x154]
add esp, 4
mov esi, dword [ebp - 0x114]
mov byte [ecx + 2], 0
test eax, eax
jne 0x43bc6c
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x124]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x14c], ecx
cmp byte [ecx + 2], 0
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ebp - 0x128], edx
je 0x4410d2
mov ecx, edx
call fcn.00432920
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [ecx + 0x28]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movups xmmword [ebp - 0x110], xmm0
mov dword [ebp - 0x110], edx
movups xmmword [ebp - 0x100], xmm0
mov ax, word [edx + 8]
and ax, word [ebp - 0x1fc]
or ax, 1
mov word [edx + 8], ax
lea eax, [ebp - 0x110]
push dword [edi + 8]
push eax
mov eax, dword [ebp - 0x14c]
push dword [eax + 0x28]
mov eax, dword [ecx + 0x2c]
call eax
mov ecx, dword [ebp - 0x114]
add esp, 0xc
mov edx, esi
mov dword [ebp - 0x120], eax
call fcn.00438880
mov eax, dword [ebp - 0xfc]
test eax, eax
mov ecx, dword [ebp - 0x120]
movzx edx, byte [ebp - 0x164]
cmovne ecx, eax
mov dword [ebp - 0x120], ecx
mov ecx, dword [ebp - 0x128]
call fcn.00431ff0
mov ecx, dword [ebp - 0x128]
call fcn.00432a90
test eax, eax
jne 0x441b03
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0x114]
test eax, eax
jne 0x43f09a
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x14c], eax
cmp byte [eax + 2], 0
jne 0x44180e
mov eax, dword [eax + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x128], ecx
mov eax, dword [ecx + 0x24]
call eax
add esp, 4
mov dword [ebp - 0x120], eax
mov edx, esi
mov esi, dword [ebp - 0x114]
mov ecx, esi
call fcn.00438880
mov eax, dword [ebp - 0x120]
test eax, eax
jne 0x43f09a
mov eax, dword [ebp - 0x14c]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x128]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x44121e
mov edi, dword [edi + 8]
mov ecx, dword [ebp - 0x158]
dec edi
lea edi, [edi + edi*4]
lea edi, [ecx + edi*4]
mov dword [ebp - 0x130], edi
cmp dword [ebx + 0x100], 0
jne 0x441d6e
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
cmp eax, ecx
jb 0x4417dc
mov ecx, dword [ebx + 0x138]
test ecx, ecx
je 0x4417c2
mov esi, dword [ebx + 0x140]
xor edx, edx
div esi
push dword [ebx + 0x13c]
sub esi, edx
add esi, dword [ebp - 0x118]
mov dword [ebp - 0x11c], esi
call ecx
mov esi, dword [ebp - 0x114]
add esp, 4
test eax, eax
jne 0x441b42
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov eax, dword [edi + 0x10]
mov edx, dword [ebp - 0x124]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 4]
mov dword [ebp - 0x128], ecx
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 2
lea esi, [edx + eax*8]
je 0x4412d7
cmp byte [esi + 0xa], 1
je 0x4412d7
mov dl, 1
mov ecx, esi
call fcn.00415cf0
test eax, eax
jne 0x43f094
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx]
push dword [esi + 0x10]
push ecx
mov eax, dword [eax + 0x4c]
call eax
mov esi, dword [ebp - 0x114]
add esp, 8
mov edx, dword [ebp - 0x128]
mov ecx, esi
mov dword [ebp - 0x120], eax
call fcn.00438880
and dword [esi + 0x94], 0xfffffffe
mov eax, dword [ebp - 0x120]
jmp 0x43e7d9
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x14c], eax
test eax, eax
je 0x441af9
mov eax, dword [eax]
mov dword [ebp - 0x128], eax
test eax, eax
je 0x441af9
cmp dword [eax + 0x34], 0
mov esi, dword [edi + 8]
je 0x4417a8
mov al, byte [ebx + 0x4e]
mov ecx, dword [ebp - 0x124]
mov byte [ebp - 0x129], al
mov eax, dword [ebp - 0x114]
mov edx, dword [eax + 0x60]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x441373
mov dword [edx + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x441368
mov al, byte [edi + 2]
mov byte [ebx + 0x4e], al
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x128]
push edx
push esi
mov esi, dword [ebp - 0x14c]
mov eax, dword [eax + 0x34]
push esi
call eax
add esp, 0x10
mov dword [ebp - 0x120], eax
mov al, byte [ebp - 0x129]
mov edx, esi
mov esi, dword [ebp - 0x114]
mov ecx, esi
mov byte [ebx + 0x4e], al
call fcn.00438880
cmp dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x130]
jne 0x4413d9
cmp dword [eax + 4], 0
je 0x4413d9
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x120]
cmp cl, 0x13
jne 0x44143b
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x44143b
mov edi, dword [ebp - 0x130]
movzx eax, word [edi + 2]
cmp eax, 4
jne 0x441420
mov ecx, dword [ebp - 0x11c]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
mov dword [ebp - 0x120], 0
jmp 0x43bbfe
cmp eax, 5
jne 0x44142a
mov eax, 2
mov byte [esi + 0x8e], al
mov eax, dword [ebp - 0x120]
jmp 0x43e7d9
inc dword [esi + 0x2c]
mov edi, dword [ebp - 0x130]
mov eax, dword [ebp - 0x120]
jmp 0x43e7d9
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov edx, dword [edi + 4]
mov ecx, dword [ebx + 0x10]
add edx, edx
mov ebx, dword [ebp - 0x168]
add edi, 0x14
mov ecx, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x2c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x11c]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x118]
jmp 0x43bbfe
mov edx, edi
mov ecx, esi
call fcn.0043bae0
mov ecx, dword [ebx + 0x10]
mov edi, eax
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 4]
mov esi, dword [eax + 0xc]
add edx, edx
mov ecx, dword [ecx + edx*8 + 4]
xor edx, edx
test esi, esi
je 0x4414be
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.00428c10
mov esi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x168]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x118]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x130]
add edi, 0x14
jmp 0x43bbfe
movzx eax, word [edi + 2]
mov ecx, ebx
mov dword [ebp - 0x14c], eax
push 0
lea eax, [eax*4 + 0x1c]
push eax
call fcn.004138a0
mov esi, eax
add esp, 8
test esi, esi
je 0x43db33
mov eax, dword [ebp - 0x130]
mov edi, dword [ebp - 0x130]
mov dword [esi], 0
mov ecx, dword [eax + 0x10]
mov dword [esi + 4], ecx
mov ecx, eax
sub ecx, dword [ebp - 0x158]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x114]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x14c]
mov byte [esi + 0x1a], al
add byte [edi], 2
mov byte [edi + 1], 0xf0
mov dword [edi + 0x10], esi
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x124]
mov esi, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [ebp - 0x134], edx
cmp dword [esi], edx
je 0x4415c2
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi], edx
js 0x4415c2
mov ebx, dword [ebp - 0x124]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
nop word [eax + eax]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x4415a0
mov ebx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x134]
mov ax, word [edx + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 1
mov word [edx + 8], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov byte [esi + 0x19], 0
mov eax, dword [ecx + 0xc]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x441650
cmp dword [esi + 0x14], 0
je 0x441626
push dword [ebp - 0x134]
call fcn.00438e90
add esp, 4
push eax
push 0x544820
push dword [ebp - 0x114]
call fcn.004335d0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x120], eax
push dword [edi + 4]
mov ecx, ebx
push dword [esi + 0x10]
mov esi, dword [ebp - 0x114]
lea edx, [esi + 0xd8]
call fcn.00436970
mov eax, dword [ebp - 0x120]
add esp, 8
test eax, eax
jne 0x43f09a
mov esi, dword [ebp - 0x134]
test byte [esi + 8], 0x12
je 0x43bdb2
movzx edx, byte [ebp - 0x164]
mov ecx, esi
call fcn.00431ff0
mov ecx, esi
call fcn.00432a90
test eax, eax
jne 0x441b03
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov cl, byte [ebx + 0x50]
test cl, 0x81
je 0x441759
test byte [esi + 0x94], 2
jne 0x441759
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x4416cb
mov eax, dword [esi + 0xbc]
test eax, eax
je 0x441759
test cl, cl
jns 0x441700
mov edi, dword [ebx + 0xbc]
mov edx, eax
mov ecx, esi
call fcn.0043b290
mov esi, eax
push esi
push dword [ebx + 0xc0]
call edi
push esi
call fcn.004134b0
mov edi, dword [ebp - 0x130]
add esp, 0xc
mov esi, dword [ebp - 0x114]
jmp 0x441759
cmp dword [ebx + 0xac], 1
push eax
jle 0x441745
push str.____s
push ebx
call fcn.00415650
mov ecx, dword [ebx + 0xbc]
add esp, 0xc
mov esi, eax
push esi
push dword [ebp - 0x114]
push dword [ebx + 0xc0]
push 1
call ecx
add esp, 0x10
mov edx, esi
mov ecx, ebx
call fcn.004135a0
mov esi, dword [ebp - 0x114]
jmp 0x441759
mov eax, dword [ebx + 0xbc]
push esi
push dword [ebx + 0xc0]
push 1
call eax
add esp, 0x10
mov eax, dword [edi + 4]
cmp eax, dword [0x557424]
jl 0x44179a
mov edx, 1
cmp dword [esi + 0x88], edx
jle 0x441793
mov eax, 0x14
mov ecx, dword [esi + 0x58]
cmp byte [eax + ecx], 0x14
jne 0x441787
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [esi + 0x88]
jl 0x441776
mov dword [edi + 4], 0
inc dword [edi + 4]
inc dword [esi + 0xb8]
jmp 0x43bc6c
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov eax, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ecx, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov esi, dword [ebp - 0x114]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [ebp - 0x11c]
mov esi, edx
mov eax, dword [ebp - 0x118]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov esi, eax
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
add edi, 0x14
mov ebx, dword [ebp - 0x168]
jmp 0x43bbfe
mov ecx, dword [edx + 4]
mov dword [esi + 0x28], ecx
mov al, byte [edx + 8]
mov byte [esi + 0x8e], al
mov dword [esi + 0x24], edi
test ecx, ecx
je 0x4418cd
movzx eax, word [edx + 2]
test ax, ax
je 0x441890
push dword [eax*4 + 0x540060]
push str._s_constraint_failed
push esi
call fcn.004335d0
mov esi, dword [ebp - 0x130]
add esp, 0xc
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4418a7
push eax
mov eax, dword [ebp - 0x114]
push dword [eax + 0x6c]
push str._z:__s
push ebx
call fcn.00415650
mov ecx, dword [ebp - 0x114]
add esp, 0x10
mov dword [ecx + 0x6c], eax
jmp 0x4418a7
push dword [edx + 0x10]
push 0x544820
push esi
call fcn.004335d0
mov esi, dword [ebp - 0x130]
add esp, 0xc
mov eax, dword [ebp - 0x114]
push dword [eax + 0x6c]
push dword [eax + 0xbc]
push edi
push str.abort_at__d_in___s_:__s
push dword [esi + 4]
call fcn.00415900
mov esi, dword [ebp - 0x114]
add esp, 0x14
mov ecx, esi
call fcn.004364c0
mov dword [ebp - 0x120], eax
cmp eax, 5
jne 0x4418e7
mov dword [esi + 0x28], eax
jmp 0x441ea6
cmp dword [esi + 0x28], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [ebp - 0x120], eax
jmp 0x441ea6
mov ecx, 0x13f84
call fcn.00492cf0
jmp 0x43f094
push str.cannot_open_savepoint___SQL_statements_in_progress
push esi
call fcn.004335d0
add esp, 8
mov eax, 5
jmp 0x43f09a
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x441c8e
mov ecx, dword [ebp - 0x130]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x158]
mov esi, dword [ebp - 0x114]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x24], eax
mov eax, 5
mov byte [ebx + 0x47], 0
mov dword [ebp - 0x120], eax
mov dword [esi + 0x28], eax
jmp 0x441ea6
mov esi, dword [ebp - 0x114]
push eax
push str.no_such_savepoint:__s
push esi
call fcn.004335d0
add esp, 0xc
mov eax, 1
jmp 0x43f09a
mov eax, 8
jmp 0x43f09a
mov esi, dword [ebp - 0x114]
cmp al, 5
jne 0x43f09a
mov ecx, dword [ebp - 0x130]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x158]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x120]
mov dword [esi + 0x28], eax
jmp 0x441ea6
mov eax, dword [ebp - 0x114]
mov ecx, ebx
mov edx, dword [eax + 0x6c]
call fcn.004135a0
mov edx, str.database_schema_has_changed
mov ecx, ebx
call fcn.00413b20
mov ecx, dword [ebp - 0x114]
mov dword [ecx + 0x6c], eax
mov edx, dword [edi + 4]
mov ecx, edx
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], esi
je 0x441a14
mov ecx, ebx
call fcn.00455370
mov esi, dword [ebp - 0x114]
mov eax, 0x11
or dword [esi + 0x94], 1
jmp 0x43f09a
mov eax, 0x204
jmp 0x43f09a
mov esi, dword [ebp - 0x114]
mov eax, 6
mov byte [esi + 0x8e], 2
jmp 0x43f09a
mov dword [ebp - 0x120], 7
mov ecx, ebx
call fcn.00455530
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0x114]
cmp eax, 7
je 0x43db39
jmp 0x43f09a
push str.too_many_levels_of_trigger_recursion
jmp 0x441d55
push esi
call fcn.00438e90
mov esi, dword [ebp - 0x114]
add esp, 4
push eax
push 0x544820
push esi
call fcn.004335d0
add esp, 0xc
mov eax, dword [ebp - 0x120]
jmp 0x43f09a
cmp esi, 5
mov ecx, str.out_of
mov esi, dword [ebp - 0x114]
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push esi
call fcn.004335d0
add esp, 0xc
mov eax, 1
jmp 0x43f09a
mov eax, dword [ebp - 0x14c]
push dword [ebp - 0x5c]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
jmp 0x43db33
mov eax, 6
jmp 0x43f094
mov eax, 6
jmp 0x43f09a
mov esi, dword [ebp - 0x114]
push str.string_or_blob_too_big
push esi
call fcn.004335d0
add esp, 8
mov eax, 0x12
jmp 0x43f09a
mov eax, dword [ebx + 0x138]
test eax, eax
je 0x441b4c
cmp dword [ebp - 0x118], ecx
jb 0x441b4c
push dword [ebx + 0x13c]
call eax
add esp, 4
test eax, eax
je 0x441b4c
mov eax, 9
jmp 0x43f09a
xor edx, edx
mov ecx, esi
call fcn.00436460
test eax, eax
jne 0x43f09a
mov eax, dword [esi]
cmp dword [eax + 0x1bc], 0
je 0x441b7a
cmp dword [esi + 0x30], 0
je 0x441b7a
mov edx, 1
mov ecx, esi
call fcn.004362d0
mov eax, dword [esi + 0x20]
mov ecx, dword [ebp - 0x124]
add eax, 2
or eax, 1
mov dword [ebp - 0x128], 0
mov dword [esi + 0x20], eax
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0x114]
mov dword [eax + 0x68], esi
cmp dword [edi + 8], 0
jle 0x441be6
nop
mov eax, 0x1000
test word [esi + 8], ax
je 0x441bca
mov ecx, esi
call fcn.004321c0
test eax, eax
jne 0x43db33
mov ecx, esi
call fcn.00432260
mov eax, dword [ebp - 0x128]
add esi, 0x28
inc eax
mov dword [ebp - 0x128], eax
cmp eax, dword [edi + 8]
jl 0x441bb0
cmp byte [ebx + 0x49], 0
jne 0x43db33
test byte [ebx + 0x50], 4
mov esi, dword [ebp - 0x114]
je 0x441c12
mov eax, dword [ebx + 0xbc]
push 0
push esi
push dword [ebx + 0xc0]
push 4
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x130]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x158]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [esi + 0x24], eax
mov eax, 0x64
mov dword [ebp - 0x120], eax
jmp 0x441ea6
mov ecx, dword [edi + 4]
movzx eax, byte [ebx + 0x47]
mov esi, dword [edi + 8]
mov dword [ebp - 0x128], ecx
cmp ecx, eax
je 0x441d3a
test esi, esi
je 0x441c7c
mov edx, 0x204
mov ecx, ebx
call fcn.00490b20
mov esi, dword [ebp - 0x114]
mov edi, 1
mov byte [ebx + 0x47], 1
jmp 0x441cd2
test ecx, ecx
je 0x441ca7
cmp dword [ebx + 0xa8], 0
jle 0x441ca7
push str.cannot_commit_transaction___SQL_statements_in_progress
mov esi, dword [ebp - 0x114]
push esi
call fcn.004335d0
add esp, 8
mov eax, 5
jmp 0x43f09a
mov esi, dword [ebp - 0x114]
mov edi, 1
mov edx, edi
mov ecx, esi
call fcn.00436460
mov dword [ebp - 0x120], eax
test eax, eax
jne 0x441ea6
mov eax, dword [ebp - 0x128]
mov byte [ebx + 0x47], al
mov ecx, esi
call fcn.004364c0
cmp eax, 5
jne 0x441d1c
mov ecx, dword [ebp - 0x130]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x158]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x24], eax
mov al, 1
sub al, byte [ebp - 0x128]
mov byte [ebx + 0x47], al
mov eax, 5
mov dword [ebp - 0x120], eax
mov dword [esi + 0x28], eax
jmp 0x441ea6
mov ecx, ebx
call fcn.00490160
cmp dword [esi + 0x28], 0
mov eax, 0x65
cmovne eax, edi
mov dword [ebp - 0x120], eax
jmp 0x441ea6
test ecx, ecx
jne 0x441d45
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x441d54
test esi, esi
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push eax
mov esi, dword [ebp - 0x114]
push esi
call fcn.004335d0
add esp, 8
mov eax, 1
jmp 0x43f09a
mov esi, dword [ebp - 0x114]
xor eax, eax
mov ecx, str.unknown_error
cmp byte [ebx + 0x49], al
sete al
lea eax, [eax*2 + 7]
mov dword [ebp - 0x120], eax
mov dword [esi + 0x28], eax
mov eax, dword [eax*4 + 0x53f588]
test eax, eax
cmovne ecx, eax
push ecx
push 0x544820
push esi
call fcn.004335d0
mov eax, dword [ebp - 0x120]
add esp, 0xc
jmp 0x43f09a
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x544820
push esi
call fcn.004335d0
mov eax, dword [ebp - 0x120]
add esp, 0xc
mov dword [esi + 0x28], eax
cmp eax, 0xc0a
je 0x441e02
movzx eax, al
cmp eax, 0xe
je 0x441de8
cmp eax, 0xa
jne 0x441e02
mov eax, dword [ebx]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x441dfd
push 0
push 0
push eax
call ecx
add esp, 0xc
jmp 0x441dff
xor eax, eax
mov dword [ebx + 0x40], eax
mov ecx, dword [ebp - 0x130]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x158]
push dword [esi + 0x6c]
imul ecx
push dword [esi + 0xbc]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0x120]
call fcn.00415900
add esp, 0x14
mov ecx, esi
call fcn.004364c0
cmp dword [ebp - 0x120], 0xc0a
jne 0x441e78
cmp byte [ebx + 0x49], 0
jne 0x441e78
cmp byte [ebx + 0x4a], 0
jne 0x441e78
cmp dword [ebx + 0xac], 0
mov byte [ebx + 0x49], 1
jle 0x441e72
mov dword [ebx + 0x100], 1
inc dword [ebx + 0x108]
mov cl, byte [ebp - 0x16d]
mov eax, 1
mov dword [ebp - 0x120], eax
test cl, cl
je 0x441ea6
movzx edx, cl
mov ecx, ebx
dec edx
call fcn.00455370
mov eax, dword [ebp - 0x120]
jmp 0x441ea6
mov esi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
add dword [esi + 0xb0], ecx
cmp dword [esi + 0x9c], 0
je 0x441ec8
mov ecx, esi
call fcn.00434d50
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d7fbc
mov esp, ebp
pop ebp
ret