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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x25c
mov eax, dword [0x577018]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x1e0], 0
push edi
mov dword [ebp - 0x1d4], esi
mov byte [ebp - 0x229], 0
mov edi, dword [esi]
mov ebx, dword [esi + 0x68]
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 0x1d8], ebx
mov al, byte [edi + 0x4e]
mov byte [ebp - 0x218], al
mov byte [ebp - 0x250], al
mov eax, dword [esi + 0x58]
mov dword [ebp - 0x1dc], edi
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x1e4], eax
call fcn.00447850
cmp dword [esi + 0x28], 7
je 0x455579
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x78], 0
cmp dword [edi + 0x108], 0
mov dword [edi + 0x194], 0
jne 0x455540
cmp dword [edi + 0x140], 0
je 0x44f400
mov ecx, dword [edi + 0x148]
xor edx, edx
mov eax, dword [esi + 0xb4]
div ecx
sub ecx, edx
mov dword [ebp - 0x238], ecx
jmp 0x44f40a
mov dword [ebp - 0x238], 0xffffffff
mov eax, dword [esi + 0x24]
xorps xmm0, xmm0
mov dword [ebp - 0x24c], 0xff61
movsd qword [ebp - 0x258], xmm0
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*4]
mov dl, byte [ebx]
mov ecx, dword [ebp - 0x234]
movzx eax, dl
inc ecx
mov dword [ebp - 0x1d8], ebx
mov dword [ebp - 0x234], ecx
mov byte [ebp - 0x1e5], dl
mov dword [ebp - 0x1f4], eax
cmp eax, 0xa9
ja case.0x44f457.86
jmp dword [eax*4 + 0x4555b0]
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x1e4]
lea ecx, [eax + eax*4]
mov eax, 4
mov word [edi + ecx*8 + 8], ax
mov eax, ebx
sub eax, dword [ebp - 0x21c]
sar eax, 2
imul eax, eax, 0xcccccccd
cdq
mov dword [edi + ecx*8], eax
mov dword [edi + ecx*8 + 4], edx
jmp 0x454ffc
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1e4]
mov ebx, dword [ebp - 0x21c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*4]
mov eax, 0x80
mov word [edx + ecx*8 + 8], ax
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x1e4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
dec eax
cdq
mov dword [edi + ecx*8], eax
mov eax, edi
mov edi, dword [ebp - 0x1dc]
mov dword [eax + ecx*8 + 4], edx
mov edx, 4
mov word [eax + ecx*8 + 8], dx
cmp dword [ebx + 8], 0
jne 0x454ffc
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1e4]
mov ebx, dword [ebp - 0x21c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*4]
mov eax, 0x80
add ebx, 0xffffffec
mov word [edx + ecx*8 + 8], ax
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0x1e4]
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8]
mov word [ebx + esi*8 + 8], ax
mov eax, dword [ebp - 0x1d8]
sub eax, dword [ebp - 0x21c]
sar eax, 2
imul eax, eax, 0xcccccccd
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x21c]
mov dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x1d4]
lea ebx, [ecx + eax*4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je case.0x44f457.86
mov eax, ebx
mov ebx, dword [ebp - 0x1d4]
sub eax, dword [ebp - 0x21c]
sar eax, 2
imul esi, eax, 0xcccccccd
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x455020
mov edx, dword [ebx + 0xc8]
test edx, edx
je 0x455020
mov eax, dword [edx + 4]
mov esi, ebx
mov ecx, edx
dec dword [esi + 0xd0]
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 0x2c]
add dword [edi + 0x68], eax
mov dword [edi + 0x64], eax
call fcn.00448510
mov ebx, dword [ebp - 0x1d8]
cmp dword [ebx + 8], 4
jne 0x44f607
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov ecx, dword [esi + 0x58]
mov dword [ebp - 0x21c], edx
mov dword [ebp - 0x1e4], ecx
lea ebx, [edx + eax*4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x44f656
call fcn.0044f2e0
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebx, 0x14
jmp 0x44f428
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x44f6a5
mov ecx, edx
call fcn.0044f2e0
mov edx, eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edx], ecx
mov dword [edx + 4], eax
add ebx, 0x14
jmp 0x44f428
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edx], ecx
mov dword [edx + 4], eax
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x44f6e1
call fcn.0044f2e0
mov ecx, eax
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [ebx + 0x10]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x44f71f
mov ecx, esi
call fcn.0044f2e0
mov esi, eax
jmp 0x44f728
mov eax, 4
mov word [esi + 8], ax
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ecx + 0x10]
mov byte [ecx], 0x48
test edx, edx
jne 0x44f73c
xor ecx, ecx
jmp 0x44f756
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44f741
sub ecx, edi
mov edi, dword [ebp - 0x1dc]
and ecx, 0x3fffffff
cmp byte [ebp - 0x218], 1
mov ebx, dword [ebp - 0x1d8]
mov dword [ebx + 4], ecx
je 0x44f7e6
push 0
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.004456b0
add esp, 0xc
mov dword [ebp - 0x1e0], eax
test byte [esi + 8], 2
je 0x44f7a0
mov al, byte [ebp - 0x218]
cmp byte [esi + 0xa], al
je 0x44f7a0
mov dl, al
mov ecx, esi
call fcn.00427570
test eax, eax
jne 0x451468
mov ecx, dword [ebp - 0x1d8]
mov eax, 0x800
or word [esi + 8], ax
mov dword [esi + 0x18], 0
cmp byte [ecx + 1], 0xf9
jne 0x44f7d0
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x44f7d0
mov ecx, edi
call fcn.00423590
mov ecx, dword [ebp - 0x1d8]
mov ebx, dword [ebp - 0x1d8]
mov byte [ecx + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
cmp ecx, dword [edi + 0x6c]
jg 0x454ed6
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x44f813
call fcn.0044f2e0
mov ecx, eax
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x218]
mov byte [ecx + 0xa], al
mov eax, dword [ebx + 0xc]
test eax, eax
jle case.0x44f457.86
mov edi, dword [ebp - 0x1e4]
lea esi, [eax + eax*4]
movzx eax, word [ebx + 2]
cdq
cmp dword [edi + esi*8], eax
mov edi, dword [ebp - 0x1dc]
jne 0x455012
mov eax, dword [ebp - 0x1e4]
cmp dword [eax + esi*8 + 4], edx
mov esi, dword [ebp - 0x1d4]
jne case.0x44f457.86
mov eax, 0xa10
mov word [ecx + 8], ax
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x44f8a2
mov ecx, edx
call fcn.0044f2e0
mov edx, eax
jmp 0x44f8ab
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [ebp - 0x1d8]
mov esi, 0x101
mov ebx, dword [ebp - 0x1d8]
mov edi, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov eax, 1
cmp dword [ebx + 4], 0
mov dword [edx + 0xc], 0
cmovne eax, esi
sub edi, ecx
movzx eax, ax
lea esi, [edx + 8]
mov dword [ebp - 0x20c], eax
mov word [esi], ax
test edi, edi
jle 0x45500c
mov ecx, 0x2400
test word [esi + 0x28], cx
lea esi, [esi + 0x28]
je 0x44f90f
lea ecx, [esi - 8]
call fcn.00444e80
mov eax, dword [ebp - 0x20c]
mov ecx, 0x2400
dec edi
mov word [esi], ax
mov dword [esi + 4], 0
test edi, edi
jg 0x44f8f3
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1e4]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, word [ebp - 0x24c]
or ax, 1
mov word [edx + ecx*8 + 8], ax
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x44f97d
mov ecx, esi
call fcn.0044f2e0
mov esi, eax
jmp 0x44f986
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x1d8]
mov ecx, esi
push 0
push 0
push dword [eax + 4]
mov edx, dword [eax + 0x10]
call fcn.004456b0
mov al, byte [ebp - 0x218]
add esp, 0xc
mov byte [esi + 0xa], al
mov ebx, dword [ebp - 0x1d8]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x64]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.00445590
test eax, eax
jne 0x454ed6
mov eax, dword [ebx + 8]
lea edx, [esi - 0x28]
mov ecx, dword [ebp - 0x1e4]
push 0x800
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004455f0
mov esi, dword [ebp - 0x1d4]
add esp, 4
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1e4]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x1f0], ecx
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
nop word [eax + eax]
mov eax, 0x2400
test word [esi + 8], ax
jne 0x44fa41
cmp dword [esi + 0x18], 0
je 0x44fa4e
mov ecx, esi
call fcn.00444ec0
mov ecx, dword [ebp - 0x1f0]
movups xmm0, xmmword [edi]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esi + 0x20], xmm0
mov word [edi + 8], ax
mov eax, 0x1000
mov dword [edi + 0x18], 0
test word [esi + 8], ax
je 0x44fa96
mov ecx, esi
call fcn.00444b40
test eax, eax
jne 0x451468
mov ecx, dword [ebp - 0x1f0]
add edi, 0x28
add esi, 0x28
sub ecx, 1
mov dword [ebp - 0x1f0], ecx
jne 0x44fa30
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x224], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
nop dword [eax]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.004455f0
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x44fb0b
mov ecx, esi
call fcn.00444b40
test eax, eax
jne 0x451468
mov ecx, dword [ebp - 0x224]
mov eax, ecx
dec ecx
mov dword [ebp - 0x224], ecx
test eax, eax
je 0x45500c
add esi, 0x28
add edi, 0x28
jmp 0x44fae0
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
push 0x1000
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004455f0
add esp, 4
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x1e4]
mov esi, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*8]
mov eax, dword [esi + eax*8 + 4]
mov esi, 0x2400
test word [ecx + 8], si
mov esi, dword [ebp - 0x1d4]
je 0x44fb9c
push eax
push edx
call fcn.00445460
add esp, 8
add ebx, 0x14
jmp 0x44f428
mov dword [ecx + 4], eax
mov eax, 4
mov dword [ecx], edx
mov word [ecx + 8], ax
add ebx, 0x14
jmp 0x44f428
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1f0], ecx
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
movzx edx, word [ecx + 8]
mov al, byte [edi + 8]
or al, dl
test al, 1
je 0x44fc29
mov eax, 0x2400
test word [esi + 8], ax
je 0x44fc0c
mov ecx, esi
call fcn.00444e80
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov edi, dword [ebp - 0x1dc]
mov eax, 1
mov word [esi + 8], ax
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
test edx, 0x4000
je 0x44fc3e
call fcn.00444b90
test eax, eax
jne 0x451468
mov eax, 0x4000
test word [edi + 8], ax
je 0x44fc58
mov ecx, edi
call fcn.00444b90
test eax, eax
jne 0x451468
mov eax, dword [ebp - 0x1f0]
test byte [eax + 8], 0x12
jne 0x44fc7e
mov dl, byte [ebp - 0x218]
mov ecx, eax
push 0
call fcn.00444be0
add esp, 4
test eax, eax
jne 0x451468
test byte [edi + 8], 0x12
jne 0x44fc9e
mov dl, byte [ebp - 0x218]
mov ecx, edi
push 0
call fcn.00444be0
add esp, 4
test eax, eax
jne 0x451468
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edi + 0xc]
add ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x20c], ecx
cmp ecx, dword [eax + 0x6c]
jg 0x454ed6
xor eax, eax
lea edx, [ecx + 2]
cmp esi, edi
mov ecx, esi
sete al
push eax
call fcn.00444940
add esp, 4
test eax, eax
jne 0x451468
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x44fd05
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.005190f0
add esp, 0xc
mov eax, dword [ebp - 0x1f0]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [edi + 0xc]
add eax, dword [esi + 0x10]
push eax
call fcn.005190f0
mov eax, dword [esi + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x20c]
mov edi, dword [ebp - 0x1dc]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 1], 0
mov eax, 0x200
or word [esi + 8], ax
mov al, byte [ebp - 0x218]
mov dword [esi + 0xc], ecx
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x1ec], eax
call fcn.0044f2c0
movzx eax, ax
mov dword [ebp - 0x220], eax
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov ecx, esi
mov dword [ebp - 0x1f0], esi
call fcn.0044f2c0
movzx edx, ax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x208], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x1f4], eax
mov ax, word [esi + 8]
mov esi, dword [ebp - 0x1ec]
or ax, word [esi + 8]
movzx ecx, ax
mov al, dl
and al, byte [ebp - 0x220]
test al, 4
je 0x44ff9f
mov eax, esi
mov byte [ebp - 0x1e5], 1
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
movzx eax, byte [ebx]
add eax, 0xffffffa0
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edi
cmp eax, 3
ja case.default.0x44fe06
jmp dword [eax*4 + 0x455858]
test esi, esi
jl 0x44fe8a
jg 0x44fe17
test edx, edx
jb 0x44fe8a
test edi, edi
jl 0x44fed2
jg 0x44fe29
test ecx, ecx
je 0x44fed2
or eax, 0xffffffff
sub eax, ecx
mov dword [ebp - 0x20c], eax
mov eax, bind
sbb eax, edi
cmp eax, esi
jg 0x44fed2
jl 0x44fe51
cmp dword [ebp - 0x20c], edx
jae 0x44fed2
mov esi, dword [ebp - 0x1ec]
mov ecx, esi
call fcn.004450b0
mov ecx, dword [ebp - 0x1f0]
movsd qword [ebp - 0x200], xmm0
call fcn.004450b0
movzx eax, byte [ebx]
movaps xmm1, xmm0
add eax, 0xffffffa0
cmp eax, 3
ja case.default.0x44fe83
jmp dword [eax*4 + 0x455868]
test edi, edi
jg 0x44fed2
jl 0x44fe94
test ecx, ecx
jae 0x44fed2
mov eax, 1
sub eax, ecx
mov ecx, connect
mov dword [ebp - 0x20c], eax
mov eax, edx
sbb ecx, edi
add eax, 1
mov dword [ebp - 0x214], eax
mov eax, esi
adc eax, 0
cmp ecx, eax
jg 0x44fe51
jl 0x44fecc
mov eax, dword [ebp - 0x20c]
cmp eax, dword [ebp - 0x214]
ja 0x44fe51
mov ecx, dword [ebp - 0x224]
add edx, ecx
mov dword [ebp - 0x28], edx
adc esi, edi
mov dword [ebp - 0x24], esi
jmp 0x44ff66
push esi
push edx
lea ecx, [ebp - 0x28]
call fcn.00428d30
add esp, 8
test eax, eax
jne 0x44fe51
jmp 0x44ff66
push esi
push edx
lea ecx, [ebp - 0x28]
call fcn.00428d80
add esp, 8
test eax, eax
jne 0x44fe51
jmp 0x44ff66
mov eax, edx
or eax, esi
je 0x4500c1
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x44ff32
test ecx, ecx
jne 0x44ff32
cmp edi, 0x80000000
je 0x44fe51
push esi
push edx
push edi
push ecx
call fcn.0053aaa0
jmp 0x44ff60
mov eax, edx
or eax, esi
je 0x4500c1
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x44ff57
mov edx, 1
xor esi, esi
push esi
push edx
push edi
push ecx
call fcn.0053ab50
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
mov dword [edx], eax
mov ax, word [edx + 8]
mov dword [edx + 4], ecx
mov ecx, 0x3e00
and ax, cx
or ax, 4
mov word [edx + 8], ax
add ebx, 0x14
jmp 0x44f428
test cl, 1
jne 0x4500c1
mov byte [ebp - 0x1e5], 0
jmp 0x44fe57
addsd xmm1, qword [ebp - 0x200]
jmp 0x45003b
subsd xmm1, qword [ebp - 0x200]
jmp 0x45003b
mulsd xmm1, qword [ebp - 0x200]
jmp 0x45003b
movsd xmm0, qword [ebp - 0x200]
ucomisd xmm0, qword [ebp - 0x258]
lahf
test ah, 0x44
jnp 0x4500c1
divsd xmm1, xmm0
jmp 0x45003b
mov ecx, esi
call fcn.00445030
mov ecx, dword [ebp - 0x1f0]
mov esi, eax
mov edi, edx
call fcn.00445030
mov ecx, esi
mov dword [ebp - 0x28], eax
or ecx, edi
mov dword [ebp - 0x24], edx
je 0x4500c1
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x450028
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.0053ab50
mov ecx, eax
call fcn.0053afc0
movaps xmm1, xmm0
movsd qword [ebp - 0x200], xmm1
movsd xmm0, qword [ebp - 0x200]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x200]
ucomisd xmm0, qword [ebp - 0x210]
lahf
test ah, 0x44
jp 0x4500c1
mov ecx, dword [ebp - 0x1f4]
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 - 0x208]
or al, byte [ebp - 0x220]
test al, 8
jne 0x45500c
cmp byte [ebp - 0x1e5], 0
jne 0x45500c
call fcn.00445130
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebp - 0x1f4]
mov ecx, 0x2400
test word [eax + 8], cx
je 0x4500ed
mov ecx, eax
call fcn.00444e80
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov edi, dword [ebp - 0x1dc]
mov ecx, 1
mov esi, dword [ebp - 0x1d4]
mov word [eax + 8], cx
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
test eax, eax
je case.0x44f457.86
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x2400
test word [eax + 8], cx
je 0x450142
push 0
push 0
mov ecx, eax
call fcn.00445460
add esp, 8
add ebx, 0x14
jmp 0x44f428
mov ecx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 8], cx
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x20c], ecx
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [edx + 8]
or al, byte [ecx + 8]
mov dword [ebp - 0x214], esi
test al, 1
je 0x4501ce
mov eax, 0x2400
test word [esi + 8], ax
je 0x4501b7
mov ecx, esi
call fcn.00444e80
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, 1
mov word [esi + 8], ax
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov ecx, edx
call fcn.00445030
mov ecx, dword [ebp - 0x20c]
mov edi, eax
mov esi, edx
mov dword [ebp - 0x248], edi
mov dword [ebp - 0x244], esi
call fcn.00445030
mov ecx, eax
mov al, byte [ebx]
mov dword [ebp - 0x224], ecx
mov byte [ebp - 0x1e5], al
cmp al, 0x5c
jne 0x45020a
and edi, ecx
and esi, edx
jmp 0x450284
cmp al, 0x5d
jne 0x450214
or edi, ecx
or esi, edx
jmp 0x450284
mov eax, ecx
or eax, edx
je 0x450284
test edx, edx
jg 0x450247
jl 0x450224
test ecx, ecx
jae 0x450247
mov al, 0xbd
sub al, byte [ebp - 0x1e5]
cmp edx, 0xffffffff
jl 0x450258
jg 0x450238
cmp ecx, 0xffffffc0
jbe 0x450258
neg ecx
mov dword [ebp - 0x224], ecx
adc edx, 0
neg edx
jmp 0x45024d
mov al, byte [ebp - 0x1e5]
test edx, edx
jl 0x4502b7
jg 0x450258
cmp ecx, 0x40
jb 0x4502b7
test esi, esi
jg 0x45026d
jl 0x450262
test edi, edi
jae 0x45026d
cmp al, 0x5e
je 0x45026d
or edi, 0xffffffff
or esi, edi
jmp 0x450284
xorps xmm0, xmm0
movlpd qword [ebp - 0x200], xmm0
mov esi, dword [ebp - 0x1fc]
mov edi, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x214]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx], edi
mov edi, dword [ebp - 0x1dc]
or ax, 4
mov dword [ecx + 4], esi
mov esi, dword [ebp - 0x1d4]
mov word [ecx + 8], ax
add ebx, 0x14
jmp 0x44f428
movq xmm1, qword [ebp - 0x248]
movd xmm0, ecx
cmp al, 0x5e
jne 0x4502d5
psllq xmm1, xmm0
movq qword [ebp - 0x200], xmm1
jmp 0x450278
psrlq xmm1, xmm0
movq qword [ebp - 0x200], xmm1
test esi, esi
jg 0x450278
jl 0x4502eb
test edi, edi
jae 0x450278
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, dword [ebp - 0x224]
or edx, 0xffffffff
call fcn.0053acf0
mov edi, dword [ebp - 0x200]
mov esi, dword [ebp - 0x1fc]
or edi, eax
or esi, edx
jmp 0x450284
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00445030
mov dword [esi], eax
mov ecx, 0x3e00
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 8], ax
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x4503a5
push dword [ebp - 0x218]
mov dl, 0x43
mov ecx, esi
call fcn.0044f1d0
movzx eax, word [esi + 8]
add esp, 4
mov ecx, eax
test al, 4
jne 0x4503a5
cmp dword [ebx + 8], 0
jne 0x454ffc
mov ebx, 0x14
jmp 0x4523bd
and ecx, 0x3e00
or ecx, 4
mov word [esi + 8], cx
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea esi, [ecx + eax*8]
je 0x455012
mov ecx, esi
call fcn.004450b0
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
movsd qword [esi], xmm0
or ax, 8
mov word [esi + 8], ax
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
mov ecx, esi
test word [esi + 8], ax
je 0x45045c
call fcn.00444b90
push dword [ebp - 0x218]
mov dl, byte [ebx + 8]
mov ecx, esi
mov dword [ebp - 0x1e0], eax
call fcn.00445330
add esp, 4
mov esi, dword [ebp - 0x1d4]
cmp dword [ebp - 0x1e0], 0
jne 0x455276
add ebx, 0x14
jmp 0x44f428
push dword [ebp - 0x250]
mov dl, byte [ebx + 8]
mov dword [ebp - 0x1e0], 0
call fcn.00445330
mov esi, dword [ebp - 0x1d4]
add esp, 4
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x224], edi
lea eax, [eax + eax*4]
movzx edx, word [ecx + eax*8 + 8]
lea esi, [ecx + eax*8]
movzx eax, word [edi + 8]
mov ecx, edx
or ecx, eax
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1ec], edx
test cl, 1
je 0x450559
movzx eax, word [ebx + 2]
test al, al
jns 0x4504f9
mov al, dl
and al, byte [ebp - 0x1d8]
test al, 1
je 0x4505c9
test edx, 0x100
jne 0x4505c9
movzx ecx, byte [ebx]
xor edx, edx
mov al, byte [ecx + 0x553e98]
jmp 0x4505d7
test al, 0x20
je 0x45053d
mov eax, dword [ebx + 8]
mov esi, 0x3e00
mov edx, dword [ebp - 0x1e4]
mov edi, dword [ebp - 0x1dc]
mov dword [ebp - 0x230], 1
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, si
mov esi, dword [ebp - 0x1d4]
or ax, 1
mov word [edx + ecx*8 + 8], ax
add ebx, 0x14
jmp 0x44f428
test al, 0x10
jne 0x454ffc
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov al, byte [ebx + 2]
and al, 0x47
cmp al, 0x43
jb 0x450687
test cl, 2
je 0x45059f
mov al, byte [ebp - 0x1d8]
and al, 0xe
cmp al, 2
jne 0x45058a
xor edx, edx
mov ecx, edi
call fcn.0044f130
movzx eax, word [esi + 8]
mov dword [ebp - 0x1ec], eax
mov al, byte [ebp - 0x1ec]
and al, 0xe
cmp al, 2
jne 0x45059f
xor edx, edx
mov ecx, esi
call fcn.0044f130
mov al, byte [edi + 8]
and al, byte [esi + 8]
test al, 4
je 0x4506ff
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov edi, dword [esi + 4]
mov ecx, dword [esi]
cmp edi, edx
jl 0x450676
jg 0x4505c9
cmp ecx, eax
jbe 0x450664
movzx ecx, byte [ebx]
mov edx, 1
mov al, byte [ecx + 0x553240]
mov ecx, dword [ebp - 0x224]
movzx edi, al
movzx eax, word [ebp - 0x1d8]
mov word [ecx + 8], ax
movzx eax, word [ebp - 0x1ec]
mov word [esi + 8], ax
movzx ecx, word [ebx + 2]
test cl, 0x20
je 0x450774
mov eax, dword [ebx + 8]
mov dword [ebp - 0x230], edx
lea esi, [eax + eax*4]
test cl, 8
je 0x450624
xor eax, eax
cmp byte [ebx], 0x35
sete al
cmp eax, edi
je 0x45500c
mov eax, dword [ebp - 0x1e4]
mov edx, 0x3e00
mov cx, word [eax + esi*8 + 8]
and cx, dx
or cx, 4
mov word [eax + esi*8 + 8], cx
mov eax, edi
mov ecx, dword [ebp - 0x1e4]
mov edi, dword [ebp - 0x1dc]
cdq
mov dword [ecx + esi*8], eax
mov dword [ecx + esi*8 + 4], edx
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
cmp edi, edx
jg 0x4504e9
jl 0x450676
cmp ecx, eax
jae 0x4504e9
movzx ecx, byte [ebx]
or edx, 0xffffffff
mov al, byte [ecx + 0x5579a4]
jmp 0x4505d7
cmp al, 0x42
jne 0x4506ff
mov al, byte [ebp - 0x1d8]
test al, 2
jne 0x4506c5
test al, 0xc
je 0x4506c5
mov dl, byte [ebp - 0x218]
mov ecx, edi
push 1
call fcn.00444be0
mov ax, word [edi + 8]
mov ecx, 0x3e00
xor ax, word [ebp - 0x1d8]
add esp, 4
and ax, cx
xor word [ebp - 0x1d8], ax
mov al, byte [ebp - 0x1ec]
test al, 2
jne 0x4506ff
test al, 0xc
je 0x4506ff
mov dl, byte [ebp - 0x218]
mov ecx, esi
push 1
call fcn.00444be0
mov ax, word [esi + 8]
mov ecx, 0x3e00
xor ax, word [ebp - 0x1ec]
add esp, 4
and ax, cx
xor word [ebp - 0x1ec], ax
movzx eax, word [ebp - 0x1ec]
mov edx, edi
push dword [ebx + 0x10]
mov dword [ebp - 0x214], eax
mov ecx, esi
movzx eax, word [ebp - 0x1d8]
mov dword [ebp - 0x20c], eax
call fcn.0044abd0
mov edx, eax
add esp, 4
mov edi, edx
test edx, edx
jns 0x45073e
movzx ecx, byte [ebx]
mov al, byte [ecx + 0x5579a4]
jmp 0x4505d7
mov edx, dword [ebp - 0x20c]
movzx ecx, byte [ebx]
movzx eax, dx
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x1d8], eax
movzx eax, dx
mov edx, edi
mov dword [ebp - 0x1ec], eax
test edi, edi
jne 0x4505d1
mov al, byte [ecx + 0x553e98]
jmp 0x4505d7
test edi, edi
jne 0x454ffc
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
cmp dword [ebp - 0x230], 0
jne 0x454ffc
add ebx, 0x14
jmp 0x44f428
test byte [ebx + 2], 1
jne 0x4507af
xor eax, eax
jmp 0x4507b5
mov eax, dword [ebx - 4]
add eax, 4
mov esi, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x214], esi
mov esi, dword [ebx + 8]
mov dword [ebp - 0x20c], esi
xor esi, esi
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x1f0], ecx
mov dword [ebp - 0x1f4], edx
test ecx, ecx
jle 0x455012
lea edi, [edx + 0x14]
nop dword [eax]
test eax, eax
je 0x4507f9
mov ecx, dword [eax + esi*4]
jmp 0x4507fb
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x1e4]
push dword [edi]
mov al, byte [esi + eax]
mov byte [ebp - 0x1e5], al
mov eax, dword [ebp - 0x20c]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x214]
add eax, ecx
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0044abd0
mov edx, eax
add esp, 4
mov dword [ebp - 0x230], edx
test edx, edx
jne 0x450871
mov eax, dword [ebp - 0x224]
inc esi
mov edx, dword [ebp - 0x1f4]
add edi, 4
cmp esi, dword [ebp - 0x1f0]
jl 0x4507f0
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
cmp byte [ebp - 0x1e5], 0
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
je case.0x44f457.86
neg edx
mov dword [ebp - 0x230], edx
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebp - 0x230]
test eax, eax
jns 0x4508be
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x21c]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
add ebx, 0xffffffec
add ebx, 0x14
jmp 0x44f428
jne 0x4508da
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x21c]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
add ebx, 0xffffffec
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x21c]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
add ebx, 0xffffffec
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov edx, 2
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004450e0
mov ecx, dword [ebx + 8]
mov edx, 2
mov ebx, dword [ebp - 0x1e4]
mov esi, eax
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
call fcn.004450e0
lea ecx, [eax + esi*2]
mov eax, dword [ebp - 0x1d8]
cmp byte [eax], 0x2c
jne 0x45093f
mov dl, byte [esi + ecx + 0x55460c]
jmp 0x450946
mov dl, byte [esi + ecx + 0x55410c]
mov eax, dword [eax + 0xc]
mov ecx, 0x3e00
lea esi, [eax + eax*4]
mov ax, word [ebx + esi*8 + 8]
and ax, cx
movzx ecx, ax
cmp dl, 2
jne 0x450980
or ecx, 1
movzx eax, cx
mov word [ebx + esi*8 + 8], ax
mov ebx, dword [ebp - 0x1d8]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
movzx eax, dl
or ecx, 4
cdq
mov dword [ebx + esi*8], eax
movzx eax, cx
mov dword [ebx + esi*8 + 4], edx
mov word [ebx + esi*8 + 8], ax
mov ebx, dword [ebp - 0x1d8]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004450e0
mov ecx, dword [ebp - 0x1d8]
mov ebx, dword [ebp - 0x1e4]
xor eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 8]
cdq
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov ebx, 0x2400
test word [ecx + 8], bx
je 0x4509fd
push edx
push eax
call fcn.00445460
mov ebx, dword [ebp - 0x1d8]
add esp, 8
add ebx, 0x14
jmp 0x44f428
mov ebx, dword [ebp - 0x1d8]
mov dword [ecx], eax
mov eax, 4
mov dword [ecx + 4], edx
mov word [ecx + 8], ax
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
lea ecx, [edx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
jne 0x450197
xor edx, edx
call fcn.004450e0
neg eax
mov ecx, 0x2400
sbb eax, eax
inc eax
test word [esi + 8], cx
je 0x450a6e
push 0
push eax
mov ecx, esi
call fcn.00445460
mov esi, dword [ebp - 0x1d4]
add esp, 8
add ebx, 0x14
jmp 0x44f428
mov dword [esi], eax
mov eax, 4
mov dword [esi + 4], 0
mov word [esi + 8], ax
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x450aba
mov ecx, esi
call fcn.00444e80
jmp 0x450ac3
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x45500c
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.00445030
mov edi, dword [ebp - 0x1dc]
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov edx, dword [esi + 0xc8]
test edx, edx
je 0x450b53
mov edi, dword [edx + 0x18]
mov eax, ebx
sub eax, dword [esi + 0x68]
sar eax, 2
imul ecx, eax, 0xcccccccd
mov eax, 1
mov esi, ecx
and ecx, 7
shr esi, 3
shl eax, cl
movzx edx, byte [esi + edi]
test edx, eax
jne 0x454ffc
bts edx, ecx
mov byte [esi + edi], dl
mov esi, dword [ebp - 0x1d4]
mov edi, dword [ebp - 0x1dc]
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 4]
mov dword [ebx + 4], eax
add ebx, 0x14
jmp 0x44f428
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 4]
je 0x454ffc
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 4]
mov dword [ebx + 4], eax
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004450e0
test eax, eax
jne 0x454ffc
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
xor edx, edx
mov ecx, dword [ebp - 0x1e4]
cmp dword [ebx + 0xc], edx
lea eax, [eax + eax*4]
sete dl
lea ecx, [ecx + eax*8]
call fcn.004450e0
test eax, eax
je 0x454ffc
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x454ffc
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x454ffc
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je case.0x44f457.86
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x2400
test word [eax + 8], cx
je 0x450c3d
mov ecx, eax
call fcn.00444e80
jmp 0x454ffc
mov ecx, 1
mov word [eax + 8], cx
jmp 0x454ffc
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xb4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0xac]
mov dword [ebp - 0xac], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xb4], eax
call fcn.0044a010
mov edx, eax
mov dword [ebp - 0x1e0], edx
test edx, edx
jne 0x455276
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1e4]
mov edi, dword [ebp - 0xac]
mov edx, dword [ebp - 0x1d4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edi + 0x1c]
mov esi, dword [edi + 0x48]
mov dword [ebp - 0x204], ecx
mov dword [ebp - 0x208], esi
cmp eax, dword [edx + 0x20]
je 0x450e08
cmp byte [edi + 2], 0
je 0x450d3f
cmp byte [edi], 3
jne 0x450d02
mov eax, dword [edi + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1e4]
mov eax, dword [eax + edx*8 + 0xc]
mov dword [edi + 0x54], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [eax + edx*8 + 0x10]
mov eax, dword [ebp - 0xac]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0xac]
jmp 0x450d8c
mov eax, 0x2400
test word [ecx + 8], ax
je 0x450d26
call fcn.00444e80
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov edi, dword [ebp - 0x1dc]
mov eax, 1
mov word [ecx + 8], ax
mov esi, edx
add ebx, 0x14
jmp 0x44f428
mov esi, dword [edi + 0x28]
mov ecx, esi
call fcn.0043c0b0
mov eax, dword [ebp - 0xac]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x50], ecx
mov ecx, esi
mov edx, dword [ebp - 0xac]
lea edx, [edx + 0x54]
call fcn.0043c6e0
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0x1dc]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x6c]
ja 0x454ed6
mov esi, dword [ebp - 0x208]
mov eax, dword [ebp - 0x1d4]
mov eax, dword [eax + 0x20]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x450db0
movzx eax, al
mov dword [esi], eax
mov al, 1
jmp 0x450db7
mov edx, esi
call fcn.00428b70
movzx ecx, al
mov eax, dword [ebp - 0xac]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0xac]
mov word [eax + 0x3a], cx
mov edi, dword [ebp - 0xac]
mov eax, dword [edi + 0x54]
cmp eax, dword [esi]
jae 0x450f02
mov dword [edi + 0x4c], ecx
mov eax, dword [ebp - 0xac]
mov dword [eax + 0x54], ecx
mov eax, dword [esi]
cmp eax, 0x18003
ja 0x45105e
mov edi, dword [ebp - 0xac]
cmp eax, dword [edi + 0x50]
ja 0x45105e
movzx eax, word [edi + 0x3a]
mov edx, dword [ebp - 0xb4]
cmp eax, edx
jg 0x45110d
mov eax, dword [edi + 0x30]
cmp eax, dword [esi]
jae 0x45108c
mov edx, dword [edi + 0x4c]
mov dword [ebp - 0x1f0], edx
test edx, edx
jne 0x450e81
xorps xmm0, xmm0
lea eax, [ebp - 0x150]
movups xmmword [ebp - 0x150], xmm0
push eax
movups xmmword [ebp - 0x140], xmm0
movq qword [ebp - 0x130], xmm0
push dword [esi]
mov ecx, dword [edi + 0x28]
call fcn.00445a40
mov ecx, eax
add esp, 8
mov dword [ebp - 0x1e0], ecx
test ecx, ecx
jne 0x4523b7
mov edx, dword [ebp - 0x140]
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0x1f0], edx
movzx eax, word [edi + 0x3a]
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0x224], eax
lea eax, [esi + eax*4]
mov esi, dword [edi + 0x30]
mov dword [ebp - 0x214], eax
add esi, edx
mov eax, dword [eax]
mov dword [ebp - 0x220], eax
xor eax, eax
mov dword [ebp - 0x1ec], eax
mov eax, dword [ecx]
add eax, edx
mov dword [ebp - 0x1f4], eax
mov eax, 0x58
sub eax, ecx
mov dword [ebp - 0x1fc], eax
nop word [eax + eax]
movzx ecx, byte [esi]
mov dword [ebp - 0xb0], ecx
cmp ecx, 0x80
jae 0x450f0a
movzx eax, byte [ecx + 0x554aa8]
cdq
add dword [ebp - 0x220], eax
mov eax, 1
adc dword [ebp - 0x1ec], edx
mov edx, dword [ebp - 0x220]
jmp 0x450f5d
mov edx, dword [edi + 0x4c]
jmp 0x450e7b
lea edx, [ebp - 0xb0]
mov ecx, esi
call fcn.00428b70
mov ecx, dword [ebp - 0xb0]
movzx eax, al
mov dword [ebp - 0x20c], eax
cmp ecx, 0x80
jb 0x450f35
lea eax, [ecx - 0xc]
shr eax, 1
jmp 0x450f3c
movzx eax, byte [ecx + 0x554aa8]
mov edx, dword [ebp - 0x220]
mov edi, dword [ebp - 0xac]
add edx, eax
mov eax, dword [ebp - 0x20c]
adc dword [ebp - 0x1ec], 0
mov dword [ebp - 0x220], edx
add esi, eax
mov eax, dword [ebp - 0x1fc]
add eax, edi
mov edi, dword [ebp - 0x214]
mov dword [eax + edi], ecx
add edi, 4
mov ecx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x1f4]
inc ecx
mov dword [ebp - 0x214], edi
mov dword [edi], edx
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0x224], ecx
cmp ecx, dword [ebp - 0xb4]
jg 0x450fa6
cmp esi, eax
jb 0x450ed0
jmp 0x450faa
cmp esi, eax
jb 0x450fbf
cmp esi, eax
ja 0x450fd6
cmp edx, dword [edi + 0x50]
jne 0x450fd6
mov eax, dword [ebp - 0x1ec]
test eax, eax
jne 0x450fd0
jmp 0x450fc5
mov eax, dword [ebp - 0x1ec]
test eax, eax
jb 0x450fe5
ja 0x450fd0
cmp edx, dword [edi + 0x50]
jbe 0x450fe5
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x208]
cmp dword [ecx], 0
jne 0x451038
xor ecx, ecx
mov esi, eax
sub esi, dword [ebp - 0x1f0]
mov word [edi + 0x3a], cx
mov eax, dword [ebp - 0xac]
mov dword [eax + 0x30], esi
mov edi, dword [ebp - 0xac]
cmp dword [edi + 0x4c], 0
jne 0x45102a
test dword [ebp - 0x148], 0x2400
jne 0x451019
cmp dword [ebp - 0x138], 0
je 0x45102a
lea ecx, [ebp - 0x150]
call fcn.00444ec0
mov edi, dword [ebp - 0xac]
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
jmp 0x451094
cmp dword [edi + 0x4c], 0
jne 0x45105e
test dword [ebp - 0x148], 0x2400
jne 0x451053
cmp dword [ebp - 0x138], 0
je 0x45105e
lea ecx, [ebp - 0x150]
call fcn.00444ec0
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x4550d0
mov edi, dword [ebp - 0x1dc]
lea ebx, [eax - 1]
mov esi, dword [ebp - 0x1d4]
lea ebx, [ebx + ebx*4]
lea ebx, [edx + ebx*4]
add ebx, 0x14
jmp 0x44f428
xor ecx, ecx
mov dword [ebp - 0xb0], ecx
movzx eax, word [edi + 0x3a]
cmp eax, edx
jg 0x451117
cmp byte [ebx + 1], 0xf5
mov ecx, dword [ebp - 0x204]
jne 0x4510cc
mov edx, dword [ebx + 0x10]
push 0x800
call fcn.004455f0
mov edi, dword [ebp - 0x1dc]
add esp, 4
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, 0x2400
test word [ecx + 8], ax
je 0x4510f0
call fcn.00444e80
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov edi, dword [ebp - 0x1dc]
mov eax, 1
mov esi, dword [ebp - 0x1d4]
mov word [ecx + 8], ax
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [edi + edx*4 + 0x58]
mov dword [ebp - 0xb0], ecx
mov esi, dword [ebp - 0x204]
mov eax, 0x2400
test word [esi + 8], ax
je 0x451141
mov ecx, esi
call fcn.00444e80
mov edi, dword [ebp - 0xac]
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x208]
mov eax, dword [edi + 0x54]
cmp eax, dword [esi + edx*4 + 4]
mov esi, dword [ebp - 0x204]
jb 0x45121f
mov eax, dword [ebp - 0x208]
mov edi, dword [edi + 0x4c]
add edi, dword [eax + edx*4]
cmp ecx, 0xc
jae 0x45118c
mov edx, ecx
mov ecx, edi
push esi
call fcn.0044a320
mov edi, dword [ebp - 0x1dc]
add esp, 4
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov al, byte [ebp - 0x218]
lea esi, [ecx - 0xc]
mov ecx, dword [ebp - 0x204]
shr esi, 1
mov dword [ecx + 0xc], esi
lea edx, [esi + 2]
mov byte [ecx + 0xa], al
cmp dword [ecx + 0x18], edx
jge 0x4511ce
mov eax, 1
push 0
mov word [ecx + 8], ax
call fcn.00444940
add esp, 4
test eax, eax
jne 0x451468
mov ecx, dword [ebp - 0x204]
jmp 0x4511d4
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
push esi
push edi
push dword [ecx + 0x10]
call fcn.005190f0
mov ecx, dword [ebp - 0x204]
add esp, 0xc
mov edi, dword [ebp - 0x1dc]
mov eax, dword [ecx + 0x10]
mov byte [esi + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [esi + eax + 1], 0
mov eax, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x1d4]
and eax, 1
mov ax, word [eax*2 + 0x554ce4]
mov word [ecx + 8], ax
add ebx, 0x14
jmp 0x44f428
mov al, byte [ebp - 0x218]
mov byte [esi + 0xa], al
movzx eax, word [ebx + 2]
mov edx, dword [ebp - 0xb0]
test al, 0xc0
je 0x451244
cmp edx, 0xc
jb 0x451240
test dl, 1
je 0x45125e
test al, al
js 0x45125e
cmp edx, 0x80
jb 0x451253
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x45125a
movzx eax, byte [edx + 0x554aa8]
test eax, eax
jne 0x451280
push esi
mov ecx, 0x57ac98
call fcn.0044a320
mov edi, dword [ebp - 0x1dc]
add esp, 4
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xac]
push esi
push eax
mov eax, dword [ebp - 0x208]
mov ecx, dword [ecx + 0x28]
mov edx, dword [eax + edx*4]
call fcn.00445a40
mov edi, eax
add esp, 8
mov dword [ebp - 0x1e0], edi
test edi, edi
jne 0x4523b7
mov edx, dword [ebp - 0xb0]
mov ecx, dword [esi + 0x10]
push esi
call fcn.0044a320
mov edi, dword [ebp - 0x1dc]
mov eax, 0xefff
add esp, 4
and word [esi + 8], ax
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x1e4]
mov ebx, dword [ebp - 0x218]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
nop dword [eax + eax]
push ebx
mov dl, al
mov ecx, edi
call fcn.0044f1d0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x451300
mov ebx, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov edi, dword [ebp - 0x1e4]
xor eax, eax
mov esi, dword [ebx + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebx + 4]
movlpd qword [ebp - 0x200], xmm0
movlpd qword [ebp - 0x228], xmm0
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1f4], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x20c], ebx
movzx edx, byte [eax + 0x93]
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x214], edx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x208], eax
test esi, esi
je 0x4513d6
mov al, byte [esi]
mov edi, ecx
mov ebx, dword [ebp - 0x218]
nop
push ebx
mov dl, al
mov ecx, edi
call fcn.0044f1d0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x4513b0
mov edx, dword [ebp - 0x214]
mov ebx, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x224]
mov edi, ebx
mov eax, dword [ebp - 0x200]
mov esi, dword [ebp - 0x1fc]
mov dword [ebp - 0x1f0], ecx
mov ecx, dword [ebp - 0x228]
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x1fc], eax
mov ecx, edi
lea eax, [ebp - 0x38]
mov dword [ebp - 0x224], esi
push eax
call fcn.0044a060
mov ebx, eax
add esp, 4
mov eax, 0x4000
test word [edi + 8], ax
je 0x4514a7
test ebx, ebx
jne 0x451453
mov ecx, dword [ebp - 0x38]
xor eax, eax
add ecx, dword [ebp - 0x1fc]
mov ebx, 0xa
mov dword [ebp - 0x204], ecx
adc eax, esi
mov dword [ebp - 0x224], eax
lea esi, [ebx - 9]
jmp 0x4514ee
mov eax, dword [ebp - 0x204]
or eax, esi
je 0x451493
mov ecx, edi
call fcn.00444b90
test eax, eax
je 0x4514a7
mov eax, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
mov ecx, eax
call fcn.00423cf0
push str.out_of_memory
push esi
call fcn.00446220
add esp, 8
mov ebx, 7
jmp 0x4523c3
mov ecx, dword [edi]
mov eax, ecx
cdq
add dword [ebp - 0x220], eax
adc dword [ebp - 0x1f0], edx
sub dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x204]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x204], eax
adc esi, 0
mov dword [ebp - 0x224], esi
cmp ebx, 0x7f
ja 0x4514cb
mov esi, 1
jmp 0x4514ee
mov edx, ebx
xor ecx, ecx
shr edx, 7
mov esi, 1
mov eax, edx
or eax, ecx
je 0x4514ee
nop dword [eax]
shrd edx, ecx, 7
inc esi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x4514e0
mov eax, dword [ebp - 0x1ec]
add eax, esi
mov dword [edi + 0x1c], ebx
mov dword [ebp - 0x1ec], eax
cmp edi, dword [ebp - 0x1f4]
je 0x451521
mov esi, dword [ebp - 0x224]
sub edi, 0x28
mov eax, dword [ebp - 0x204]
mov edx, dword [ebp - 0x214]
jmp 0x451402
cmp eax, 0x7e
jle 0x451589
cdq
mov ebx, 1
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x45154e
nop dword [eax + eax]
shrd esi, edx, 7
inc ebx
shr edx, 7
mov eax, esi
or eax, edx
jne 0x451540
mov eax, dword [ebp - 0x1ec]
mov edi, 1
add eax, ebx
mov dword [ebp - 0x1ec], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x45157f
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x451571
mov eax, dword [ebp - 0x1ec]
cmp ebx, edi
jge 0x451590
inc eax
mov dword [ebp - 0x1ec], eax
mov ebx, dword [ebp - 0x204]
mov edi, dword [ebp - 0x208]
cdq
mov ecx, eax
mov eax, edx
add ebx, ecx
mov dword [ebp - 0x214], ecx
mov ecx, dword [ebp - 0x224]
mov esi, ebx
mov edi, dword [edi + 0x18]
adc ecx, eax
add esi, dword [ebp - 0x220]
mov dword [ebp - 0x1fc], eax
mov eax, edi
adc ecx, dword [ebp - 0x1f0]
cdq
mov dword [ebp - 0x204], ebx
cmp ecx, edx
jg 0x4515e3
jl 0x4515db
cmp esi, eax
ja 0x4515e3
mov ecx, dword [ebp - 0x208]
jmp 0x45162a
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax + 0x6c]
cdq
cmp ecx, edx
jg 0x454ed6
jl 0x4515ff
cmp esi, eax
ja 0x454ed6
mov ecx, dword [ebp - 0x208]
cmp edi, ebx
jge 0x451625
push 0
mov edx, ebx
call fcn.00444940
add esp, 4
test eax, eax
jne 0x451468
mov ecx, dword [ebp - 0x208]
jmp 0x451630
and word [ecx + 8], 0xd
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0x1ec]
mov edi, dword [ecx + 0x10]
cmp edx, 0x80
jae 0x45164a
mov byte [edi], dl
mov eax, 1
jmp 0x451660
push dword [ebp - 0x1fc]
mov ecx, edi
push dword [ebp - 0x214]
call fcn.00428970
add esp, 8
mov ebx, dword [ebp - 0x1f4]
movzx esi, al
nop dword [eax]
mov ebx, dword [ebx + 0x1c]
lea ecx, [esi + edi]
cmp ebx, 0x80
jae 0x451687
mov byte [ecx], bl
mov eax, 1
jmp 0x451692
push 0
push ebx
call fcn.00428970
add esp, 8
mov ecx, dword [ebp - 0x1ec]
push ebx
mov ebx, dword [ebp - 0x1f4]
mov edx, ebx
movzx eax, al
lea ecx, [ecx + edi]
add esi, eax
call fcn.0044a1c0
add dword [ebp - 0x1ec], eax
add ebx, 0x28
add esp, 4
mov dword [ebp - 0x1f4], ebx
cmp ebx, dword [ebp - 0x20c]
jbe 0x451670
mov edx, dword [ebp - 0x208]
mov eax, dword [ebp - 0x204]
mov ecx, dword [ebp - 0x220]
mov ebx, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
mov dword [edx + 0xc], eax
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [ebp - 0x1f0]
je case.0x44f457.86
mov eax, 0x4010
mov dword [edx], ecx
mov word [edx + 8], ax
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x98]
mov eax, dword [esi + 0x60]
xorps xmm0, xmm0
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
movlpd qword [ebp - 0x98], xmm0
call fcn.00442710
mov ebx, eax
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x4523c3
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x451790
mov ecx, edx
call fcn.0044f2e0
mov ecx, dword [ebp - 0x94]
mov edx, eax
mov eax, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x1d8]
mov dword [edx], eax
mov dword [edx + 4], ecx
add ebx, 0x14
jmp 0x44f428
mov ebx, dword [ebp - 0x1d8]
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x94]
mov dword [edx], eax
mov dword [edx + 4], ecx
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x208], ecx
mov dword [ebp - 0x224], eax
test ecx, ecx
jne 0x4518b8
cmp dword [edi + 0xb4], ecx
jg 0x4550f8
test eax, eax
jne 0x4517e6
xor esi, esi
jmp 0x4517ff
mov esi, eax
lea ecx, [esi + 1]
nop dword [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4517f0
sub esi, ecx
and esi, 0x3fffffff
mov eax, dword [edi + 0x1c8]
xor edx, edx
add eax, dword [edi + 0x1c4]
mov ecx, edi
push eax
call fcn.0049aa10
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1e0], ecx
test ecx, ecx
jne 0x4523b7
push ecx
lea eax, [esi + 0x21]
mov ecx, edi
push eax
call fcn.00423950
mov edi, eax
add esp, 8
test edi, edi
je 0x45500c
lea ecx, [esi + 1]
push ecx
push dword [ebp - 0x224]
lea edx, [edi + 0x20]
push edx
mov dword [edi], edx
call fcn.005190f0
mov edx, dword [ebp - 0x1dc]
add esp, 0xc
cmp byte [edx + 0x4f], 0
je 0x45186f
mov byte [edx + 0x4f], 0
mov byte [edx + 0x57], 1
jmp 0x451875
inc dword [edx + 0x1c4]
mov eax, dword [edx + 0x1bc]
mov esi, dword [ebp - 0x1d4]
mov dword [edi + 0x18], eax
mov eax, dword [edx + 0x1d0]
mov ecx, dword [edx + 0x1d4]
mov dword [edx + 0x1bc], edi
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov eax, dword [edx + 0x1d8]
mov ecx, dword [edx + 0x1dc]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
mov edi, edx
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebp - 0x1dc]
xor edi, edi
mov esi, dword [ecx + 0x1bc]
mov dword [ebp - 0x204], edi
test esi, esi
je 0x45516c
mov ecx, dword [esi]
mov edx, eax
call fcn.00427e20
test eax, eax
je 0x4518ed
mov esi, dword [esi + 0x18]
inc edi
mov eax, dword [ebp - 0x224]
jmp 0x4518c6
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x208]
cmp dword [ecx + 0xb4], 0
jle 0x45190b
cmp edx, 1
je 0x455110
cmp dword [esi + 0x18], 0
jne 0x451997
cmp byte [ecx + 0x57], 0
je 0x451997
mov dword [ebp - 0x220], 1
cmp edx, 1
jne 0x4519a1
mov ecx, dword [ebp - 0x1d4]
call fcn.004493b0
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x455580
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1d4]
mov byte [eax + 0x4f], 1
call fcn.00449410
cmp eax, 5
je 0x45512e
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1d4]
mov byte [ecx + 0x57], 0
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x1e0], eax
lea eax, [ecx + 0x1c4]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x220], eax
jmp 0x451b08
mov dword [ebp - 0x220], 0
lea eax, [ecx + 0x1c4]
mov dword [ebp - 0x1f4], eax
mov eax, dword [eax]
sub eax, edi
dec eax
mov dword [ebp - 0x204], eax
cmp edx, 2
jne 0x451a4e
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ecx + 0x18]
and ecx, 1
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x224], ecx
cmp dword [edi + 0x14], 0
jle 0x451a56
mov eax, ecx
xor eax, 1
xor edi, edi
mov dword [ebp - 0x1fc], eax
push eax
mov eax, dword [ebp - 0x1dc]
mov edx, 0x204
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edi + 4]
call fcn.0043bae0
add esp, 4
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x4523b7
mov eax, dword [ebp - 0x20c]
add edi, 0x10
mov ecx, dword [ebp - 0x1dc]
inc eax
mov dword [ebp - 0x20c], eax
cmp eax, dword [ecx + 0x14]
mov eax, dword [ebp - 0x1fc]
jl 0x4519f0
mov eax, dword [ebp - 0x204]
mov ecx, dword [ebp - 0x224]
mov edx, dword [ebp - 0x208]
jmp 0x451a56
xor ecx, ecx
mov dword [ebp - 0x224], ecx
mov edi, dword [ebp - 0x1dc]
mov dword [ebp - 0x20c], 0
cmp dword [edi + 0x14], 0
jle 0x451ac7
xor edi, edi
nop
push eax
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edi + 4]
call fcn.0043bd70
add esp, 4
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x4523b7
mov eax, dword [ebp - 0x20c]
add edi, 0x10
mov ecx, dword [ebp - 0x1dc]
inc eax
mov edx, dword [ebp - 0x208]
mov dword [ebp - 0x20c], eax
cmp eax, dword [ecx + 0x14]
mov eax, dword [ebp - 0x204]
jl 0x451a70
mov ecx, dword [ebp - 0x224]
mov edi, dword [ebp - 0x1dc]
test ecx, ecx
je 0x451b02
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x451aeb
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x451ad2
mov ecx, edi
call fcn.0046b9b0
mov eax, dword [ebp - 0x1f4]
or dword [edi + 0x18], 1
mov dword [ebp - 0x1f4], eax
mov edi, dword [ebp - 0x204]
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [eax + 0x1bc]
cmp ecx, esi
je 0x451b4a
mov edi, dword [ebp - 0x1f4]
mov ebx, eax
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, ebx
mov dword [ebx + 0x1bc], eax
call fcn.00423590
dec dword [edi]
mov ecx, dword [ebx + 0x1bc]
cmp ecx, esi
jne 0x451b20
mov ebx, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x204]
mov edx, dword [ebp - 0x208]
cmp edx, 1
jne 0x451bb3
mov ecx, dword [ebp - 0x1dc]
mov edx, esi
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x1bc], eax
call fcn.00423590
cmp dword [ebp - 0x220], 0
jne 0x451bf5
mov eax, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x208]
dec dword [eax]
push edi
mov edi, dword [ebp - 0x1dc]
mov ecx, edi
call fcn.0049aa10
mov esi, dword [ebp - 0x1d4]
add esp, 4
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x455276
add ebx, 0x14
jmp 0x44f428
cmp dword [ebp - 0x220], 0
mov edi, dword [ebp - 0x1dc]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x1d0], eax
mov eax, edi
mov dword [eax + 0x1d4], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov esi, edi
mov edi, dword [ebp - 0x204]
mov dword [esi + 0x1d8], eax
mov dword [esi + 0x1dc], ecx
je 0x451b86
cmp edx, 2
je 0x451b86
cmp dword [ebp - 0x1e0], 0
mov esi, dword [ebp - 0x1d4]
jne 0x455276
mov edi, dword [ebp - 0x1dc]
add ebx, 0x14
jmp 0x44f428
mov edx, dword [ebx + 8]
mov dword [ebp - 0x3c], 0
test edx, edx
je 0x451c35
mov eax, dword [edi + 0x20]
and eax, 0x100000
or eax, 0
jne 0x455177
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x451d11
lea eax, [ebp - 0x3c]
mov ecx, esi
push eax
call fcn.0043a6f0
mov edx, eax
add esp, 4
mov dword [ebp - 0x1e0], edx
test edx, edx
jne 0x455181
cmp dword [ebx + 8], eax
je 0x451d17
mov ecx, dword [ebp - 0x1d4]
test byte [ecx + 0x98], 0x80
je 0x451d1f
cmp byte [edi + 0x4f], al
je 0x451c95
cmp dword [edi + 0xb0], 1
jle 0x451d1f
mov eax, dword [ecx + 0x30]
test eax, eax
jne 0x451cb1
mov eax, dword [edi + 0x1c4]
inc dword [edi + 0x1c8]
add eax, dword [edi + 0x1c8]
mov dword [ecx + 0x30], eax
dec eax
xor edx, edx
push eax
mov ecx, edi
call fcn.0049aa10
add esp, 4
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x451cdf
mov eax, dword [ebp - 0x1d4]
mov ecx, esi
mov edx, dword [eax + 0x30]
call fcn.0043bd10
mov dword [ebp - 0x1e0], eax
mov esi, dword [ebp - 0x1d4]
mov eax, dword [edi + 0x1d0]
mov ecx, dword [edi + 0x1d4]
mov edx, dword [ebp - 0x1e0]
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], ecx
mov eax, dword [edi + 0x1d8]
mov ecx, dword [edi + 0x1dc]
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], ecx
jmp 0x451d21
mov edx, dword [ebp - 0x1e0]
mov esi, dword [ebp - 0x1d4]
jmp 0x451d21
mov esi, ecx
cmp word [ebx + 2], 0
je 0x451d58
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebx + 0xc]
jne 0x4551b8
mov eax, dword [ebp - 0x1d8]
mov ebx, dword [ebp - 0x1d8]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 0x10]
jne 0x4551b8
test edx, edx
jne 0x455276
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [edi + 0x10]
lea eax, [ebp - 0x8c]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00442600
mov eax, dword [ebp - 0x1d8]
add esp, 4
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x451dc4
call fcn.0044f2e0
mov ebx, dword [ebp - 0x1d8]
mov ecx, eax
mov eax, dword [ebp - 0x8c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebx, 0x14
jmp 0x44f428
mov ebx, dword [ebp - 0x1d8]
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x8c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebx, 0x14
jmp 0x44f428
mov esi, dword [ebx + 4]
push dword [ebx + 0xc]
mov edx, dword [ebx + 8]
shl esi, 4
add esi, dword [edi + 0x10]
mov ecx, dword [esi + 4]
call fcn.00442660
mov dword [ebp - 0x1e0], eax
add esp, 4
mov eax, dword [ebx + 8]
cmp eax, 1
jne 0x451e1d
mov ecx, dword [esi + 0xc]
mov eax, dword [ebx + 0xc]
mov dword [ecx], eax
or dword [edi + 0x18], 1
jmp 0x451e2b
cmp eax, 2
jne 0x451e2b
mov ecx, dword [esi + 0xc]
mov al, byte [ebx + 0xc]
mov byte [ecx + 0x4c], al
cmp dword [ebx + 4], 1
jne 0x450441
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x451e59
nop dword [eax]
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x451e40
mov esi, dword [ebp - 0x1d4]
and dword [esi + 0x98], 0xfffffffc
jmp 0x450447
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x451e84
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x451fbc
mov esi, dword [ebp - 0x1d4]
mov eax, dword [esi + 0x98]
and al, 3
cmp al, 1
je 0x455213
mov eax, dword [ebp - 0x1d8]
xor ebx, ebx
mov ecx, dword [eax + 0xc]
mov esi, dword [eax + 8]
mov dword [ebp - 0x214], ecx
shl ecx, 4
add ecx, dword [edi + 0x10]
mov dword [ebp - 0x20c], esi
mov edi, dword [ecx + 4]
mov dword [ebp - 0x224], edi
cmp dl, 0x6e
jne 0x451ef4
movzx edi, word [eax + 2]
mov eax, dword [ecx + 0xc]
and edi, 8
mov ecx, dword [ebp - 0x1d4]
or edi, 4
mov al, byte [eax + 0x4c]
cmp al, byte [ecx + 0x93]
jae 0x451eec
mov byte [ecx + 0x93], al
mov eax, dword [ebp - 0x1d8]
jmp 0x451ef6
xor edi, edi
test byte [eax + 2], 0x10
je 0x451f36
mov ecx, dword [ebp - 0x1e4]
lea eax, [esi + esi*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00445030
mov dword [esi], eax
mov ecx, 0x3e00
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 8], ax
mov eax, dword [esi]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x1d8]
mov cl, byte [eax + 1]
cmp cl, 0xf7
jne 0x451f47
mov ebx, dword [eax + 0x10]
movzx ecx, word [ebx + 8]
jmp 0x451f53
cmp cl, 0xfd
jne 0x451f51
mov ecx, dword [eax + 0x10]
jmp 0x451f53
mov ecx, ebx
mov edx, dword [eax + 4]
push 0
push dword [ebp - 0x214]
push ecx
mov ecx, dword [ebp - 0x1d4]
call fcn.0044f040
mov esi, eax
add esp, 0xc
test esi, esi
je 0x451468
push dword [esi + 0x28]
mov eax, dword [ebp - 0x20c]
mov edx, eax
mov ecx, dword [ebp - 0x224]
or dword [esi + 8], 4
push ebx
push edi
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
call fcn.0043be30
mov edi, dword [ebp - 0x1dc]
add esp, 0xc
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 0x2c], ebx
cmp byte [eax + 1], 0xf7
setne al
mov byte [esi + 4], al
mov eax, dword [ebp - 0x1d8]
mov ebx, dword [ebp - 0x1e0]
mov cl, byte [eax + 2]
mov eax, dword [esi + 0x28]
and cl, 3
mov esi, dword [ebp - 0x1d4]
mov byte [eax + 3], cl
test ebx, ebx
jne 0x4523c3
mov ebx, dword [ebp - 0x1d8]
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 8]
mov eax, dword [esi + 0x60]
push 0
push 0xffffffffffffffff
mov edi, dword [eax + ecx*4]
mov ecx, esi
movsx eax, word [edi + 0x38]
push eax
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax + 4]
call fcn.0044f040
add esp, 0xc
test eax, eax
je 0x453856
or dword [eax + 8], 1
push dword [eax + 0x28]
mov byte [eax + 2], 1
mov esi, dword [edi + 0x2c]
mov dword [eax + 0x2c], esi
mov cl, byte [edi + 4]
mov byte [eax + 4], cl
mov edx, dword [edi + 0x34]
mov dword [eax + 0x34], edx
mov ecx, dword [edi + 0xc]
push esi
push 4
call fcn.0043be30
mov ebx, dword [ebp - 0x1d8]
add esp, 0xc
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
mov dword [ebp - 0x1e0], eax
add ebx, 0x14
jmp 0x44f428
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
push 0
mov ecx, dword [eax + edx*4]
test ecx, ecx
je 0x452092
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx + 0xc]
call fcn.00442230
mov edx, eax
add esp, 4
mov dword [ebp - 0x1e0], edx
jmp 0x4521c7
mov eax, dword [ebp - 0x1d8]
mov ecx, esi
push 0xffffffffffffffff
push dword [eax + 8]
call fcn.0044f040
mov esi, eax
add esp, 0xc
test esi, esi
je 0x451468
mov eax, dword [ebp - 0x1d8]
lea edi, [esi + 0xc]
or dword [esi + 8], 1
xor edx, edx
mov byte [esi + 2], 1
push 0x41e
movzx eax, word [eax + 2]
or eax, 5
push eax
mov eax, dword [ebp - 0x1dc]
push edi
push eax
mov ecx, dword [eax]
call fcn.004393c0
mov ebx, eax
add esp, 0x10
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x45218f
mov ecx, dword [edi]
lea edx, [eax + 1]
push eax
call fcn.0043a6f0
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x45218f
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [ebp - 0x1fc], ecx
mov dword [esi + 0x2c], ecx
mov ecx, dword [edi]
je 0x45216a
movzx eax, word [eax + 2]
lea edx, [esi + 0x34]
or eax, 2
push eax
call fcn.00442000
add esp, 4
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x452164
push dword [esi + 0x28]
mov edx, dword [esi + 0x34]
push dword [ebp - 0x1fc]
mov ecx, dword [edi]
push 4
call fcn.0043be30
add esp, 0xc
mov dword [ebp - 0x1e0], eax
mov byte [esi + 4], 0
jmp 0x45218f
push dword [esi + 0x28]
mov edx, 1
mov dword [esi + 0x34], 1
push 0
push 4
call fcn.0043be30
add esp, 0xc
mov dword [ebp - 0x1e0], eax
mov byte [esi + 4], 1
mov eax, dword [ebp - 0x1d8]
xor ecx, ecx
mov ebx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1e0]
mov edi, dword [ebp - 0x1dc]
cmp word [eax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 8], ecx
mov esi, dword [ebp - 0x1d4]
test edx, edx
jne 0x455276
add ebx, 0x14
jmp 0x44f428
mov edx, dword [ebx + 4]
mov ecx, esi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.0044f040
mov edx, eax
add esp, 0xc
test edx, edx
je 0x453856
mov eax, dword [ebp - 0x1d8]
push edx
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x2c], ecx
mov ecx, edi
mov edx, dword [eax + 0xc]
call fcn.00456e80
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x4523c3
mov ebx, dword [ebp - 0x1d8]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [esi + 0x60]
mov ecx, dword [ebx + 4]
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 dword [edx + 0x14], eax
je 0x454ffc
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov edx, dword [ebx + 4]
mov ecx, esi
push 3
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.0044f040
add esp, 0xc
test eax, eax
je 0x453856
mov byte [eax + 2], 1
mov ecx, dword [ebx + 8]
mov dword [eax + 0x20], ecx
mov byte [eax + 4], 1
mov dword [eax + 0x28], 0x57ac70
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov ecx, esi
mov edx, dword [esi + 0x60]
mov edx, dword [edx + eax*4]
call fcn.004482d0
mov eax, dword [ebp - 0x1d8]
mov ebx, dword [ebp - 0x1d8]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov dword [eax + ecx*4], 0
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
xor ebx, ebx
mov eax, dword [esi + 0x60]
mov dword [ebp - 0x1f0], ebx
mov edi, dword [eax + ecx*4]
mov byte [edi + 2], bl
cmp byte [edi + 4], bl
je 0x452485
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov al, byte [esi + 8]
and al, 0xe
cmp al, 2
jne 0x452316
xor edx, edx
mov ecx, esi
call fcn.0044f130
mov ecx, esi
call fcn.00445030
movzx ecx, word [esi + 8]
mov ebx, eax
mov dword [ebp - 0x20c], ebx
mov dword [ebp - 0x224], edx
test cl, 4
jne 0x45236a
test cl, 8
je 0x453ea1
mov ecx, ebx
call fcn.0053afc0
movsd xmm1, qword [esi]
comisd xmm0, xmm1
mov ebx, dword [ebp - 0x1f4]
jbe 0x45235c
test bl, 1
je 0x452370
dec ebx
jmp 0x452370
comisd xmm1, xmm0
jbe 0x452370
test bl, 1
jne 0x452370
inc ebx
jmp 0x452370
mov ebx, dword [ebp - 0x1f4]
mov ecx, dword [edi + 0x28]
lea eax, [ebp - 0x14]
push eax
push 0
push dword [ebp - 0x224]
lea esi, [edi + 0x28]
xor edx, edx
push dword [ebp - 0x20c]
call fcn.0043cb20
mov dword [ebp - 0x1e0], eax
add esp, 0x10
cmp dword [ebp - 0x1e0], 0
mov eax, dword [ebp - 0x20c]
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0x224]
mov dword [edi + 0x44], eax
je 0x452532
mov ebx, dword [ebp - 0x1e0]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1dc]
mov ecx, 7
cmp byte [eax + 0x51], 0
cmovne ebx, ecx
cmp dword [esi + 0x7c], 0
mov dword [ebp - 0x1e0], ebx
jne 0x4523ff
cmp ebx, 0xc0a
je 0x4523ff
mov ecx, ebx
call fcn.004b4470
push eax
push 0x55fa28
push esi
call fcn.00446220
add esp, 0xc
mov dword [esi + 0x28], ebx
mov edx, ebx
mov ebx, dword [ebp - 0x1dc]
mov ecx, ebx
call fcn.00427c10
mov eax, dword [ebp - 0x1d8]
sub eax, dword [ebp - 0x21c]
push dword [esi + 0x7c]
sar eax, 2
push dword [esi + 0xc0]
imul eax, eax, 0xcccccccd
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0x1e0]
call fcn.004272e0
add esp, 0x14
mov ecx, esi
call fcn.00449410
cmp dword [ebp - 0x1e0], 0xc0a
jne 0x45245d
mov ecx, ebx
call fcn.00423cf0
mov al, byte [ebp - 0x229]
mov dword [ebp - 0x1e0], 1
test al, al
je 0x455586
movzx edx, al
mov ecx, ebx
dec edx
call fcn.0046b6e0
jmp 0x455586
mov ecx, dword [edi + 0x28]
lea esi, [edi + 0x28]
mov edx, 2
call fcn.004439e0
mov ecx, dword [ebp - 0x1d8]
lea edx, [ebp - 0xc8]
test eax, eax
mov eax, 1
cmovne ebx, eax
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0xc8], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0xc0], ax
mov dword [ebp - 0x1f0], ebx
mov ebx, dword [ebp - 0x1f4]
test bl, 1
mov byte [ebp - 0xba], 0
sete al
lea eax, [eax*2 - 1]
mov byte [ebp - 0xbe], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0x14]
mov ecx, dword [esi]
push eax
push 0
push 0
push 0
call fcn.0043cb20
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x1e0], ecx
test ecx, ecx
jne 0x4523b7
cmp dword [ebp - 0x1f0], eax
je 0x452532
cmp byte [ebp - 0xba], al
je 0x4525c6
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
mov eax, dword [ebp - 0x14]
cmp ebx, 0x18
jl 0x45259d
test eax, eax
js 0x452559
jne 0x452550
cmp ebx, 0x19
je 0x452559
mov dword [ebp - 0x14], 0
jmp 0x4525d1
mov dword [ebp - 0x14], 0
push 0
push dword [esi]
call fcn.0043d270
mov ebx, eax
add esp, 8
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
je 0x4525c6
cmp ebx, 0x65
jne 0x4523bd
mov ebx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x14], 1
jmp 0x454ffc
test eax, eax
jg 0x4525b4
jne 0x4525a8
cmp ebx, 0x16
je 0x4525b4
mov ecx, dword [esi]
call fcn.0043d0b0
mov dword [ebp - 0x14], eax
jmp 0x4525c9
mov dword [ebp - 0x14], 0
push 0
push dword [esi]
call fcn.0043d3e0
jmp 0x452569
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x453ea1
cmp dword [ebp - 0x1f0], 0
mov ebx, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
je case.0x44f457.86
add ebx, 0x14
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov ebx, dword [ebp - 0x1d8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + 8]
shl eax, 3
xor eax, dword [ecx + 8]
and eax, 8
xor dword [ecx + 8], eax
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
test byte [eax + 8], 8
jne case.0x44f457.86
mov eax, dword [esi + 0x60]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x1e4]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov edx, dword [ecx + 0x10]
test edx, edx
jle 0x45267f
mov eax, dword [ebx + 0x2c]
lea edi, [ebp - 0x160]
mov dword [ebp - 0x15c], esi
xor esi, esi
mov dword [ebp - 0x160], eax
mov word [ebp - 0x158], dx
jmp 0x4526cb
mov eax, 0x4000
test word [esi + 8], ax
je 0x452699
mov ecx, esi
call fcn.00444b90
test eax, eax
jne 0x451468
mov ecx, dword [ebx + 0x2c]
call fcn.0044a500
mov edi, eax
mov dword [ebp - 0x1fc], edi
test edi, edi
je 0x451468
mov edx, dword [esi + 0xc]
mov ecx, dword [ebx + 0x2c]
push edi
push dword [esi + 0x10]
call fcn.0044a560
mov ecx, dword [ebp - 0x1d8]
add esp, 8
mov esi, edi
mov byte [edi + 0xa], 0
cmp byte [ecx], 0x1b
mov dword [ebp - 0x20c], 0
jne 0x452709
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
je 0x452709
mov eax, dword [edi + 4]
add eax, 8
nop
test byte [eax], 1
jne 0x4526ff
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x4526f0
jmp 0x452709
mov dword [ebp - 0x20c], 1
mov ecx, dword [ebx + 0x28]
lea eax, [ebp - 0x5c]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.0043cb20
mov edi, dword [ebp - 0x1dc]
add esp, 0x10
mov edx, eax
mov dword [ebp - 0x1e0], edx
test esi, esi
je 0x452741
mov edx, esi
mov ecx, edi
call fcn.00423590
mov edx, dword [ebp - 0x1e0]
test edx, edx
jne 0x4523b7
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x5c]
test eax, eax
mov byte [ebx + 3], dl
sete cl
mov dword [ebx + 0x1c], edx
test eax, eax
setne al
mov byte [ebx + 2], al
mov ebx, dword [ebp - 0x1d8]
cmp byte [ebx], 0x1d
jne 0x452788
test ecx, ecx
jne 0x454ffc
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
cmp dword [ebp - 0x20c], 0
jne 0x454ffc
test ecx, ecx
je 0x454ffc
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
mov edi, eax
test al, 4
jne 0x4527eb
push dword [ebp - 0x218]
mov dl, 0x43
mov ecx, esi
call fcn.0044f1d0
movzx eax, word [esi + 8]
add esp, 4
shr eax, 2
not eax
mov word [esi + 8], di
test al, 1
jne 0x454ffc
mov esi, dword [ebp - 0x1d4]
mov eax, dword [esi + 0x60]
xor edx, edx
mov ecx, dword [ebx + 4]
mov edi, dword [ebp - 0x1e4]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebx + 0x28]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x48], 0
lea eax, [eax + eax*4]
mov esi, dword [edi + eax*8]
mov edi, dword [edi + eax*8 + 4]
lea eax, [ebp - 0x48]
push eax
push 0
push edi
push esi
call fcn.0043cb20
mov dword [ebx + 0x40], esi
add esp, 0x10
mov dword [ebx + 0x44], edi
mov word [ebx + 2], 0
mov dword [ebx + 0x1c], 0
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x48]
mov dword [ebx + 0x20], eax
cmp dword [ebp - 0x48], 0
mov ebx, dword [ebp - 0x1d8]
je 0x452878
cmp dword [ebx + 8], 0
jne 0x454ffc
mov ecx, 0x156bb
call fcn.004b6b80
mov edx, eax
mov dword [ebp - 0x1e0], edx
jmp 0x45287e
mov edx, dword [ebp - 0x1e0]
mov esi, dword [ebp - 0x1d4]
test edx, edx
jne 0x455276
mov edi, dword [ebp - 0x1dc]
add ebx, 0x14
jmp 0x44f428
mov edx, ebx
mov ecx, esi
call fcn.0044f300
mov edx, dword [ebx + 4]
mov ecx, dword [esi + 0x60]
mov ebx, dword [ebp - 0x1d8]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
add ebx, 0x14
jmp 0x44f428
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
mov edx, ebx
movlpd qword [ebp - 0x20], xmm0
mov ecx, esi
call fcn.0044f300
mov edx, dword [ebx + 4]
mov ecx, dword [esi + 0x60]
mov dword [ebp - 0x1fc], eax
mov edi, dword [ecx + edx*4]
test byte [edi + 8], 2
jne 0x452964
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x2c]
call fcn.0043cac0
mov ecx, eax
mov dword [ebp - 0x1e0], ecx
test ecx, ecx
jne 0x455276
cmp dword [ebp - 0x2c], eax
je 0x452935
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], eax
jmp 0x452964
mov ecx, dword [edi + 0x28]
call fcn.0043c100
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
cmp edx, 0x7fffffff
jl 0x452958
jg 0x452952
cmp eax, 0xffffffff
jb 0x452958
or dword [edi + 8], 2
jmp 0x452964
add eax, 1
mov dword [ebp - 0x20], eax
adc edx, 0
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x4529fb
mov edx, dword [esi + 0xc8]
test edx, edx
je 0x452994
mov eax, dword [edx + 4]
test eax, eax
je 0x452989
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x452980
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x4529a0
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x1e4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00445190
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x4529bd
cmp edx, 0x7fffffff
je 0x452a53
test byte [edi + 8], 2
jne 0x452a53
mov eax, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x20c], eax
adc edx, 0
cmp eax, edx
jg 0x4529ed
jl 0x4529e3
mov eax, dword [ebp - 0x20]
cmp eax, ecx
jae 0x4529f0
mov eax, ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], eax
jmp 0x4529f6
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20c]
mov dword [esi], eax
mov dword [esi + 4], edx
test byte [edi + 8], 2
je 0x452a5d
xor esi, esi
lea eax, [ebp - 0x20]
push eax
push 8
call fcn.00427320
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [ebp - 0x20], ecx
push 0
push eax
mov dword [ebp - 0x1c], eax
xor edx, edx
push ecx
mov ecx, dword [edi + 0x28]
call fcn.0043cb20
add esp, 0x18
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x4523b7
cmp dword [ebp - 0x2c], eax
jne 0x452a5d
inc esi
cmp esi, 0x64
jl 0x452a03
mov ebx, 0xd
jmp 0x4523bd
mov edx, dword [ebp - 0x1fc]
mov esi, dword [ebp - 0x1d4]
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x1dc]
mov dword [edx], eax
mov dword [edx + 4], ecx
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 8]
lea ebx, [eax + eax*4]
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx + 0xc]
cmp dl, 0x7a
jne 0x452ac2
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*8]
mov edx, dword [edx + eax*8 + 4]
jmp 0x452ac5
cdq
mov esi, eax
cmp byte [ecx + 1], 0xfa
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x120], esi
jne 0x452b09
mov eax, dword [ebp - 0x1dc]
cmp dword [eax + 0xec], 0
je 0x452b09
movsx ecx, byte [edi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0x214], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x20c], eax
jmp 0x452b1d
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x214], 0
test byte [ecx + 2], 1
je 0x452b2c
mov eax, dword [ebp - 0x1d4]
inc dword [eax + 0x2c]
test byte [ecx + 2], 0x20
je 0x452b3e
mov eax, dword [ebp - 0x1dc]
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], edx
mov esi, dword [ebp - 0x1e4]
movzx ecx, word [ecx + 2]
mov eax, dword [esi + ebx*8 + 0x10]
mov dword [ebp - 0x118], eax
mov eax, dword [esi + ebx*8 + 0xc]
mov dword [ebp - 0x10c], eax
test cl, 0x10
je 0x452b66
mov edx, dword [edi + 0x20]
jmp 0x452b68
xor edx, edx
mov eax, 0x4000
test word [esi + ebx*8 + 8], ax
je 0x452b7f
mov eax, dword [esi + ebx*8]
mov dword [ebp - 0x108], eax
jmp 0x452b89
mov dword [ebp - 0x108], 0
push edx
and ecx, 0xa
mov dword [ebp - 0x128], 0
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x128]
call fcn.00441530
mov ebx, eax
mov byte [edi + 3], 0
add esp, 8
mov dword [ebp - 0x1e0], ebx
mov dword [edi + 0x1c], 0
test ebx, ebx
jne 0x4523bd
mov eax, dword [ebp - 0x20c]
mov edi, dword [ebp - 0x1dc]
test eax, eax
je 0x44f9a9
push dword [ebp - 0x11c]
mov ecx, 0x17
push dword [ebp - 0x120]
push dword [eax]
mov eax, dword [ebp - 0x1d8]
push dword [ebp - 0x214]
test byte [eax + 2], 4
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [edi + 0xe8]
mov eax, dword [edi + 0xec]
call eax
mov ebx, dword [ebp - 0x1d8]
add esp, 0x18
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 8]
add edi, 0xec
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x1fc], eax
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1d8]
cmp byte [eax + 1], 0xfa
jne 0x452c95
cmp dword [edi], 0
je 0x452c95
mov eax, dword [ebp - 0x1dc]
movsx ecx, byte [esi + 1]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x1d8]
test byte [eax + 2], 2
mov ebx, dword [eax + 0x10]
je 0x452ca1
cmp byte [esi + 4], 0
je 0x452ca1
mov ecx, dword [esi + 0x28]
call fcn.0043c100
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 0x44], edx
jmp 0x452ca1
mov dword [ebp - 0x20c], 0
xor ebx, ebx
mov dl, byte [eax + 2]
mov ecx, dword [esi + 0x28]
call fcn.00441940
mov dword [ebp - 0x1e0], eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
test eax, eax
jne 0x4523b7
test byte [ebp - 0x1fc], 1
je 0x45131a
mov eax, dword [ebp - 0x1d4]
inc dword [eax + 0x2c]
mov eax, dword [edi]
test eax, eax
je 0x45131a
test byte [ebx + 0x24], 0x20
mov edi, dword [ebp - 0x1dc]
jne 0x44f9a9
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [ebx]
push dword [ebp - 0x20c]
push 9
push dword [edi + 0xe8]
call eax
mov ebx, dword [ebp - 0x1d8]
add esp, 0x18
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov edx, dword [esi + 0x2c]
mov ecx, edi
call fcn.0044bb80
mov dword [esi + 0x2c], 0
add ebx, 0x14
jmp 0x44f428
mov eax, dword [esi + 0x60]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x1e4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x60], 0
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x1d8]
push dword [eax + 0x10]
call fcn.00459350
mov ebx, eax
add esp, 8
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x4523c3
mov ebx, dword [ebp - 0x1d8]
cmp dword [ebp - 0x60], eax
jne 0x454ffc
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + ecx*4]
call fcn.004592b0
mov ebx, eax
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x4523c3
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x1c], ebx
mov ebx, dword [ebp - 0x1d8]
add ebx, 0x14
jmp 0x44f428
mov edx, ebx
mov ecx, esi
call fcn.0044f300
mov esi, eax
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [eax + 0x60]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x28]
mov ecx, edi
call fcn.0043c110
mov ecx, dword [ebp - 0x1dc]
cmp eax, dword [ecx + 0x6c]
ja 0x454ed6
push esi
push eax
xor edx, edx
mov ecx, edi
call fcn.00445a40
mov ebx, eax
add esp, 8
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x4523bd
mov ebx, dword [ebp - 0x1d8]
cmp dword [ebx + 0xc], eax
jne 0x45500c
mov eax, 0x1000
test word [esi + 8], ax
je 0x45500c
mov ecx, esi
call fcn.00444b40
mov esi, dword [ebp - 0x1d4]
test eax, eax
jne 0x453856
mov edi, dword [ebp - 0x1dc]
add ebx, 0x14
jmp 0x44f428
mov edx, ebx
mov ecx, esi
call fcn.0044f300
mov edx, dword [ebx + 4]
mov edi, eax
mov ecx, dword [esi + 0x60]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x452ec3
mov esi, dword [ebp - 0x1d4]
mov eax, 1
mov word [edi + 8], ax
mov edi, dword [ebp - 0x1dc]
add ebx, 0x14
jmp 0x44f428
cmp byte [esi + 3], 0
je 0x452ed4
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
jmp 0x452f67
cmp byte [esi], 2
jne 0x452f28
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x58]
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 - 0x1e0], eax
mov edx, esi
mov esi, dword [ebp - 0x1d4]
mov ecx, esi
call fcn.0044bcc0
cmp dword [ebp - 0x1e0], 0
jne 0x455276
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
mov dword [edi], eax
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x1dc]
add ebx, 0x14
jmp 0x44f428
mov ecx, esi
call fcn.00449ff0
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x4523b7
cmp byte [esi + 2], al
je 0x452f5f
mov esi, dword [ebp - 0x1d4]
mov eax, 1
mov word [edi + 8], ax
mov edi, dword [ebp - 0x1dc]
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [esi + 0x28]
call fcn.0043c100
mov esi, dword [ebp - 0x1d4]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x58], eax
mov dword [edi], eax
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x1dc]
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 0
mov byte [ecx + 2], 1
mov dword [ecx + 0x1c], 0
jne case.0x44f457.86
mov ecx, dword [ecx + 0x28]
call fcn.00437aa0
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x44], 0
cmp dl, 0x83
jne 0x452fe1
mov ecx, edi
mov dword [esi + 0x20], 0xffffffff
call fcn.0043c0f0
test eax, eax
jne 0x45500c
lea edx, [ebp - 0x44]
mov ecx, edi
call fcn.0043cac0
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1e0], 0
mov al, byte [ebp - 0x44]
mov byte [esi + 2], al
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
jne 0x4523b7
cmp dword [ebx + 8], 0
jle 0x45500c
cmp dword [ebp - 0x44], 0
jne 0x454ffc
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x4c]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.0043ca80
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x4523b7
cmp dword [ebp - 0x4c], eax
jne 0x454ffc
mov ecx, esi
call fcn.0043d0c0
test edx, edx
jl 0x453091
jg 0x453075
test eax, eax
jb 0x453091
push edx
push eax
call fcn.00428f00
cwde
add esp, 8
cmp eax, dword [ebx + 0xc]
jge 0x453091
mov dword [ebp - 0x4c], 1
jmp 0x454ffc
cmp dword [ebp - 0x4c], 0
jne 0x454ffc
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
inc dword [esi + 0xac]
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x30]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x30], 1
cmp byte [esi], 1
jne 0x4530d8
mov ecx, esi
call fcn.004591c0
mov edx, eax
mov dword [ebp - 0x1e0], edx
jmp 0x453119
mov edi, dword [esi + 0x28]
mov ecx, edi
call fcn.0043ca80
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1d8]
cmp word [eax + 2], 0
je 0x4530fc
mov ecx, edi
call fcn.0043cab0
mov ebx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1e0]
mov edi, dword [ebp - 0x1dc]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test edx, edx
jne 0x4523b7
mov al, byte [ebp - 0x30]
mov byte [esi + 2], al
cmp dword [ebp - 0x30], edx
jne 0x454ffc
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, edi
call fcn.00459220
mov ecx, eax
mov dword [ebp - 0x1e0], ecx
jmp 0x453185
mov eax, dword [esi + 0x60]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1d8]
push dword [eax + 0xc]
mov eax, dword [eax + 0x10]
push dword [esi + 0x28]
call eax
mov ebx, dword [ebp - 0x1d8]
add esp, 8
mov dword [ebp - 0x1e0], eax
mov ecx, eax
mov dword [esi + 0x1c], 0
test ecx, ecx
jne 0x4531b5
mov eax, dword [ebp - 0x1d8]
mov ebx, dword [ebp - 0x1d8]
mov byte [esi + 2], cl
mov ecx, dword [ebp - 0x1d4]
movzx eax, word [eax + 2]
inc dword [ecx + eax*4 + 0xa4]
jmp case.0x44f457.11
cmp ecx, 0x65
jne 0x4523b7
xor ecx, ecx
mov byte [esi + 2], 1
mov dword [ebp - 0x1e0], ecx
jmp 0x454a64
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov ebx, dword [ebp - 0x1e4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1d8]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
je 0x4531fc
mov eax, dword [ebp - 0x1d4]
inc dword [eax + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x453224
mov ecx, esi
call fcn.00444b90
mov ebx, eax
test ebx, ebx
jne 0x4523bd
mov ecx, dword [ebp - 0x1d8]
mov ebx, dword [ebp - 0x1e4]
cmp byte [ecx], 0x84
jne 0x453234
mov edx, esi
mov ecx, edi
call fcn.00458300
jmp 0x453293
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1c4], edx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x1bc], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x1b8], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x453274
mov ecx, dword [edi + 0x20]
jmp 0x453276
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x1d0]
and eax, 0xa
push eax
call fcn.00441530
add esp, 8
mov dword [edi + 0x1c], 0
mov ebx, eax
mov dword [ebp - 0x1e0], ebx
mov esi, dword [ebp - 0x1d4]
test ebx, ebx
jne 0x4523c3
mov ebx, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x1dc]
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xf0]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0xf0], eax
mov ax, word [ecx + 0xc]
mov word [ebp - 0xe8], ax
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x1e4]
mov byte [ebp - 0xe6], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0x88]
push eax
push 0
push 0
push 0
call fcn.0043cb20
mov ebx, eax
add esp, 0x10
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x4523bd
cmp dword [ebp - 0x88], eax
jne 0x45334d
mov dl, 4
mov ecx, edi
call fcn.00441940
mov ebx, eax
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x4523bd
mov ebx, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x1dc]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.00449ff0
mov ebx, eax
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x4523bd
cmp byte [esi + 2], al
jne 0x45343f
xorps xmm0, xmm0
lea eax, [ebp - 0x70]
movlpd qword [ebp - 0x70], xmm0
mov ecx, edi
mov edx, dword [esi + 0x28]
push eax
call fcn.0044b920
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x4523bd
mov eax, dword [ebp - 0x1d8]
cmp byte [eax], 0x87
jne 0x453417
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x1d4]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + ecx*4]
mov byte [edx + 2], bl
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x1d8]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x1d8]
mov dword [edx + 0x44], ecx
mov byte [edx + 3], 1
mov eax, dword [eax + 0x10]
mov dword [edx + 0x24], esi
mov esi, dword [ebp - 0x1d4]
mov dword [edx + 0x18], eax
add ebx, 0x14
jmp 0x44f428
mov esi, dword [ebp - 0x1d4]
mov edx, eax
mov ecx, esi
call fcn.0044f300
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x1d8]
mov dword [eax], ecx
mov dword [eax + 4], edx
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00445440
mov ebx, dword [ebp - 0x1d8]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
cmp byte [ebp - 0x1e5], 0x27
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x100], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0xf8], ax
sbb al, al
mov byte [ebp - 0xf6], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x34], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.0044baa0
mov ebx, dword [ebp - 0x1d8]
add esp, 8
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x34]
test byte [ebx], 1
je 0x4534e8
neg eax
jmp 0x4534e9
inc eax
cmp dword [ebp - 0x1e0], 0
mov dword [ebp - 0x34], eax
jne 0x455276
test eax, eax
jg 0x454ffc
add ebx, 0x14
jmp 0x44f428
mov edx, ebx
mov ecx, esi
call fcn.0044f300
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov ecx, dword [edi + 0xbc]
inc ecx
cmp dword [edi + 0xb0], ecx
jg 0x45521d
mov edx, dword [ebp - 0x1d8]
lea eax, [ebp - 0x40]
mov ecx, dword [edi + 0x10]
push eax
mov dword [ebp - 0x40], 0
mov ebx, dword [edx + 0xc]
mov eax, ebx
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004425b0
mov dword [ebp - 0x1e0], eax
add esp, 4
cmp dword [ebp - 0x1e0], 0
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x40]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jne 0x4523b7
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x44f9a9
mov eax, dword [ebp - 0x1d8]
mov edx, ebx
push dword [eax + 4]
push ecx
mov ecx, edi
call fcn.0046e900
mov esi, dword [ebp - 0x1d4]
add esp, 8
inc bl
mov byte [ebp - 0x229], bl
mov ebx, dword [ebp - 0x1d8]
add ebx, 0x14
jmp 0x44f428
xor ecx, ecx
mov dword [ebp - 0x64], 0
cmp dword [ebx + 0xc], ecx
lea eax, [ebp - 0x64]
mov ebx, dword [ebp - 0x1d8]
cmove eax, ecx
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [ebp - 0x1d8]
mov edx, dword [ebx + 4]
mov eax, dword [eax + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00442230
add esp, 4
mov edx, eax
cmp dword [ebx + 0xc], 0
mov dword [ebp - 0x1e0], edx
je 0x45362c
mov eax, dword [ebp - 0x64]
add dword [esi + 0x2c], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x45362c
mov edi, dword [ebp - 0x1e4]
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8], eax
mov eax, edi
mov edi, dword [ebp - 0x1dc]
adc dword [eax + ecx*8 + 4], edx
mov edx, dword [ebp - 0x1e0]
test edx, edx
jne 0x455276
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x45365c
mov edx, dword [ecx + 0x28]
mov ecx, edi
call fcn.00457560
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ecx + 0x28]
call fcn.004422f0
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x455276
add ebx, 0x14
jmp 0x44f428
mov edx, ebx
mov ecx, esi
call fcn.0044f300
mov esi, eax
mov dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x1d8]
lea edx, [ebp - 0x74]
mov ecx, dword [eax + 4]
push dword [eax + 0xc]
shl ecx, 4
add ecx, dword [edi + 0x10]
mov ecx, dword [ecx + 4]
call fcn.00442000
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x4523bd
mov eax, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x1d8]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebp - 0x1d8]
inc byte [edi + 0x5a]
push 0
push 0
push 0
push dword [eax + 0x10]
push edi
call fcn.00480910
dec byte [edi + 0x5a]
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x4523c3
mov ebx, dword [ebp - 0x1d8]
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 0x10]
mov esi, dword [ebx + 4]
test ecx, ecx
jne 0x45376c
mov eax, dword [edi + 0x10]
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.00473520
mov eax, dword [ebp - 0x1d4]
add esp, 4
and dword [edi + 0x18], 0xfffffff7
add eax, 0x7c
mov edx, esi
mov ecx, edi
push 1
push eax
call fcn.00486a10
mov esi, dword [ebp - 0x1d4]
mov edx, eax
or dword [edi + 0x18], 1
add esp, 8
mov dword [ebp - 0x1e0], edx
and dword [esi + 0x98], 0xfffffffc
jmp 0x453838
mov eax, dword [ebp - 0x1d4]
add eax, 0x7c
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0xdc], eax
add esi, esi
mov eax, dword [edi + 0x10]
push ecx
push str.sqlite_master
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xd0], 0
push dword [eax + esi*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.00426f70
mov esi, eax
add esp, 0x14
test esi, esi
je 0x455234
push 0
lea eax, [ebp - 0xe0]
mov byte [edi + 0xa5], 1
push eax
push fcn.004866b0
push esi
push edi
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xcc], 0
call fcn.00480910
add esp, 0x14
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x45381c
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x45381c
cmp dword [ebp - 0xcc], eax
jne 0x45381c
mov ecx, 0x15c4e
call fcn.004b6b80
mov dword [ebp - 0x1e0], eax
mov edx, esi
mov ecx, edi
call fcn.00423590
mov edx, dword [ebp - 0x1e0]
mov esi, dword [ebp - 0x1d4]
mov byte [edi + 0xa5], 0
test edx, edx
je case.0x44f457.86
mov ecx, edi
call fcn.0046b9b0
mov ebx, dword [ebp - 0x1e0]
cmp ebx, 7
jne 0x4523c3
mov eax, dword [ebp - 0x1dc]
jmp 0x451474
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004693a0
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x455276
add ebx, 0x14
jmp 0x44f428
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.0046bf20
add esp, 4
add ebx, 0x14
jmp 0x44f428
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.0046b430
add esp, 4
add ebx, 0x14
jmp 0x44f428
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.00495030
add esp, 4
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebx + 0x10]
add edx, 4
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ecx + esi*8]
mov ecx, dword [ebp - 0x1dc]
inc eax
push eax
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ecx + 0x10]
push dword [eax + 8]
movzx eax, word [eax + 2]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00443190
add esp, 0xc
mov ecx, edi
mov ebx, eax
call fcn.00445440
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x453959
test ebx, ebx
je 0x451468
mov ecx, dword [ebp - 0x1e4]
dec eax
cdq
push fcn.004234e0
push 1
sub dword [ecx + esi*8], eax
push 0xffffffffffffffff
sbb dword [ecx + esi*8 + 4], edx
mov edx, ebx
mov ecx, edi
call fcn.004456b0
add esp, 0xc
movzx edx, byte [ebp - 0x218]
mov ecx, edi
call fcn.00444920
mov ebx, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 0x10
lea esi, [ebx + eax*8]
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + 8]
lea edi, [eax + eax*4]
jne 0x4539b2
mov ecx, esi
call fcn.004454d0
test eax, eax
jne 0x451468
push dword [ebx + edi*8 + 4]
push dword [ebx + edi*8]
mov ecx, dword [esi + 0x10]
call fcn.0042e7a0
mov ebx, dword [ebp - 0x1d8]
add esp, 8
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x10
lea esi, [ecx + eax*8]
je 0x453a3a
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0xa0]
call fcn.0042eb70
test eax, eax
je 0x453a3a
mov eax, dword [ebp - 0x1d8]
push dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x1e4]
push dword [ebp - 0xa0]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00445490
mov ebx, dword [ebp - 0x1d8]
add esp, 8
jmp 0x454a64
mov ecx, esi
call fcn.00445440
jmp case.0x44f457.11
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x10
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [ebp - 0x1d8]
mov ebx, dword [eax + 0x10]
jne 0x453a86
mov ecx, esi
call fcn.004454d0
test eax, eax
jne 0x451468
mov ecx, dword [ebp - 0x1e4]
test ebx, ebx
je 0x453aa8
push dword [ecx + edi*8 + 4]
mov edx, ebx
push dword [ecx + edi*8]
mov ecx, dword [esi + 0x10]
call fcn.0042ebd0
add esp, 8
test eax, eax
jne 0x453ea1
test ebx, ebx
js 0x45131a
mov eax, dword [ebp - 0x1e4]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
jmp 0x4539b9
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1e4]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x1fc], edi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1f0], ecx
cmp word [eax + 2], 0
je 0x453b16
mov eax, dword [esi + 0xc8]
mov ecx, dword [edi + 0x14]
test eax, eax
je 0x453b10
nop dword [eax + eax]
cmp dword [eax + 0x1c], ecx
je 0x4532a9
mov eax, dword [eax + 4]
test eax, eax
jne 0x453b00
mov ecx, dword [ebp - 0x1f0]
mov ebx, dword [ebp - 0x1dc]
mov eax, dword [esi + 0xd0]
cmp eax, dword [ebx + 0x94]
jge 0x455240
test byte [ecx + 8], 0x10
jne 0x453c36
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 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 [edi + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x453b60
add eax, 7
sar eax, 3
lea edi, [eax + ecx*4]
mov ecx, ebx
mov eax, edi
cdq
push edx
push eax
call fcn.004238c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x451468
mov ecx, dword [ebp - 0x1f0]
call fcn.00444fb0
mov eax, dword [ebp - 0x1f0]
mov ecx, 0x410
mov dword [eax + 0xc], edi
mov edi, dword [ebp - 0x1fc]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x1d4]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x24], 0x447b10
mov dword [ebx], ecx
mov dword [ebx + 0x3c], esi
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x1d8]
sub eax, dword [ebp - 0x21c]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [ebx + 0x30], eax
mov eax, dword [ecx + 0x58]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [ebx + 0x38], eax
mov eax, dword [ecx + 0x60]
mov dword [ebx + 0x14], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebx + 0x2c], eax
mov eax, dword [ecx + 0x68]
mov dword [ebx + 8], eax
mov eax, dword [ecx + 0x6c]
mov dword [ebx + 0x34], eax
mov eax, dword [edi + 0x14]
mov dword [ebx + 0x1c], eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
lea eax, [ebx + 0x50]
cmp eax, ecx
je 0x453c2e
mov edx, dword [ebp - 0x1dc]
mov esi, 0x80
nop word [eax + eax]
mov word [eax + 8], si
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x453c20
mov esi, dword [ebp - 0x1d4]
jmp 0x453c39
mov ebx, dword [ecx + 0x10]
inc dword [esi + 0xd0]
lea edx, [ebx + 0x50]
mov eax, dword [esi + 0xc8]
mov ecx, dword [ebp - 0x1dc]
mov dword [ebx + 4], eax
mov dword [ebp - 0x1e4], edx
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], ecx
mov eax, dword [esi + 0x2c]
mov dword [ebx + 0x44], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
mov dword [ebx + 0x48], eax
mov eax, dword [esi + 0xdc]
mov dword [ebx + 0x28], eax
mov dword [esi + 0x58], edx
mov dword [esi + 0xdc], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0xc8], ebx
mov ecx, dword [ebx + 0x3c]
mov dword [esi + 0x18], ecx
movzx eax, word [ebx + 0x40]
mov dword [esi + 0x1c], eax
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*8]
mov dword [esi + 0x60], ecx
mov eax, dword [edi + 0xc]
lea ecx, [ecx + eax*4]
mov dword [ebx + 0x18], ecx
mov eax, dword [edi + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call fcn.00519680
mov edx, dword [edi]
add esp, 0xc
mov dword [esi + 0x68], edx
mov eax, dword [edi + 4]
mov edi, dword [ebp - 0x1dc]
mov dword [ebp - 0x21c], edx
lea ebx, [edx - 0x14]
mov dword [esi + 0x6c], eax
add ebx, 0x14
jmp 0x44f428
mov edx, ebx
mov ecx, esi
call fcn.0044f300
mov esi, eax
mov eax, dword [ebp - 0x1d4]
push 0x1000
mov eax, dword [eax + 0xc8]
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 [ebx + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.004455f0
mov esi, dword [ebp - 0x1d4]
add esp, 4
add ebx, 0x14
jmp 0x44f428
mov eax, dword [edi + 0x20]
and eax, 0x80000
or eax, 0
mov eax, dword [ebp - 0x1d8]
mov ebx, eax
je 0x453d6a
mov eax, dword [eax + 8]
cdq
add dword [edi + 0x1d8], eax
adc dword [edi + 0x1dc], edx
add ebx, 0x14
jmp 0x44f428
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x453d88
add dword [edi + 0x1d0], eax
adc dword [edi + 0x1d4], edx
add ebx, 0x14
jmp 0x44f428
add dword [esi + 0x40], eax
adc dword [esi + 0x44], edx
add ebx, 0x14
jmp 0x44f428
cmp dword [ebx + 4], 0
je 0x453daa
mov eax, dword [edi + 0x1d0]
or eax, dword [edi + 0x1d4]
jmp 0x453db0
mov eax, dword [esi + 0x40]
or eax, dword [esi + 0x44]
jne case.0x44f457.86
mov eax, dword [edi + 0x1d8]
or eax, dword [edi + 0x1dc]
je 0x454ffc
add ebx, 0x14
jmp 0x44f428
mov edx, dword [esi + 0xc8]
test edx, edx
je 0x453e04
mov eax, dword [edx + 4]
test eax, eax
je 0x453dea
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x453de1
mov eax, dword [ebp - 0x1d8]
mov ebx, dword [ebp - 0x1d8]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x453e13
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00445190
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00445190
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x45500c
jl 0x453e48
cmp dword [edi], eax
jae 0x45500c
mov esi, dword [ebp - 0x1d4]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov edi, dword [ebp - 0x1dc]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1e4]
lea esi, [eax + eax*4]
mov edi, dword [edx + esi*8 + 4]
mov ecx, dword [edx + esi*8]
test edi, edi
jl 0x45500c
jg 0x453e86
test ecx, ecx
je 0x45500c
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
sbb edi, edx
mov edx, dword [ebp - 0x1e4]
mov dword [edx + esi*8], ecx
mov dword [edx + esi*8 + 4], edi
mov ebx, dword [ebp - 0x1d8]
jmp 0x454ffc
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1d4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + 0xc]
lea ebx, [eax + eax*4]
call fcn.0044f300
mov edx, dword [ebp - 0x1e4]
mov edi, eax
mov ecx, dword [edx + esi*8 + 4]
mov eax, dword [edx + esi*8]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], ecx
test ecx, ecx
jl 0x453f4c
jg 0x453eee
test eax, eax
je 0x453f4c
mov ecx, dword [edx + ebx*8 + 4]
mov eax, dword [edx + ebx*8]
test ecx, ecx
jl 0x453eff
jg 0x453f16
test eax, eax
jne 0x453f16
xorps xmm0, xmm0
movlpd qword [ebp - 0x200], xmm0
mov ecx, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x200]
push ecx
push eax
lea ecx, [ebp - 0x80]
call fcn.00428c90
add esp, 8
test eax, eax
jne 0x453f4c
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x7c]
mov ebx, dword [ebp - 0x1d8]
mov esi, dword [ebp - 0x1d4]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov edi, dword [ebp - 0x1dc]
add ebx, 0x14
jmp 0x44f428
mov ebx, dword [ebp - 0x1d8]
mov esi, dword [ebp - 0x1d4]
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
mov edi, dword [ebp - 0x1dc]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [eax + esi*8]
mov edx, dword [eax + esi*8 + 4]
mov eax, ecx
or eax, edx
je 0x455012
test edx, edx
jl 0x454ffc
jg 0x453fa2
test ecx, ecx
je 0x454ffc
mov eax, dword [ebp - 0x1e4]
sub ecx, 1
sbb edx, 0
mov dword [eax + esi*8], ecx
mov dword [eax + esi*8 + 4], edx
jmp 0x454ffc
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1e4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
cmp ecx, 0x80000000
jl 0x453ff4
jg 0x453fdb
test eax, eax
je 0x453ff4
mov edi, dword [ebp - 0x1e4]
sub eax, 1
sbb ecx, 0
mov dword [edi + edx*8], eax
mov dword [edi + edx*8 + 4], ecx
mov edi, dword [ebp - 0x1dc]
or eax, ecx
je 0x454ffc
add ebx, 0x14
jmp 0x44f428
movzx ebx, word [ebx + 2]
mov ecx, edi
push 0
lea eax, [ebx*4 + 0x44]
push eax
call fcn.00423950
mov esi, eax
add esp, 8
test esi, esi
je 0x451468
lea ecx, [ebx + 7]
mov dword [esi + 8], 0
lea ecx, [esi + ecx*4]
mov edx, edi
push 1
mov dword [esi], ecx
call fcn.00445420
mov eax, dword [ebp - 0x1d8]
add esp, 4
mov eax, dword [eax + 0x10]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x1d8]
sub eax, dword [ebp - 0x21c]
sar eax, 2
imul eax, eax, 0xcccccccd
mov byte [esi + 0x19], bl
mov ebx, dword [ebp - 0x1d8]
mov byte [esi + 0x18], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x1d4]
mov dword [esi + 0xc], eax
mov word [ebx], 0xf09c
mov dword [ebx + 0x10], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
mov ebx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
cmp dword [esi + 8], edi
je 0x4540cf
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 8], edi
js 0x4540cf
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebp - 0x1d8]
lea edx, [edx - 4]
mov eax, dword [eax + 8]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x4540b3
inc dword [edi + 0xc]
lea ecx, [esi + 0x1c]
mov eax, dword [ebp - 0x1d8]
movzx edi, byte [esi + 0x19]
mov edx, dword [esi + 4]
push ecx
cmp dword [eax + 4], 0
push edi
push esi
je 0x4540f0
mov eax, dword [edx + 0x1c]
jmp 0x4540f3
mov eax, dword [edx + 0x10]
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x45131a
jle 0x45412c
push dword [esi]
call fcn.0044c3c0
add esp, 4
push eax
push 0x55fa28
push dword [ebp - 0x1d4]
call fcn.00446220
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1e0], eax
cmp byte [esi + 0x18], 0
je 0x454155
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x454151
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ebx + eax*8]
call fcn.00445490
add esp, 8
mov byte [esi + 0x18], 0
mov ecx, dword [esi]
call fcn.00444fb0
mov eax, dword [esi]
mov ecx, 1
mov ebx, dword [ebp - 0x1e0]
mov word [eax + 8], cx
mov dword [esi + 0x14], 0
jmp 0x45329b
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4541bb
push dword [eax + 0x10]
lea eax, [ecx + ecx*4]
mov ecx, esi
lea edx, [ebx + eax*8]
call fcn.00444e00
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
jmp 0x4541c7
mov edx, dword [eax + 0x10]
mov ecx, esi
call fcn.00444cc0
mov ecx, eax
mov dword [ebp - 0x1e0], ecx
test ecx, ecx
jne 0x455258
movzx edx, byte [ebp - 0x218]
mov ecx, esi
call fcn.00444920
mov ecx, esi
call fcn.00445590
test eax, eax
jne 0x454ed6
mov ebx, dword [ebp - 0x1d8]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov edx, dword [ebx + 4]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], 0
push eax
push dword [ebx + 8]
mov ecx, edi
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0xc], 0xffffffff
call fcn.004b5230
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
je 0x454259
cmp ebx, 5
jne 0x4523c3
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x1d8]
xor esi, esi
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + esi*4 - 0x10]
mov ecx, edi
cdq
push edx
push eax
call fcn.00445490
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x454270
mov ebx, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov edx, ebx
mov ecx, esi
call fcn.0044f300
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax + 4]
mov esi, dword [eax + 0xc]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x1fc], eax
call fcn.00442840
mov ebx, eax
mov ecx, ebx
call fcn.00434030
mov edi, eax
cmp esi, 0xffffffff
mov ecx, ebx
cmove esi, edi
call fcn.00434040
test eax, eax
mov edx, 1
mov ecx, ebx
cmove esi, edi
call fcn.00433ce0
cmp esi, 5
jne 0x454370
mov ecx, eax
call fcn.00427b50
test eax, eax
je 0x454319
mov ecx, ebx
call fcn.00434070
test eax, eax
jne 0x454370
mov esi, edi
mov eax, dword [ebp - 0x1e0]
test eax, eax
je 0x454327
mov esi, edi
mov edx, esi
mov ecx, ebx
call fcn.00433f20
mov ebx, dword [ebp - 0x20c]
mov ecx, 0xa02
mov word [ebx + 8], cx
mov ecx, eax
call fcn.00482360
mov ecx, eax
mov dword [ebx + 0x10], eax
call fcn.00427b50
movzx edx, byte [ebp - 0x218]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0xa], 1
call fcn.00444920
mov ebx, dword [ebp - 0x1e0]
jmp 0x45329b
cmp esi, edi
je 0x45431b
cmp edi, 5
je 0x45437e
cmp esi, 5
jne 0x45431b
mov eax, dword [ebp - 0x1dc]
cmp byte [eax + 0x4f], 0
je 0x455281
cmp dword [eax + 0xb0], 1
jg 0x455281
cmp edi, 5
jne 0x4543c2
mov edx, eax
mov ecx, ebx
call fcn.004342f0
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x454325
mov edx, esi
mov ecx, ebx
call fcn.00433f20
jmp 0x4543de
cmp edi, 4
jne 0x4543d1
lea edx, [edi - 2]
mov ecx, ebx
call fcn.00433f20
cmp dword [ebp - 0x1e0], 0
jne 0x454325
mov ecx, dword [ebp - 0x1fc]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00443950
mov dword [ebp - 0x1e0], eax
jmp 0x454321
mov eax, dword [ebx + 8]
test eax, eax
je 0x454412
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
jmp 0x454414
xor eax, eax
push eax
push dword [ebx + 4]
lea ecx, [esi + 0x7c]
mov edx, edi
call fcn.00498bb0
add esp, 8
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x455276
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0043b4f0
mov edx, eax
mov dword [ebp - 0x1e0], edx
test edx, edx
je case.0x44f457.86
cmp edx, 0x65
jne 0x455276
mov dword [ebp - 0x1e0], 0
jmp 0x454ffc
cmp dword [ebx + 4], 0
jne 0x45448c
mov edx, dword [ebx + 8]
mov ecx, edi
call fcn.0044bb90
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 8]
inc eax
xor eax, dword [esi + 0x98]
and eax, 3
xor dword [esi + 0x98], eax
add ebx, 0x14
jmp 0x44f428
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x23c], al
test al, al
jne 0x4544c8
mov eax, dword [edi + 0x20]
and eax, 0x400
mov dword [ebp - 0x200], eax
jne case.0x44f457.86
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [edi + 0x10]
mov ebx, dword [ebp - 0x1d8]
push dword [ebp - 0x23c]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004437f0
add esp, 4
mov dword [ebp - 0x1e0], eax
test eax, eax
je case.0x44f457.86
mov ebx, eax
cmp bl, 6
jne 0x4523c3
mov eax, dword [ebp - 0x1d8]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push esi
call fcn.00446220
add esp, 0xc
jmp 0x4523c3
mov esi, dword [ebx + 0x10]
mov ecx, edi
mov edx, esi
call fcn.0049a930
mov edx, eax
mov dword [ebp - 0x1e0], edx
test esi, esi
je 0x4521c1
mov edx, dword [esi + 8]
mov esi, dword [ebp - 0x1d4]
mov ecx, esi
call fcn.0044bcc0
mov edx, dword [ebp - 0x1e0]
jmp 0x4521c7
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x1e4]
movq qword [ebp - 0x188], xmm0
movups xmmword [ebp - 0x1a8], xmm0
lea eax, [eax + eax*4]
mov dword [ebp - 0x188], edi
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x1a8]
movups xmmword [ebp - 0x198], xmm0
call fcn.00445640
mov dword [ebp - 0x1e0], eax
lea eax, [ebp - 0x1a8]
push eax
call fcn.0044c3c0
add esp, 4
test eax, eax
je 0x4545d3
lea ecx, [esi + 0x7c]
push ecx
push eax
mov eax, dword [ebp - 0x1d8]
mov ecx, edi
mov edx, dword [eax + 4]
call fcn.0049a2e0
mov ebx, dword [ebp - 0x1d8]
add esp, 8
mov dword [ebp - 0x1e0], eax
lea ecx, [ebp - 0x1a8]
call fcn.00444fb0
cmp dword [ebp - 0x1e0], 0
jne 0x455276
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebp - 0x1d8]
mov ecx, edi
inc dword [edi + 0xbc]
push dword [eax + 0x10]
mov edx, dword [eax + 4]
call fcn.0049a6a0
dec dword [edi + 0xbc]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1e0], ebx
test ebx, ebx
jne 0x4523c3
mov ebx, dword [ebp - 0x1d8]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xb8], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x4552c3
mov edi, dword [esi]
test edi, edi
je 0x4552c3
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ecx, dword [ebp - 0x1d4]
add esp, 8
mov edx, esi
mov dword [ebp - 0x1e0], eax
call fcn.0044bcc0
mov ebx, dword [ebp - 0x1e0]
test ebx, ebx
jne 0x4523bd
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x1d4]
push 2
push 0xffffffffffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x1d8]
push ebx
mov edx, dword [eax + 4]
call fcn.0044f040
add esp, 0xc
test eax, eax
je 0x4552b0
mov ecx, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x1dc]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x1e4]
add ebx, 0x28
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1d8]
mov edi, dword [ebx + edx*8]
lea ebx, [ebx + edx*8]
movd xmm0, ebx
mov dword [ebp - 0x214], ebx
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov ebx, dword [esi + 0x5c]
pshufd xmm3, xmm0, 0
mov dword [ebp - 0x20c], ebx
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x208], eax
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x1f0], eax
mov eax, dword [eax]
mov dword [ebp - 0x220], eax
mov eax, dword [eax]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1e4]
mov eax, dword [eax + edx*8]
mov dword [ebp - 0x224], eax
test edi, edi
jle 0x454853
cmp edi, 0x10
jb 0x454839
cmp dword [0x57a438], 2
jl 0x454839
movaps xmm2, xmmword [0x5685a0]
mov eax, edi
and eax, reloc.WS2_32.dll_ntohs
jns 0x454777
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [0x5685c0]
mov edx, edi
sub edx, eax
mov esi, 8
mov dword [ebp - 0x1fc], edx
lea edx, [ebx + 0x20]
mov ebx, dword [ebp - 0x1fc]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [esi - 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
add ecx, 0x10
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [esi + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, esi
add esi, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, ebx
jl 0x4547a0
mov ebx, dword [ebp - 0x20c]
cmp ecx, edi
jge 0x454853
mov edx, dword [ebp - 0x214]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x454848
mov eax, dword [ebp - 0x1d8]
mov esi, dword [ebp - 0x1f0]
push ebx
push edi
push dword [eax + 0x10]
mov edi, dword [ebp - 0x1f4]
push dword [ebp - 0x224]
push esi
mov eax, dword [edi + 0x20]
call eax
mov edx, dword [ebp - 0x220]
add esp, 0x14
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x1e0], eax
call fcn.0044bcc0
mov ebx, dword [ebp - 0x1e0]
test ebx, ebx
jne 0x4523bd
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [ebp - 0x208]
add esp, 4
mov byte [ecx + 2], bl
test eax, eax
je 0x45131a
mov ebx, dword [ebp - 0x1d8]
jmp 0x454ffc
mov eax, dword [esi + 0x60]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x1e4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1d8]
cmp byte [edi + 2], 0
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
je 0x454908
mov ecx, esi
call fcn.00445440
mov ebx, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
test byte [ecx + 2], 1
xorps xmm0, xmm0
mov eax, dword [edi + 0x28]
mov ebx, dword [eax]
mov eax, dword [ebx]
movups xmmword [ebp - 0x180], xmm0
mov dword [ebp - 0x1fc], eax
movups xmmword [ebp - 0x170], xmm0
mov dword [ebp - 0x180], esi
je 0x45494c
mov ecx, esi
call fcn.00445440
mov ecx, dword [ebp - 0x1d8]
mov eax, 0x4001
mov dword [esi], 0
jmp 0x45495f
mov ax, word [esi + 8]
mov edx, 0x3e00
and ax, dx
or ax, 1
movzx eax, ax
mov word [esi + 8], ax
lea eax, [ebp - 0x180]
push dword [ecx + 8]
push eax
mov eax, dword [ebp - 0x1fc]
push dword [edi + 0x28]
mov eax, dword [eax + 0x2c]
call eax
add esp, 0xc
mov dword [ebp - 0x1e0], eax
mov edx, ebx
mov ebx, dword [ebp - 0x1d4]
mov ecx, ebx
call fcn.0044bcc0
cmp dword [ebp - 0x16c], 0
jle 0x4549c0
push esi
call fcn.0044c3c0
add esp, 4
push eax
push 0x55fa28
push ebx
call fcn.00446220
mov eax, dword [ebp - 0x16c]
add esp, 0xc
mov dword [ebp - 0x1e0], eax
movzx edx, byte [ebp - 0x218]
mov ecx, esi
call fcn.00444920
mov ecx, esi
call fcn.00445590
test eax, eax
jne 0x454ed6
mov ebx, dword [ebp - 0x1e0]
jmp 0x45329b
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x451c08
mov eax, dword [edi + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x1fc], ecx
mov eax, dword [ecx + 0x24]
call eax
add esp, 4
mov dword [ebp - 0x1e0], eax
mov edx, esi
mov esi, dword [ebp - 0x1d4]
mov ecx, esi
call fcn.0044bcc0
cmp dword [ebp - 0x1e0], 0
jne 0x455276
mov eax, dword [ebp - 0x1fc]
push dword [edi + 0x28]
mov eax, dword [eax + 0x28]
call eax
mov edi, dword [ebp - 0x1dc]
add esp, 4
test eax, eax
jne 0x454a64
mov ebx, dword [ebx + 8]
mov ecx, dword [ebp - 0x21c]
dec ebx
lea ebx, [ebx + ebx*4]
lea ebx, [ecx + ebx*4]
mov dword [ebp - 0x1d8], ebx
cmp dword [edi + 0x108], 0
jne 0x45553a
mov eax, dword [ebp - 0x234]
cmp eax, dword [ebp - 0x238]
jb 0x455012
mov ecx, dword [edi + 0x140]
test ecx, ecx
je 0x455012
mov esi, dword [edi + 0x148]
xor edx, edx
div esi
push dword [edi + 0x144]
sub esi, edx
add esi, dword [ebp - 0x234]
mov dword [ebp - 0x238], esi
call ecx
mov esi, dword [ebp - 0x1d4]
add esp, 4
test eax, eax
jne 0x455317
add ebx, 0x14
jmp 0x44f428
mov ecx, dword [ebp - 0x1dc]
mov edx, 1
mov edi, dword [edi + 0x20]
and edi, 0x4000000
mov eax, dword [ecx + 0x24]
or dword [ecx + 0x20], 0x4000000
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.00444920
mov ecx, eax
mov dword [ebp - 0x1e0], ecx
test ecx, ecx
jne 0x4523b7
mov eax, dword [esi]
push dword [ebx + 0x10]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [ebp - 0x1e0], eax
test edi, edi
mov edi, dword [ebp - 0x1dc]
jne 0x454b4e
mov eax, dword [edi + 0x24]
and dword [edi + 0x20], 0xfbffffff
mov dword [edi + 0x24], eax
mov edx, esi
mov esi, dword [ebp - 0x1d4]
mov ecx, esi
call fcn.0044bcc0
and dword [esi + 0x98], 0xfffffffc
mov ebx, dword [ebp - 0x1e0]
test ebx, ebx
jne 0x4523c3
mov ebx, dword [ebp - 0x1d8]
add ebx, 0x14
jmp 0x44f428
cmp byte [edi + 0x51], 0
jne 0x453856
mov eax, dword [ebx + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x4552ec
mov eax, dword [edi]
mov dword [ebp - 0x1fc], eax
test eax, eax
je 0x4552ec
cmp dword [eax + 0x34], 0
mov edx, dword [ebx + 8]
je 0x451c08
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e4]
mov esi, dword [esi + 0x5c]
mov al, byte [eax + 0x56]
mov byte [ebp - 0x1e5], al
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test edx, edx
jle 0x454beb
nop dword [eax]
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x454be0
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1dc]
mov al, byte [eax + 2]
mov byte [ecx + 0x56], al
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0x1fc]
push esi
push edx
push edi
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [ebp - 0x1dc]
mov ebx, eax
mov al, byte [ebp - 0x1e5]
add esp, 0x10
mov esi, dword [ebp - 0x1d4]
mov edx, edi
mov dword [ebp - 0x1e0], ebx
mov byte [ecx + 0x56], al
mov ecx, esi
call fcn.0044bcc0
test ebx, ebx
jne 0x454c65
mov ebx, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x1dc]
cmp dword [ebx + 4], 0
je 0x454ca4
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xa4]
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], ecx
jmp 0x454ca4
cmp bl, 0x13
mov ebx, dword [ebp - 0x1d8]
jne 0x454c9e
mov eax, ebx
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x454c9e
movzx ecx, word [ebx + 2]
cmp ecx, 4
jne 0x4552cd
mov edi, dword [ebp - 0x1dc]
xor ecx, ecx
mov dword [ebp - 0x1e0], ecx
add ebx, 0x14
jmp 0x44f428
mov edi, dword [ebp - 0x1dc]
inc dword [esi + 0x2c]
cmp dword [ebp - 0x1e0], 0
jne 0x455276
add ebx, 0x14
jmp 0x44f428
mov edx, ebx
mov ecx, esi
call fcn.0044f300
mov ecx, dword [edi + 0x10]
mov esi, eax
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax + 4]
add edx, edx
mov ecx, dword [ecx + edx*8 + 4]
call fcn.00439070
mov ebx, dword [ebp - 0x1d8]
mov dword [esi], eax
mov dword [esi + 4], 0
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov edx, ebx
mov ecx, esi
call fcn.0044f300
mov ecx, dword [ebp - 0x1dc]
mov edi, eax
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ecx + 0x10]
mov edx, dword [eax + 4]
add edx, edx
mov esi, dword [ecx + edx*8 + 4]
xor edx, edx
cmp dword [eax + 0xc], edx
je 0x454d3b
mov ecx, esi
call fcn.00439070
mov edx, eax
mov eax, dword [ebp - 0x1d8]
cmp edx, dword [eax + 0xc]
cmovb edx, dword [eax + 0xc]
mov ecx, esi
call fcn.0043a190
mov ebx, dword [ebp - 0x1d8]
mov esi, dword [ebp - 0x1d4]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x1dc]
add ebx, 0x14
jmp 0x44f428
movzx ebx, word [ebx + 2]
mov ecx, edi
push 0
lea eax, [ebx*4 + 0x1c]
push eax
call fcn.00423950
mov edx, eax
add esp, 8
test edx, edx
je 0x453856
mov eax, dword [ebp - 0x1d8]
mov dword [edx], 0
mov ecx, dword [eax + 0x10]
mov dword [edx + 4], ecx
mov ecx, eax
sub ecx, dword [ebp - 0x21c]
sar ecx, 2
mov byte [edx + 0x19], bl
mov ebx, dword [ebp - 0x1d8]
imul eax, ecx, 0xcccccccd
mov dword [edx + 0xc], esi
mov dword [edx + 0x14], 0
mov dword [edx + 0x10], eax
add byte [ebx], 2
mov byte [ebx + 1], 0xf0
mov dword [ebx + 0x10], edx
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1e4]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
cmp dword [esi], edi
je 0x454e16
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi], edi
js 0x454e16
mov ebx, dword [ebp - 0x1e4]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebp - 0x1d8]
lea edx, [edx - 4]
mov eax, dword [eax + 8]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x454df4
mov ebx, dword [ebp - 0x1d8]
mov ax, word [edi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 1
mov word [edi + 8], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x19]
push eax
mov eax, dword [ecx + 0x10]
push esi
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x454eaf
jle 0x454e6e
push edi
call fcn.0044c3c0
add esp, 4
push eax
push 0x55fa28
push dword [ebp - 0x1d4]
call fcn.00446220
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1dc]
push dword [eax + 4]
lea edx, [edx + 0xdc]
push dword [esi + 0x10]
call fcn.004499c0
mov ebx, dword [ebp - 0x1e0]
add esp, 8
mov dword [esi + 0x14], 0
test ebx, ebx
jne 0x4523bd
mov ebx, dword [ebp - 0x1d8]
test byte [edi + 8], 0x12
je 0x45500c
movzx edx, byte [ebp - 0x218]
mov ecx, edi
call fcn.00444920
mov ecx, edi
call fcn.00445590
test eax, eax
je 0x45500c
mov esi, dword [ebp - 0x1d4]
push str.string_or_blob_too_big
push esi
call fcn.00446220
add esp, 8
mov ebx, 0x12
jmp 0x4523c3
mov cl, byte [edi + 0x58]
test cl, 0x41
je 0x454fb7
test byte [esi + 0x98], 0x10
jne 0x454fb7
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x454f22
mov eax, dword [esi + 0xc0]
test eax, eax
je 0x454fb7
test cl, 0x40
je 0x454f5e
mov edi, dword [edi + 0xc8]
mov edx, eax
mov ecx, esi
call fcn.0044eb70
mov esi, eax
mov eax, dword [ebp - 0x1dc]
push esi
push dword [eax + 0xcc]
call edi
push esi
call fcn.004234e0
mov edi, dword [ebp - 0x1dc]
add esp, 0xc
mov esi, dword [ebp - 0x1d4]
jmp 0x454fb7
cmp dword [edi + 0xb8], 1
push eax
jle 0x454fa3
push str.____s
push edi
call fcn.00426f70
mov ecx, dword [edi + 0xc8]
add esp, 0xc
mov esi, eax
push esi
push dword [ebp - 0x1d4]
push dword [edi + 0xcc]
push 1
call ecx
add esp, 0x10
mov edx, esi
mov ecx, edi
call fcn.00423630
mov esi, dword [ebp - 0x1d4]
jmp 0x454fb7
mov eax, dword [edi + 0xc8]
push esi
push dword [edi + 0xcc]
push 1
call eax
add esp, 0x10
mov eax, dword [ebx + 4]
cmp eax, dword [0x577b78]
jl 0x454ff2
cmp byte [ebx], 0xa9
je case.0x44f457.86
mov edx, 1
cmp dword [esi + 0x6c], edx
jle 0x454ff0
mov eax, 0x14
mov ecx, dword [esi + 0x68]
cmp byte [eax + ecx], 0x11
jne 0x454fe7
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [esi + 0x6c]
jl 0x454fd6
xor eax, eax
inc eax
mov dword [ebx + 4], eax
inc dword [esi + 0xbc]
mov ebx, dword [ebx + 8]
mov ecx, dword [ebp - 0x21c]
dec ebx
lea ebx, [ebx + ebx*4]
lea ebx, [ecx + ebx*4]
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1d4]
add ebx, 0x14
jmp 0x44f428
mov dword [ebx + 0x28], ecx
mov al, byte [eax + 8]
mov byte [ebx + 0x92], al
mov dword [ebx + 0x24], esi
test ecx, ecx
je 0x4550ac
mov eax, dword [ebp - 0x1d8]
movzx ecx, word [eax + 2]
test cx, cx
je 0x45507b
push dword [ecx*4 + 0x553a8c]
push str._s_constraint_failed
push ebx
call fcn.00446220
mov eax, dword [ebp - 0x1d8]
add esp, 0xc
mov eax, dword [eax + 0x10]
test eax, eax
je 0x45508c
push eax
push dword [ebx + 0x7c]
push str._z:__s
push edi
call fcn.00426f70
add esp, 0x10
mov dword [ebx + 0x7c], eax
jmp 0x45508c
push dword [eax + 0x10]
push 0x55fa28
push ebx
call fcn.00446220
add esp, 0xc
push dword [ebx + 0x7c]
mov eax, dword [ebp - 0x1d8]
push dword [ebx + 0xc0]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.004272e0
add esp, 0x14
mov esi, dword [ebp - 0x1d4]
mov ecx, esi
call fcn.00449410
mov dword [ebp - 0x1e0], eax
cmp eax, 5
jne 0x4554de
mov dword [esi + 0x28], eax
jmp 0x455586
push 0x55eb74
push 0x15049
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.004272e0
add esp, 0x14
mov ebx, 0xb
jmp 0x4523bd
push str.cannot_open_savepoint___SQL_statements_in_progress
push esi
call fcn.00446220
add esp, 8
mov ebx, 5
jmp 0x4523c3
mov esi, dword [ebp - 0x1d4]
push str.cannot_release_savepoint___SQL_statements_in_progress
push esi
call fcn.00446220
add esp, 8
mov ebx, 5
jmp 0x4523c3
mov eax, dword [ebp - 0x1d8]
sub eax, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1d4]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [ebp - 0x1e0], 5
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x1dc]
mov byte [eax + 0x4f], 0
mov dword [esi + 0x28], 5
jmp 0x455586
push eax
push str.no_such_savepoint:__s
jmp 0x455297
mov ebx, 8
jmp 0x4523c3
mov ebx, dword [ebp - 0x1e0]
cmp bl, 5
jne 0x4523bd
mov eax, dword [ebp - 0x1d8]
sub eax, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1d4]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esi + 0x24], eax
mov eax, ebx
mov dword [esi + 0x28], eax
jmp 0x455586
mov edx, dword [esi + 0x7c]
test edx, edx
je 0x4551c6
mov ecx, edi
call fcn.00423590
mov edx, str.database_schema_has_changed
mov ecx, edi
call fcn.00423aa0
mov dword [esi + 0x7c], eax
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax + 4]
mov ecx, edx
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x3c]
je 0x4551f7
mov ecx, edi
call fcn.0046b6e0
mov eax, dword [esi + 0x98]
mov ebx, 0x11
and eax, 0xfffffffd
or eax, 1
mov dword [esi + 0x98], eax
jmp 0x4523c3
mov ebx, 0x204
jmp 0x4523c3
mov esi, dword [ebp - 0x1d4]
mov ebx, 6
mov byte [esi + 0x92], 2
jmp 0x4523c3
mov ecx, edi
call fcn.0046b9b0
jmp 0x451468
push str.too_many_levels_of_trigger_recursion
push esi
call fcn.00446220
add esp, 8
mov ebx, 1
jmp 0x4523c3
push esi
call fcn.0044c3c0
mov esi, dword [ebp - 0x1d4]
add esp, 4
push eax
push 0x55fa28
push esi
call fcn.00446220
add esp, 0xc
mov ebx, dword [ebp - 0x1e0]
jmp 0x4523c3
cmp esi, 5
mov eax, str.into
mov ecx, str.out_of
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov esi, dword [ebp - 0x1d4]
push esi
call fcn.00446220
add esp, 0xc
mov ebx, 1
jmp 0x4523c3
push dword [ebp - 0xb8]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
jmp 0x451468
mov ebx, 6
jmp 0x4523bd
mov ebx, dword [ebp - 0x1e0]
cmp ecx, 5
movzx eax, cl
mov edx, 2
cmove eax, edx
mov byte [esi + 0x92], al
jmp 0x4523c3
mov ebx, 6
jmp 0x4523c3
mov eax, dword [edi + 0x140]
test eax, eax
je 0x455321
cmp ecx, dword [ebp - 0x238]
jb 0x455321
push dword [edi + 0x144]
call eax
add esp, 4
test eax, eax
je 0x455321
mov ebx, 9
jmp 0x4523c3
xor edx, edx
mov ecx, esi
call fcn.004493b0
mov ebx, eax
test ebx, ebx
jne 0x4523c3
mov eax, dword [esi]
cmp dword [eax + 0x1c8], ebx
je 0x45534d
cmp dword [esi + 0x30], ebx
je 0x45534d
lea edx, [ebx + 1]
mov ecx, esi
call fcn.00449240
mov eax, dword [esi + 0x20]
xor edi, edi
mov ecx, dword [ebp - 0x1d8]
add eax, 2
mov edx, dword [ebp - 0x1e4]
or eax, 1
mov dword [esi + 0x20], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ebp - 0x1d4]
mov dword [eax + 0x78], esi
cmp dword [ecx + 8], edi
jle 0x4553c6
mov ebx, 0x202
mov eax, 0x1000
test word [esi + 8], ax
je 0x4553a3
mov ecx, esi
call fcn.00444b40
test eax, eax
jne 0x451468
mov ecx, dword [ebp - 0x1d8]
mov ax, word [esi + 8]
and ax, bx
cmp ax, 2
jne 0x4553bd
mov ecx, esi
call fcn.00444b00
mov ecx, dword [ebp - 0x1d8]
inc edi
add esi, 0x28
cmp edi, dword [ecx + 8]
jl 0x455383
mov eax, dword [ebp - 0x1dc]
cmp byte [eax + 0x51], 0
jne 0x45146e
test byte [eax + 0x58], 4
mov esi, dword [ebp - 0x1d4]
je 0x4553f8
push 0
push esi
push dword [eax + 0xcc]
mov eax, dword [eax + 0xc8]
push 4
call eax
add esp, 0x10
mov eax, dword [ebp - 0x1d8]
sub eax, dword [ebp - 0x21c]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [ebp - 0x1e0], 0x64
inc eax
mov dword [esi + 0x24], eax
jmp 0x455586
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x23c], eax
movzx eax, byte [edi + 0x4f]
mov ebx, dword [ebp - 0x23c]
cmp ebx, eax
je 0x4554fa
test ecx, ecx
je 0x455452
mov edx, 0x204
mov ecx, edi
call fcn.004b4330
mov al, 1
jmp 0x455493
test ebx, ebx
je 0x455477
cmp dword [edi + 0xb4], 0
jle 0x455477
push str.cannot_commit_transaction___SQL_statements_in_progress
push esi
call fcn.00446220
add esp, 8
mov ebx, 5
jmp 0x4523c3
mov edx, 1
mov ecx, esi
call fcn.004493b0
mov dword [ebp - 0x1e0], eax
test eax, eax
jne 0x455586
mov al, bl
mov ecx, esi
mov byte [edi + 0x4f], al
call fcn.00449410
cmp eax, 5
jne 0x4554d7
mov eax, dword [ebp - 0x1d8]
sub eax, dword [ebp - 0x21c]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [ebp - 0x1e0], 5
mov dword [esi + 0x24], eax
mov al, 1
sub al, bl
mov byte [edi + 0x4f], al
mov dword [esi + 0x28], 5
jmp 0x455586
mov ecx, edi
call fcn.004b3930
cmp dword [esi + 0x28], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [ebp - 0x1e0], eax
jmp 0x455586
test ebx, ebx
jne 0x455517
mov eax, str.cannot_start_a_transaction_within_a_transaction
push eax
push esi
call fcn.00446220
add esp, 8
mov ebx, 1
jmp 0x4523c3
test ecx, ecx
mov edx, str.cannot_commit___no_transaction_is_active
mov eax, str.cannot_rollback___no_transaction_is_active
cmove eax, edx
push eax
push esi
call fcn.00446220
add esp, 8
mov ebx, 1
jmp 0x4523c3
mov esi, dword [ebp - 0x1d4]
xor eax, eax
cmp byte [edi + 0x51], al
sete al
lea eax, [eax*2 + 7]
mov ecx, eax
mov dword [ebp - 0x1e0], eax
mov dword [esi + 0x28], eax
call fcn.004b4470
push eax
push 0x55fa28
push esi
call fcn.00446220
mov ebx, dword [ebp - 0x1e0]
add esp, 0xc
jmp 0x4523c3
mov eax, edi
jmp 0x451474
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x234]
mov ecx, esi
add dword [esi + 0xb4], eax
call fcn.00447920
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1e0]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00517154
mov esp, ebp
pop ebp
ret