Function at 0x452390
Capabilities:
Parse credit card information
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30c
mov eax, dword [0x54735c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, ecx
mov dword [ebp - 0xdc], 0
push ebx
push esi
push edi
mov edi, dword [eax]
mov esi, dword [eax + 8]
mov ebx, dword [eax + 4]
mov dword [ebp - 0xe8], esi
mov cl, byte [edi + 0x3e]
mov esi, dword [edi + 0x20]
mov byte [ebp - 0x124], cl
mov ecx, eax
mov dword [ebp - 0x150], esi
mov esi, dword [edi + 0x24]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], edi
mov byte [ebp - 0x139], 0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x154], esi
call fcn.0044bc30
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 0x50], 7
je 0x458241
mov dword [ecx + 0x50], 0
mov dword [ecx + 0x88], 0
mov dword [ecx + 0x8c], 0
mov dword [ecx + 0x14], 0
cmp dword [edi + 0xf0], 0
mov dword [edi + 0x1c4], 0
jne 0x4581fb
cmp dword [edi + 0x124], 0
je 0x452490
mov esi, dword [edi + 0x12c]
xor edx, edx
mov eax, dword [ecx + 0x7c]
div esi
sub esi, edx
mov dword [ebp - 0x184], esi
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x1c4], 0x101
mov dword [ebp - 0x1d8], 0xbe01
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*4]
xor eax, eax
mov dword [ebp - 0xe4], ebx
cmp byte [edi + 0x41], 0
jne 0x458241
mov cl, byte [ebx]
inc dword [ebp - 0x158]
movzx edx, cl
mov byte [ebp - 0xe9], cl
mov dword [ebp - 0xfc], edx
lea esi, [edx - 1]
cmp esi, 0x9d
ja case.0x4524e5.62
jmp dword [esi*4 + 0x458264]
mov eax, dword [ebx + 4]
mov ecx, 4
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
mov word [eax + esi*8 + 8], cx
mov ecx, ebx
sub ecx, dword [ebp - 0x114]
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0xe8]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ecx + esi*8], eax
mov dword [ecx + esi*8 + 4], edx
jmp 0x45391d
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x114]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ecx*8]
lea eax, [eax + eax*4]
lea eax, [eax + 5]
lea ebx, [edx + eax*4]
mov eax, 0x80
mov word [esi + ecx*8 + 8], ax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
dec eax
cdq
mov dword [esi + ecx*8], eax
mov eax, 4
mov dword [esi + ecx*8 + 4], edx
mov word [esi + ecx*8 + 8], ax
cmp dword [ebx + 8], 0
jne 0x45391d
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ebx, 0x80
mov esi, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x114]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
mov word [esi + ecx*8 + 8], bx
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*4]
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ecx, 4
sub ebx, dword [ebp - 0x114]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
mov word [eax + esi*8 + 8], cx
mov ecx, dword [eax + esi*8]
mov eax, 0x66666667
imul ebx
mov ebx, dword [ebp - 0xe8]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x114]
lea eax, [eax + 5]
mov dword [ebx + esi*8 + 4], edx
lea ebx, [ecx + eax*4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x45353b
mov ecx, ebx
mov eax, 0x66666667
sub ecx, dword [ebp - 0x114]
imul ecx
mov ecx, dword [ebx + 4]
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
test ecx, ecx
jne 0x457dbb
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x457dbb
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edx + 4]
dec dword [ecx + 0xb8]
mov dword [ecx + 0xb0], eax
mov eax, dword [ecx + 0x5c]
mov ecx, edx
add dword [edi + 0x54], eax
mov dword [edi + 0x50], eax
call fcn.0044c790
cmp dword [ebx + 8], 4
mov ecx, eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x150], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 4]
mov dword [ebp - 0x114], edx
jne 0x4526ed
lea eax, [ecx + ecx*4]
mov ecx, dword [edx + eax*4 + 8]
mov eax, dword [ebp - 0xd8]
dec ecx
mov eax, dword [eax + 8]
lea ecx, [ecx + 1]
mov dword [ebp - 0xe8], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xd8]
lea ebx, [edx + eax*4]
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x452734
mov ecx, esi
call fcn.00449a50
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebx + 4]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x45277e
mov ecx, esi
call fcn.00449a50
mov eax, 4
mov word [esi + 8], ax
mov ecx, dword [ebx + 0x10]
add ebx, 0x14
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0xd8]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4527cc
mov ecx, esi
call fcn.00449a50
mov ecx, dword [ebp - 0xd8]
mov eax, 8
mov word [esi + 8], ax
mov eax, dword [ebx + 0x10]
add ebx, 0x14
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0xdc]
movsd qword [esi], xmm0
jmp 0x4524af
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x452818
mov ecx, esi
call fcn.00449a50
mov eax, 4
mov word [esi + 8], ax
mov edx, dword [ebx + 0x10]
mov byte [ebx], 0x19
test edx, edx
jne 0x45282f
xor ecx, ecx
jmp 0x452849
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x452834
sub ecx, edi
mov edi, dword [ebp - 0xe0]
and ecx, 0x3fffffff
cmp byte [ebp - 0x124], 1
mov dword [ebx + 4], ecx
je 0x4528c6
push 0
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.0044a230
add esp, 0xc
mov dword [ebp - 0xdc], eax
cmp eax, 0x12
je 0x4581cc
test byte [esi + 8], 2
je 0x452896
mov al, byte [ebp - 0x124]
cmp byte [esi + 0xa], al
je 0x452896
mov dl, al
mov ecx, esi
call fcn.0042f2f0
test eax, eax
jne 0x45823b
mov eax, 0x800
mov dword [esi + 0x18], 0
or word [esi + 8], ax
cmp byte [ebx + 1], 0xff
jne 0x4528b6
mov edx, dword [ebx + 0x10]
mov ecx, edi
call fcn.0042ce10
mov byte [ebx + 1], 0xff
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
cmp ecx, dword [edi + 0x58]
jg 0x4581cc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4528f3
mov ecx, esi
call fcn.00449a50
mov eax, 0xa02
mov word [esi + 8], ax
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [esi + 0xc], eax
mov al, byte [ebp - 0x124]
mov byte [esi + 0xa], al
cmp byte [ebx + 3], 0
je 0x45353b
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
or eax, dword [edx + ecx*8 + 4]
mov ecx, dword [ebp - 0xd8]
je 0x45293f
mov eax, 0xa10
mov word [esi + 8], ax
mov eax, dword [ebp - 0xdc]
jmp 0x4544ea
mov eax, dword [ebx + 8]
mov edx, 0x2460
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea ecx, [eax + ecx*8]
test word [ecx + 8], dx
lea esi, [ecx + 8]
je 0x452974
call fcn.00449a50
mov edx, 0x2460
mov eax, 4
mov word [esi], ax
mov eax, 1
cmp dword [ebx + 4], 0
mov edi, dword [ebx + 0xc]
cmovne eax, dword [ebp - 0x1c4]
mov ecx, dword [ebx + 8]
sub edi, ecx
movzx eax, ax
mov dword [ebp - 0xf4], eax
mov word [esi], ax
test edi, edi
jle 0x452d9d
nop dword [eax + eax]
test word [esi + 0x28], dx
lea esi, [esi + 0x28]
je 0x4529cc
lea ecx, [esi - 8]
call fcn.00449a50
mov eax, dword [ebp - 0xf4]
mov edx, 0x2460
dec edi
mov word [esi], ax
test edi, edi
jg 0x4529b0
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov edx, 0xff7f
mov esi, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov ax, word [esi + ecx*8 + 8]
and ax, dx
or ax, 1
add ebx, 0x14
mov word [esi + ecx*8 + 8], ax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x452a48
mov ecx, esi
call fcn.00449a50
push 0
mov eax, 4
mov ecx, esi
mov word [esi + 8], ax
mov edx, dword [ebx + 0x10]
push 0
push dword [ebx + 4]
call fcn.0044a230
mov al, byte [ebp - 0x124]
add esp, 0xc
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
mov byte [esi + 0xa], al
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xd8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x3c]
lea edi, [eax + ecx*8]
lea ecx, [edi - 0x28]
call fcn.0044a110
test eax, eax
jne 0x4581cc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x452ac2
mov ecx, esi
call fcn.00449a50
mov eax, 4
lea edx, [edi - 0x28]
push 0x800
mov ecx, esi
mov word [esi + 8], ax
call fcn.0044a170
mov edi, dword [ebp - 0xe0]
add esp, 4
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x10c], 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 dword [eax + eax]
mov eax, 0x2460
test word [esi + 8], ax
jne 0x452b31
cmp dword [esi + 0x18], 0
je 0x452b3e
mov ecx, esi
call fcn.00449ad0
mov ecx, dword [ebp - 0x10c]
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 0x452b86
mov ecx, esi
call fcn.004497a0
test eax, eax
jne 0x45819e
mov ecx, dword [ebp - 0x10c]
add edi, 0x28
add esi, 0x28
sub ecx, 1
mov dword [ebp - 0x10c], ecx
jne 0x452b20
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov edx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe8]
mov ebx, dword [ebx + 0xc]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.0044a170
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x452bfd
mov ecx, esi
call fcn.004497a0
test eax, eax
jne 0x45819e
mov eax, ebx
dec ebx
test eax, eax
je 0x45492f
add esi, 0x28
add edi, 0x28
jmp 0x452bd2
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
push 0x1000
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.0044a170
mov eax, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x4524af
mov eax, dword [edi + 0x124]
test eax, eax
je 0x452c74
mov ecx, dword [ebp - 0x158]
cmp ecx, dword [ebp - 0x184]
jb 0x452c74
push dword [edi + 0x128]
call eax
add esp, 4
test eax, eax
jne 0x457e6e
mov ecx, dword [ebp - 0xd8]
xor edx, edx
call fcn.0044d350
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4544ea
lea edx, [eax + 1]
call fcn.0044d210
mov dword [ebp - 0xdc], eax
test eax, eax
jne case.0x4524e5.62
mov edi, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [edi + 0x48]
add eax, 2
or eax, 1
mov dword [edi + 0x48], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov dword [edi + 0x14], esi
xor edi, edi
cmp dword [ebx + 8], edi
jle 0x452d1c
nop word [eax + eax]
mov eax, 0x1000
test word [esi + 8], ax
je 0x452cfa
mov ecx, esi
call fcn.004497a0
test eax, eax
jne 0x45819e
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
cmp ax, 2
jne 0x452d13
mov ecx, esi
call fcn.00449880
inc edi
add esi, 0x28
cmp edi, dword [ebx + 8]
jl 0x452ce0
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
cmp byte [edi + 0x41], 0
jne 0x458241
sub ebx, dword [ebp - 0x114]
mov eax, 0x66666667
imul ebx
mov edi, 0x64
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [ecx + 0x4c], eax
jmp 0x45457f
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x10c], 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 0x452dda
mov eax, 0x2460
test word [esi + 8], ax
je 0x452db7
mov ecx, esi
call fcn.00449a50
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x4524af
mov edi, dword [ebp - 0xe0]
mov eax, 1
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
mov word [esi + 8], ax
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
test edx, 0x4000
je 0x452def
call fcn.00449820
test eax, eax
jne 0x45819e
mov eax, 0x4000
test word [edi + 8], ax
je 0x452e09
mov ecx, edi
call fcn.00449820
test eax, eax
jne 0x45819e
mov eax, dword [ebp - 0x10c]
test byte [eax + 8], 0x12
jne 0x452e2f
mov dl, byte [ebp - 0x124]
mov ecx, eax
push 0
call fcn.004498c0
add esp, 4
test eax, eax
jne 0x45819e
test byte [edi + 8], 0x12
jne 0x452e4f
mov dl, byte [ebp - 0x124]
mov ecx, edi
push 0
call fcn.004498c0
add esp, 4
test eax, eax
jne 0x45819e
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ecx + 0xc]
add ecx, dword [edi + 0xc]
mov dword [ebp - 0xf4], ecx
cmp ecx, dword [eax + 0x58]
jg 0x4581cc
xor eax, eax
lea edx, [ecx + 2]
cmp esi, edi
mov ecx, esi
sete al
push eax
call fcn.00449660
add esp, 4
test eax, eax
jne 0x45819e
mov ax, word [esi + 8]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x452eb6
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.004f44c0
add esp, 0xc
mov eax, dword [ebp - 0x10c]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
add eax, dword [edi + 0xc]
push eax
call fcn.004f44c0
mov ecx, dword [ebp - 0xf4]
add esp, 0xc
mov eax, dword [esi + 0x10]
mov edi, dword [ebp - 0xe0]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [esi + 8], ax
add ebx, 0x14
mov al, byte [ebp - 0x124]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0xd8]
mov byte [esi + 0xa], al
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [ebp - 0x100], eax
call fcn.00452350
movzx eax, ax
mov dword [ebp - 0xfc], eax
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [ebp - 0xe4], eax
call fcn.00452350
mov ecx, dword [ebp - 0x100]
movzx edx, ax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x134], edx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0x104], eax
mov al, byte [esi + 8]
or al, byte [ecx + 8]
test al, 1
jne 0x4532d7
mov al, dl
and al, byte [ebp - 0xfc]
test al, 4
je 0x453197
mov eax, ecx
mov byte [ebp - 0xe9], 1
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
movzx eax, byte [ebx]
add eax, 0xffffffa7
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x15c], edi
cmp eax, 3
ja case.default.0x452fcc
jmp dword [eax*4 + 0x4584dc]
test esi, esi
jl 0x45305c
jg 0x452fe1
test edx, edx
jb 0x45305c
test edi, edi
jl 0x4530ac
jg 0x452ff3
test ecx, ecx
je 0x4530ac
or eax, 0xffffffff
sub eax, ecx
mov dword [ebp - 0xf4], eax
mov eax, SysReAllocString
sbb eax, edi
cmp eax, esi
jg 0x4530ac
jl 0x45301b
cmp dword [ebp - 0xf4], edx
jae 0x4530ac
mov esi, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x100]
call fcn.00449c40
mov ecx, esi
movsd qword [ebp - 0xf8], xmm0
call fcn.00449c40
movzx eax, byte [ebx]
movaps xmm1, xmm0
add eax, 0xffffffa7
movsd qword [ebp - 0x130], xmm1
cmp eax, 3
ja case.default.0x453055
jmp dword [eax*4 + 0x4584ec]
test edi, edi
jg 0x4530ac
jl 0x453066
test ecx, ecx
jae 0x4530ac
mov eax, edx
mov ecx, esi
add eax, 1
mov dword [ebp - 0x12c], eax
mov eax, 1
adc ecx, 0
sub eax, dword [ebp - 0x10c]
mov dword [ebp - 0xf4], eax
mov eax, connect
sbb eax, edi
cmp eax, ecx
jg 0x45301b
jl 0x4530a6
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x12c]
ja 0x45301b
mov ecx, dword [ebp - 0x10c]
add ecx, edx
mov dword [ebp - 0x160], ecx
adc edi, esi
mov dword [ebp - 0x15c], edi
jmp 0x453152
push esi
push edx
lea ecx, [ebp - 0x160]
call fcn.00430cb0
add esp, 8
test eax, eax
jne 0x45301b
jmp 0x453152
push esi
push edx
lea ecx, [ebp - 0x160]
call fcn.00430d00
add esp, 8
test eax, eax
jne 0x45301b
jmp 0x453152
mov eax, edx
or eax, esi
je 0x4532d7
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x453118
test ecx, ecx
jne 0x453118
cmp edi, 0x80000000
je 0x45301b
push esi
push edx
push edi
push ecx
call fcn.004f3d70
jmp 0x453146
mov eax, edx
or eax, esi
je 0x4532d7
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x45313d
mov edx, 1
xor esi, esi
push esi
push edx
push edi
push ecx
call fcn.004f3f00
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x104]
mov edx, 0xbe04
mov eax, dword [ebp - 0x160]
mov edi, dword [ebp - 0xe0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x15c]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 4
add ebx, 0x14
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov byte [ebp - 0xe9], 0
jmp 0x453027
addsd xmm1, qword [ebp - 0xf8]
jmp 0x45324b
subsd xmm1, qword [ebp - 0xf8]
jmp 0x45324b
mulsd xmm1, qword [ebp - 0xf8]
jmp 0x45324b
movsd xmm0, qword [ebp - 0xf8]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x4532d7
divsd xmm1, xmm0
jmp 0x45324b
movsd xmm0, qword [ebp - 0xf8]
call fcn.004f38af
movsd xmm0, qword [ebp - 0x130]
mov esi, eax
mov edi, edx
call fcn.004f38af
mov ecx, esi
mov dword [ebp - 0xf4], eax
or ecx, edi
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], edx
je 0x4532d7
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x453233
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push dword [ebp - 0xf4]
call fcn.004f3f00
mov ecx, eax
call fcn.004f3a00
movaps xmm1, xmm0
movsd qword [ebp - 0xf8], xmm1
movsd xmm0, qword [ebp - 0xf8]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0xf8]
ucomisd xmm0, qword [ebp - 0x130]
lahf
test ah, 0x44
jp 0x4532d7
mov ecx, dword [ebp - 0x104]
mov edx, 0xbe08
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm1
or ax, 8
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x134]
or al, byte [ebp - 0xfc]
test al, 8
jne 0x452d9d
cmp byte [ebp - 0xe9], 0
jne 0x452d9d
call fcn.00449ca0
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebp - 0x104]
add ebx, 0x14
mov ecx, 0x2460
mov dword [ebp - 0xe4], ebx
test word [eax + 8], cx
je 0x45330f
mov ecx, eax
call fcn.00449a50
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524b5
mov edi, dword [ebp - 0xe0]
mov ecx, 1
mov word [eax + 8], cx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
test eax, eax
je 0x453385
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x45336f
push 0
push 0
mov ecx, eax
call fcn.00449fd0
mov eax, dword [ebp - 0xdc]
add esp, 8
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x4524af
mov ecx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 8], cx
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov al, byte [ebx + 3]
mov ecx, edi
mov byte [ebp - 0xe9], al
movzx eax, al
cdq
add eax, 7
adc edx, 0
shld edx, eax, 2
shl eax, 2
push edx
push eax
call fcn.0042d090
mov esi, eax
add esp, 8
test esi, esi
je 0x45823b
mov dword [esi], 0
mov eax, 0x66666667
mov ecx, dword [ebx + 0x10]
mov dword [esi + 4], ecx
mov ecx, ebx
sub ecx, dword [ebp - 0x114]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xd8]
mov dword [esi + 0xc], eax
mov al, byte [ebp - 0xe9]
mov byte [esi + 0x1a], al
mov word [ebx], 0xec24
mov dword [ebx + 0x10], esi
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov edx, dword [esi]
mov dword [ebp - 0xf4], edi
cmp edx, edi
je 0x453460
movzx ecx, byte [esi + 0x1a]
mov edx, edi
sub ecx, 1
mov dword [esi], edi
js 0x453460
mov edi, dword [ebp - 0xe8]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebx + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + 4], eax
jns 0x453442
mov edi, dword [ebp - 0xf4]
mov edx, dword [esi]
mov ax, word [edx + 8]
mov ecx, 0xbe01
and ax, cx
mov ecx, dword [ebp - 0x150]
or ax, 1
mov word [edx + 8], ax
mov eax, dword [ebp - 0xe0]
mov byte [esi + 0x19], 0
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x154]
mov dword [eax + 0x24], ecx
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov eax, dword [ecx + 0xc]
push esi
call eax
mov eax, dword [ebp - 0xe0]
add esp, 0xc
cmp byte [esi + 0x19], 0
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x154], eax
je 0x453504
cmp dword [esi + 0x14], 0
je 0x4534f0
push dword [esi]
call fcn.0044fb40
add esp, 4
push eax
push 0x5365f0
push dword [ebp - 0xd8]
call fcn.0044ad20
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0xdc], eax
push dword [ebx + 4]
mov edx, dword [esi + 0x10]
mov ecx, dword [ebp - 0xd8]
call fcn.0044d8f0
add esp, 4
test byte [edi + 8], 0x12
je 0x453535
mov ecx, dword [esi]
mov eax, ecx
test byte [ecx + 8], 2
je 0x453526
mov dl, byte [ebp - 0x124]
cmp byte [ecx + 0xa], dl
je 0x453526
call fcn.0042f2f0
mov eax, dword [esi]
mov ecx, eax
call fcn.0044a110
test eax, eax
jne 0x4581cc
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
jmp case.0x4524e5.62
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov al, byte [ecx + 8]
or al, byte [edi + 8]
mov dword [ebp - 0xf4], edx
test al, 1
je 0x4535ac
mov eax, 0x2460
test word [edx + 8], ax
je 0x453589
mov ecx, edx
jmp 0x452d98
mov eax, 1
mov word [edx + 8], ax
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
call fcn.00449b90
mov esi, edx
mov dword [ebp - 0xfc], eax
mov ecx, edi
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], esi
call fcn.00449b90
mov cl, byte [ebx]
mov edi, eax
cmp cl, 0x55
jne 0x4535e4
mov ecx, dword [ebp - 0xfc]
and ecx, edi
and esi, edx
jmp 0x4536d7
cmp cl, 0x56
jne 0x4535f8
mov ecx, dword [ebp - 0xfc]
or ecx, edi
or esi, edx
jmp 0x4536d7
mov eax, edi
or eax, edx
je 0x4536d1
test edx, edx
jg 0x453630
jl 0x45360c
test edi, edi
jae 0x453625
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x453630
jg 0x45361e
cmp edi, 0xffffffc0
jbe 0x453630
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x453667
jg 0x453630
cmp edi, 0x40
jb 0x453667
test esi, esi
jg 0x45364e
jl 0x45363f
cmp dword [ebp - 0xfc], 0
jae 0x45364e
cmp cl, 0x57
je 0x45364e
or ecx, 0xffffffff
or esi, ecx
jmp 0x4536d7
xorps xmm0, xmm0
movlpd qword [ebp - 0x130], xmm0
mov esi, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
jmp 0x4536d7
movq xmm1, qword [ebp - 0x1e0]
movd xmm0, edi
cmp cl, 0x57
jne 0x453692
psllq xmm1, xmm0
movq qword [ebp - 0x130], xmm1
mov esi, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
jmp 0x4536d7
psrlq xmm1, xmm0
movq qword [ebp - 0x130], xmm1
test esi, esi
jg 0x453659
jl 0x4536ad
cmp dword [ebp - 0xfc], 0
jae 0x453659
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.0051aeb0
mov ecx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x12c]
or ecx, eax
or esi, edx
jmp 0x4536d7
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xf4]
mov ax, word [edx + 8]
mov dword [edx], ecx
mov ecx, 0xbe04
and ax, cx
mov dword [edx + 4], esi
or ax, 4
jmp 0x45358e
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00449b90
mov dword [esi], eax
mov ecx, 0xbe04
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xd8]
or ax, 4
mov word [esi + 8], ax
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
mov eax, dword [ebp - 0xdc]
adc dword [esi + 4], edx
add ebx, 0x14
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x453792
push dword [ebp - 0x124]
mov dl, 0x43
mov ecx, esi
call fcn.004521f0
movzx eax, word [esi + 8]
add esp, 4
mov ecx, eax
test al, 4
jne 0x453792
cmp dword [ebx + 8], 0
jne 0x45391d
mov ebx, 0x14
mov dword [ebp - 0xdc], ebx
jmp 0x45808f
mov eax, dword [ebp - 0xdc]
and ecx, 0xbe04
or ecx, 4
add ebx, 0x14
mov word [esi + 8], cx
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea esi, [ecx + eax*8]
je 0x453598
mov ecx, esi
call fcn.00449c40
mov ax, word [esi + 8]
mov ecx, 0xbe08
and ax, cx
movsd qword [esi], xmm0
mov ecx, dword [ebp - 0xd8]
or ax, 8
mov word [esi + 8], ax
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x453829
mov ecx, esi
call fcn.00449820
mov dword [ebp - 0xdc], eax
jmp 0x453833
mov dword [ebp - 0xdc], 0
push dword [ebp - 0x124]
mov dl, byte [ebx + 8]
mov ecx, esi
call fcn.00449ec0
mov eax, dword [ebp - 0xdc]
add esp, 4
jmp case.0x4524e5.62
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xfc], edx
movzx edx, word [edx + 8]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, edx
movzx esi, word [edi + 8]
mov dword [ebp - 0x100], eax
mov eax, esi
mov dword [ebp - 0x11c], eax
or al, dl
test al, 1
mov al, byte [ebx + 3]
je 0x453940
test al, al
jns 0x4538cf
mov edx, esi
xor esi, esi
mov eax, edx
and eax, dword [ebp - 0x100]
bt ax, si
jae 0x4538bf
test edx, 0x100
jne 0x4538bf
mov esi, dword [ebp - 0xfc]
xor edx, edx
jmp 0x453a66
mov esi, dword [ebp - 0xfc]
mov edx, 1
jmp 0x453a66
test al, 0x20
je 0x45390f
mov eax, dword [ebx + 8]
mov edx, 0xbe01
mov esi, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
mov ax, word [esi + ecx*8 + 8]
and ax, dx
or ax, 1
add ebx, 0x14
mov word [esi + ecx*8 + 8], ax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
test al, 0x10
je 0x453592
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x114]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [edx + eax*4]
mov eax, dword [ebp - 0xdc]
jmp 0x4544ea
and al, 0x47
cmp al, 0x43
jb 0x453979
and dl, 0xe
mov eax, esi
cmp dl, 2
jne 0x453961
mov ecx, dword [ebp - 0xfc]
xor edx, edx
call fcn.00452160
movzx eax, word [edi + 8]
and al, 0xe
cmp al, 2
jne 0x453a05
xor edx, edx
mov ecx, edi
call fcn.00452160
jmp 0x453a05
cmp al, 0x42
jne 0x453a05
mov eax, esi
test dl, 2
jne 0x4539c9
test dl, 0xc
je 0x4539c9
mov esi, dword [ebp - 0xfc]
mov ecx, esi
mov dl, byte [ebp - 0x124]
push 1
call fcn.004498c0
mov ax, word [esi + 8]
mov ecx, 0x1ff
xor ax, word [ebp - 0x100]
add esp, 4
and ax, cx
xor ax, word [esi + 8]
movzx eax, ax
mov dword [ebp - 0x100], eax
movzx eax, word [edi + 8]
test al, 2
jne 0x453a05
test al, 0xc
je 0x453a05
mov dl, byte [ebp - 0x124]
mov ecx, edi
push 1
call fcn.004498c0
mov ax, word [edi + 8]
add esp, 4
mov ecx, dword [ebp - 0x11c]
xor ax, cx
mov ecx, 0x1ff
and ax, cx
xor ax, word [edi + 8]
movzx eax, ax
mov dword [ebp - 0x11c], eax
mov esi, dword [ebp - 0xfc]
mov eax, 0x4000
test word [esi + 8], ax
je 0x453a2c
mov ecx, esi
call fcn.00449820
and dword [ebp - 0x100], 0xbfff
mov eax, 0x4000
test word [edi + 8], ax
je 0x453a43
mov ecx, edi
call fcn.00449820
and dword [ebp - 0x11c], 0xbfff
mov eax, dword [ebp - 0xe0]
cmp byte [eax + 0x41], 0
jne 0x458239
push dword [ebx + 0x10]
mov edx, esi
mov ecx, edi
call fcn.0044e750
mov cl, byte [ebx]
add esp, 4
mov edx, eax
movzx ecx, cl
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x453a71
jmp dword [ecx*4 + 0x4584fc]
xor eax, eax
test edx, edx
sete al
jmp 0x453aa7
xor eax, eax
test edx, edx
setne al
jmp 0x453aa7
mov eax, edx
jmp 0x453aa4
xor eax, eax
test edx, edx
setle al
jmp 0x453aa7
xor eax, eax
test edx, edx
setg al
jmp 0x453aa7
mov eax, edx
not eax
shr eax, 0x1f
mov ecx, dword [ebp - 0x100]
mov word [esi + 8], cx
mov ecx, dword [ebp - 0x11c]
mov word [edi + 8], cx
test byte [ebx + 3], 0x20
je 0x453b05
mov ecx, dword [ebx + 8]
mov edx, 0xbe04
mov edi, dword [ebp - 0xe8]
lea esi, [ecx + ecx*4]
mov cx, word [edi + esi*8 + 8]
and cx, dx
cdq
or cx, 4
mov dword [edi + esi*8], eax
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov word [edi + esi*8 + 8], cx
mov ecx, dword [ebp - 0xd8]
mov dword [edi + esi*8 + 4], edx
mov edi, dword [ebp - 0xe0]
jmp 0x4524af
test eax, eax
jne 0x453917
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov edx, dword [ebx + 0x10]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x170], edx
jmp 0x4524af
test byte [ebx + 3], 1
mov edi, 0
mov ecx, dword [ebx + 4]
cmovne edi, dword [ebp - 0x170]
xor esi, esi
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x12c], ecx
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x170], edx
mov dword [ebp - 0xf4], ecx
test eax, eax
jle 0x453c15
nop dword [eax]
test edi, edi
je 0x453b89
mov ecx, dword [edi + esi*4]
jmp 0x453b8b
mov ecx, esi
mov eax, dword [edx + 0x10]
push dword [edx + esi*4 + 0x14]
mov edx, dword [ebp - 0xe8]
mov al, byte [esi + eax]
mov byte [ebp - 0xe9], al
mov eax, dword [ebp - 0xf4]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x12c]
add eax, ecx
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0044e750
add esp, 4
mov dword [ebp - 0x198], eax
test eax, eax
jne 0x453c04
mov edx, dword [ebp - 0x170]
inc esi
cmp esi, dword [ebp - 0x134]
jl 0x453b80
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
cmp byte [ebp - 0xe9], 0
je 0x453c15
neg eax
mov dword [ebp - 0x198], eax
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x170], 0
jmp 0x4524af
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x114]
test eax, eax
jns 0x453c63
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
jne 0x453c7f
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x453cb6
mov esi, 6
jmp 0x453cc8
call fcn.00449b90
or eax, edx
je 0x453cc6
mov esi, 3
jmp 0x453cc8
xor esi, esi
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x453cea
mov eax, 0x5376e6
mov ecx, 0x539dde
jmp 0x453d09
call fcn.00449b90
or eax, edx
je 0x453cff
mov eax, 0x5376e5
mov ecx, 0x539ddd
jmp 0x453d09
mov eax, 0x5376e4
mov ecx, 0x539ddc
cmp byte [ebx], 0x48
cmove eax, ecx
mov dl, byte [esi + eax]
mov eax, dword [ebx + 0xc]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
movzx ecx, word [eax + esi*8 + 8]
cmp dl, 2
jne 0x453d4a
and ecx, 0xbe01
or ecx, 1
add ebx, 0x14
mov word [eax + esi*8 + 8], cx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov edi, dword [ebp - 0xe8]
and ecx, 0xbe04
movzx eax, dl
or ecx, 4
cdq
add ebx, 0x14
mov dword [edi + esi*8], eax
mov eax, edi
mov edi, dword [ebp - 0xe0]
mov word [eax + esi*8 + 8], cx
mov ecx, dword [ebp - 0xd8]
mov dword [eax + esi*8 + 4], edx
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
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, 0x2460
test word [esi + 8], ax
je 0x453db1
mov ecx, esi
call fcn.00449a50
jmp 0x453dba
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x453592
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.00449b90
or eax, edx
jne 0x453dfe
mov edi, dword [ebp - 0xe0]
xor ecx, ecx
mov eax, 1
mov dword [esi + 4], ecx
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
mov dword [esi], eax
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
mov edi, dword [ebp - 0xe0]
xorps xmm0, xmm0
movlpd qword [ebp - 0xf8], xmm0
add ebx, 0x14
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf8]
mov dword [esi], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 4], ecx
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
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, 0x2460
test word [esi + 8], ax
je 0x453e60
mov ecx, esi
call fcn.00449a50
jmp 0x453e69
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x453592
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.00449b90
mov edi, dword [ebp - 0xe0]
not eax
mov ecx, dword [ebp - 0xd8]
not edx
mov dword [esi], eax
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov dword [esi + 4], edx
jmp 0x4524af
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0xc8]
cmp byte [eax + ecx], 0
jne 0x45391d
mov byte [eax + ecx], 1
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x453ef2
mov eax, dword [ebx + 0xc]
jmp 0x453f15
call fcn.00449c40
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x453f0b
mov eax, 1
jmp 0x453f0d
xor eax, eax
cmp byte [ebx], 0x2e
jne 0x453f15
xor eax, 1
test eax, eax
jne 0x45391d
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x45391d
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x45391d
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xfc], esi
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov ecx, edi
mov dword [ebp - 0x10c], edi
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x100], eax
mov eax, dword [edi]
mov dword [ebp - 0x138], eax
call fcn.0044df40
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x458083
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edi + 0x3c]
cmp eax, dword [ecx + 0x48]
je 0x45414d
cmp byte [edi + 0x19], 0
je 0x454054
cmp dword [ebp - 0x138], 0
jne 0x45402f
mov eax, dword [edi + 0x10]
mov edx, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8 + 0xc]
mov dword [ebp - 0x164], eax
mov dword [edi + 0x44], eax
mov eax, dword [ebp - 0x164]
mov dword [edi + 0x40], eax
mov eax, dword [edx + ecx*8 + 0x10]
mov dword [edi + 0x4c], eax
jmp 0x4540d4
mov eax, 0x2460
test word [esi + 8], ax
je 0x454046
mov ecx, esi
call fcn.00449a50
jmp 0x454441
mov eax, 1
mov word [esi + 8], ax
jmp 0x454441
mov ecx, dword [ebp - 0x138]
mov ebx, dword [edi + 0x1c]
call fcn.00441fd0
lea edx, [ebp - 0x164]
test bl, 4
jne 0x45409a
mov ebx, dword [ebp - 0x138]
mov ecx, ebx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x1f4], eax
call fcn.004425b0
mov dword [edi + 0x4c], eax
mov eax, dword [ebp - 0x1f8]
mov dword [edi + 0x40], eax
jmp 0x4540ae
mov ecx, dword [ebp - 0x138]
mov eax, dword [ecx + 0x1c]
mov dword [edi + 0x40], eax
call fcn.004425b0
mov dword [edi + 0x4c], eax
mov ecx, dword [edi + 0x40]
mov eax, dword [ebp - 0x164]
cmp ecx, eax
cmovbe eax, ecx
mov dword [edi + 0x44], eax
mov eax, dword [ebp - 0xe0]
cmp ecx, dword [eax + 0x58]
ja 0x4581cc
mov ebx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [edi + 0x4c]
mov eax, dword [eax + 0x48]
mov dword [edi + 0x3c], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x4540f6
movzx eax, al
mov dword [ebp - 0x14c], eax
mov al, 1
jmp 0x454101
lea edx, [ebp - 0x14c]
call fcn.00430a90
mov ecx, dword [ebp - 0x100]
movzx eax, al
mov dword [edi + 0x48], eax
xor eax, eax
mov word [edi + 0x16], ax
mov eax, dword [ebp - 0x14c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14c]
cmp eax, 0x18003
ja 0x457e7e
cmp eax, dword [edi + 0x40]
ja 0x457e7e
cmp dword [ebp - 0x164], eax
jae 0x454163
mov dword [edi + 0x4c], 0
mov dword [edi + 0x44], 0
jmp 0x454163
movzx eax, word [edi + 0x16]
cmp eax, dword [ebp - 0x11c]
jg 0x454342
mov ecx, dword [ebp - 0x100]
mov eax, dword [edi + 0x48]
cmp eax, dword [ecx]
jae 0x454315
mov edx, dword [edi + 0x4c]
mov dword [ebp - 0x12c], edx
test edx, edx
jne 0x4541d7
xorps xmm0, xmm0
lea eax, [ebp - 0x298]
push eax
movups xmmword [ebp - 0x298], xmm0
movups xmmword [ebp - 0x288], xmm0
movq qword [ebp - 0x278], xmm0
mov eax, dword [edi + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
push dword [ecx]
mov ecx, dword [ebp - 0x138]
call fcn.0044a580
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4544de
mov edx, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x12c], edx
movzx edi, word [edi + 0x16]
mov eax, dword [ecx + edi*4]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ecx]
mov esi, dword [eax + 0x48]
add esi, edx
add ecx, edx
lea edx, [eax + 0x54]
mov dword [ebp - 0x104], ecx
lea edx, [edx + edi*4]
mov dword [ebp - 0x134], edx
mov al, byte [esi]
cmp al, 0x80
jae 0x45421b
movzx eax, al
mov ecx, 1
mov dword [ebp - 0x168], eax
jmp 0x454237
lea edx, [ebp - 0x168]
mov ecx, esi
call fcn.00430a90
mov edx, dword [ebp - 0x134]
movzx ecx, al
mov eax, dword [ebp - 0x168]
mov dword [edx], eax
add esi, ecx
mov eax, dword [ebp - 0x168]
cmp eax, 0xc
jb 0x45424d
lea ecx, [eax - 0xc]
shr ecx, 1
jmp 0x454254
movzx ecx, byte [eax + 0x538004]
mov eax, dword [ebp - 0x14c]
add eax, ecx
mov dword [ebp - 0x14c], eax
cmp eax, ecx
jb 0x454291
mov ecx, dword [ebp - 0x100]
inc edi
add edx, 4
mov dword [ebp - 0x134], edx
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp - 0x104]
cmp edi, dword [ebp - 0x11c]
jg 0x45429a
cmp esi, ecx
jb 0x454205
jmp 0x45429a
mov ecx, dword [ebp - 0x104]
lea esi, [ecx + 1]
mov eax, dword [ebp - 0x10c]
mov word [eax + 0x16], di
mov eax, esi
mov edi, dword [ebp - 0x10c]
sub eax, dword [ebp - 0x12c]
cmp dword [edi + 0x4c], 0
mov dword [edi + 0x48], eax
jne 0x4542ed
test dword [ebp - 0x290], 0x2460
jne 0x4542d0
cmp dword [ebp - 0x280], 0
je 0x4542e1
lea ecx, [ebp - 0x298]
call fcn.00449ad0
mov ecx, dword [ebp - 0x104]
mov eax, 1
mov word [ebp - 0x290], ax
mov eax, dword [ebp - 0x14c]
cmp esi, ecx
jb 0x454306
ja 0x457eba
cmp eax, dword [edi + 0x40]
jne 0x457eba
cmp eax, dword [edi + 0x40]
ja 0x457eba
mov esi, dword [ebp - 0xfc]
movzx eax, word [edi + 0x16]
cmp eax, dword [ebp - 0x11c]
jg 0x454342
cmp byte [ebx + 1], 0xf8
jne 0x45402f
mov edx, dword [ebx + 0x10]
mov ecx, esi
push 0x800
call fcn.0044a170
add esp, 4
jmp 0x454441
mov eax, 0x2460
test word [esi + 8], ax
je 0x454354
mov ecx, esi
call fcn.00449a50
mov eax, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x100]
mov edx, dword [edi + eax*4 + 0x54]
mov dword [ebp - 0x168], edx
mov eax, dword [edi + 0x44]
cmp eax, dword [ecx + esi*4 + 4]
mov esi, dword [ebp - 0xfc]
jb 0x45439f
mov ecx, dword [edi + 0x4c]
mov eax, dword [ebp - 0x100]
mov edi, dword [ebp - 0x11c]
push esi
add ecx, dword [eax + edi*4]
call fcn.0044e1d0
add esp, 4
jmp 0x454438
mov al, byte [ebx + 3]
test al, 0xc0
je 0x4543b4
cmp edx, 0xc
jb 0x4543b0
test dl, 1
je 0x4543cb
test al, al
js 0x4543cb
cmp edx, 0xc
jb 0x4543c0
lea ecx, [edx - 0xc]
shr ecx, 1
jmp 0x4543c7
movzx ecx, byte [edx + 0x538004]
test ecx, ecx
jne 0x4543e4
xor eax, eax
lea ecx, [ebp - 0x1f8]
cmp edx, 0xd
push esi
cmova ecx, eax
call fcn.0044e1d0
add esp, 4
jmp 0x454438
mov eax, dword [edi + 0x1c]
shr eax, 2
not eax
and eax, 1
push esi
push eax
mov eax, dword [ebp - 0x100]
push ecx
mov ecx, dword [ebp - 0x11c]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x138]
call fcn.0044a580
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4544de
mov edx, dword [ebp - 0x168]
mov ecx, dword [esi + 0x10]
push esi
call fcn.0044e1d0
mov eax, 0xefff
add esp, 4
and word [esi + 8], ax
mov al, byte [ebp - 0x124]
mov byte [esi + 0xa], al
movzx ecx, word [esi + 8]
test ecx, 0x1000
je 0x453535
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x453535
mov eax, dword [ebp - 0xfc]
mov esi, ecx
and esi, 0x12
mov edi, dword [eax + 0xc]
lea edx, [edi + 2]
cmp dword [eax + 0x18], edx
jge 0x454494
push 0
mov ecx, eax
call fcn.00449660
add esp, 4
test eax, eax
jne 0x45819e
mov edx, dword [ebp - 0xfc]
jmp 0x4544a7
mov edx, dword [ebp - 0xfc]
and ecx, 0xd
mov eax, dword [eax + 0x14]
mov dword [edx + 0x10], eax
mov word [edx + 8], cx
push edi
push dword [ebp - 0xf4]
push dword [edx + 0x10]
call fcn.004f44c0
mov ecx, dword [ebp - 0xfc]
add esp, 0xc
or esi, 0x200
mov eax, dword [ecx + 0x10]
mov byte [edi + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [edi + eax + 1], 0
mov word [ecx + 8], si
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
mov dword [ebp - 0xe4], ebx
test eax, eax
je 0x4524b5
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe4]
sub ecx, dword [ebp - 0x114]
mov dword [eax + 0x50], ebx
mov eax, 0x66666667
mov ebx, dword [ebp - 0xd8]
imul ecx
push dword [ebx + 0x2c]
sar edx, 3
push dword [ebx + 0xa8]
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0xdc]
call fcn.0042f060
add esp, 0x14
mov ecx, ebx
call fcn.0044d3c0
cmp dword [ebp - 0xdc], 0xc0a
jne 0x454561
mov byte [edi + 0x41], 1
mov al, byte [ebp - 0x139]
mov edi, 1
test al, al
je 0x45457f
mov ecx, dword [ebp - 0xe0]
movzx edx, al
dec edx
call fcn.00469340
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x150]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x154]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x158]
add dword [eax + 0x7c], ecx
mov ecx, eax
call fcn.0044bd00
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004f313b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
test al, al
je 0x452d9d
nop dword [eax]
push dword [ebp - 0x124]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.004521f0
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x4545e0
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov edi, dword [ebp - 0xe8]
xor eax, eax
mov dword [ebp - 0x100], eax
xorps xmm0, xmm0
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0x10]
movlpd qword [ebp - 0x110], xmm0
movlpd qword [ebp - 0x120], xmm0
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x138], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xd8]
movzx edx, byte [eax + 0x57]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x12c], edx
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [ebp - 0xf4], edi
test esi, esi
je 0x4546a9
mov al, byte [esi]
mov edi, ecx
push dword [ebp - 0x124]
mov dl, al
mov ecx, edi
call fcn.004521f0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x454684
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x10c]
mov ebx, dword [ebp - 0x134]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x11c], eax
nop
mov ecx, ebx
call fcn.0044df70
mov esi, eax
mov dword [ebx + 0x1c], esi
cmp esi, 0xc
jb 0x4546f8
lea edi, [esi - 0xc]
shr edi, 1
jmp 0x4546ff
movzx edi, byte [esi + 0x538004]
mov eax, 0x4000
test word [ebx + 8], ax
je 0x45473a
mov eax, dword [ebp - 0x104]
or eax, dword [ebp - 0xfc]
je 0x454729
mov ecx, ebx
call fcn.00449820
test eax, eax
jne 0x45819e
jmp 0x45473a
mov eax, dword [ebx]
cdq
add dword [ebp - 0x11c], eax
adc dword [ebp - 0x10c], edx
sub edi, dword [ebx]
mov eax, edi
cdq
add dword [ebp - 0x104], eax
adc dword [ebp - 0xfc], edx
cmp esi, 0x7f
ja 0x454755
mov edx, 1
jmp 0x454773
xor ecx, ecx
xor edx, edx
nop dword [eax]
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
je 0x454773
cmp edx, 9
jl 0x454760
mov eax, dword [ebp - 0x100]
sub ebx, 0x28
add eax, edx
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x100], eax
cmp ebx, dword [ebp - 0x138]
jae 0x4546e0
cmp eax, 0x7e
jle 0x4547e3
cdq
xor edi, edi
mov ecx, eax
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x4547b3
cmp edi, 9
jl 0x4547a0
mov eax, dword [ebp - 0x100]
add eax, edi
xor esi, esi
mov dword [ebp - 0x100], eax
cdq
mov ecx, eax
shrd ecx, edx, 7
inc esi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x4547d9
cmp esi, 9
jl 0x4547c6
mov eax, dword [ebp - 0x100]
cmp edi, esi
jge 0x4547ea
inc eax
mov dword [ebp - 0x100], eax
cdq
mov edi, eax
mov dword [ebp - 0x12c], eax
add edi, dword [ebp - 0x104]
mov ebx, edx
mov eax, dword [ebp - 0xe0]
mov ecx, ebx
adc ecx, dword [ebp - 0xfc]
mov esi, edi
add esi, dword [ebp - 0x11c]
mov dword [ebp - 0x104], edi
mov eax, dword [eax + 0x58]
adc ecx, dword [ebp - 0x10c]
cdq
cmp ecx, edx
jg 0x4581cc
jl 0x454833
cmp esi, eax
ja 0x4581cc
mov esi, dword [ebp - 0xf4]
cmp dword [esi + 0x18], edi
jge 0x454856
push 0
mov edx, edi
mov ecx, esi
call fcn.00449660
add esp, 4
test eax, eax
jne 0x45819e
jmp 0x454861
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov edx, dword [ebp - 0x100]
mov edi, dword [esi + 0x10]
cmp edx, 0x80
jae 0x45487b
mov byte [edi], dl
mov eax, 1
jmp 0x45488c
push ebx
push dword [ebp - 0x12c]
mov ecx, edi
call fcn.00430890
add esp, 8
mov ebx, dword [ebp - 0x138]
movzx esi, al
nop word [eax + eax]
mov ebx, dword [ebx + 0x1c]
lea ecx, [esi + edi]
cmp ebx, 0x80
jae 0x4548b7
mov byte [ecx], bl
mov eax, 1
jmp 0x4548c2
push 0
push ebx
call fcn.00430890
add esp, 8
mov ecx, dword [ebp - 0x100]
push ebx
mov ebx, dword [ebp - 0x138]
mov edx, ebx
movzx eax, al
lea ecx, [ecx + edi]
add esi, eax
call fcn.0044e070
add dword [ebp - 0x100], eax
add ebx, 0x28
add esp, 4
mov dword [ebp - 0x138], ebx
cmp ebx, dword [ebp - 0x134]
jbe 0x4548a0
mov edi, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x11c]
mov dword [edi + 0xc], eax
mov eax, 0x10
mov word [edi + 8], ax
mov eax, ecx
or eax, dword [ebp - 0x10c]
je 0x45492b
mov eax, 0x4010
mov dword [edi], ecx
mov word [edi + 8], ax
mov byte [edi + 0xa], 1
mov ebx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov esi, dword [ebp - 0xd8]
lea edx, [ebp - 0x1f0]
mov ecx, dword [ebx + 4]
xorps xmm0, xmm0
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
movlpd qword [ebp - 0x1f0], xmm0
call fcn.00447780
mov dword [ebp - 0xdc], eax
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x45499a
mov ecx, esi
call fcn.00449a50
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x1f0]
mov dword [esi], eax
mov eax, dword [ebp - 0x1ec]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0xdc]
jmp case.0x4524e5.62
mov eax, dword [ebx + 4]
test eax, eax
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], edi
jne 0x454ad7
cmp dword [eax + 0x9c], 0
jg 0x457ec6
test edi, edi
jne 0x4549f4
xor esi, esi
jmp 0x454a0f
mov esi, edi
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x454a00
sub esi, ecx
and esi, 0x3fffffff
mov edi, dword [ebp - 0xe0]
xor edx, edx
mov ecx, edi
mov eax, dword [edi + 0x1f4]
add eax, dword [edi + 0x1f0]
push eax
call fcn.00493710
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x458089
lea eax, [esi + 0x21]
mov ecx, edi
push 0
push eax
call fcn.0042d090
mov edi, eax
add esp, 8
test edi, edi
je 0x452d9d
lea ecx, [esi + 1]
push ecx
push dword [ebp - 0xf4]
lea edx, [edi + 0x20]
push edx
mov dword [edi], edx
call fcn.004f44c0
mov ecx, dword [ebp - 0xe0]
add esp, 0xc
cmp byte [ecx + 0x3f], 0
je 0x454a84
mov byte [ecx + 0x3f], 0
mov byte [ecx + 0x46], 1
jmp 0x454a8a
inc dword [ecx + 0x1f0]
mov eax, dword [ecx + 0x1e8]
add ebx, 0x14
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 0x1f8]
mov dword [ecx + 0x1e8], edi
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x1fc]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x200]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x204]
mov ecx, dword [ebp - 0xd8]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xe0]
jmp 0x4524af
mov esi, dword [eax + 0x1e8]
xor ecx, ecx
mov dword [ebp - 0x11c], ecx
test esi, esi
je 0x454b0c
nop dword [eax]
push edi
push dword [esi]
call fcn.0042fb90
add esp, 8
test eax, eax
je 0x454b43
inc dword [ebp - 0x11c]
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x454af0
push edi
push str.no_such_savepoint:__s
push dword [ebp - 0xd8]
call fcn.0044ad20
mov edi, dword [ebp - 0xe0]
add esp, 0xc
add ebx, 0x14
mov dword [ebp - 0xdc], 1
mov dword [ebp - 0xe4], ebx
mov ebx, 1
jmp 0x454501
mov edi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x10c]
cmp dword [edi + 0x9c], 0
jle 0x454b61
cmp edx, 1
je 0x457efc
cmp dword [esi + 0x18], 0
jne 0x454bc7
cmp byte [edi + 0x46], 0
je 0x454bc7
mov dword [ebp - 0xfc], 1
cmp edx, 1
jne 0x454bd1
mov ecx, dword [ebp - 0xd8]
call fcn.0044d350
mov edi, eax
test edi, edi
jne 0x45457f
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
mov byte [edi + 0x3f], 1
call fcn.0044d3c0
cmp eax, 5
je 0x457f2c
mov eax, dword [ebp - 0xd8]
mov byte [edi + 0x46], 0
mov eax, dword [eax + 0x50]
mov dword [ebp - 0xdc], eax
jmp 0x454ce0
mov dword [ebp - 0xfc], 0
mov ecx, dword [edi + 0x1f0]
sub ecx, dword [ebp - 0x11c]
mov eax, dword [edi + 0x14]
dec ecx
mov dword [ebp - 0x11c], ecx
cmp edx, 2
jne 0x454c5e
mov edx, dword [edi + 0x18]
xor ebx, ebx
shr edx, 1
and edx, 1
mov dword [ebp - 0x104], edx
test eax, eax
jle 0x454c66
mov ecx, edx
xor ecx, 1
xor edi, edi
mov dword [ebp - 0xf4], ecx
nop dword [eax]
mov eax, dword [ebp - 0xe0]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.004419c0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x458083
mov eax, dword [ebp - 0xe0]
inc ebx
mov ecx, dword [ebp - 0xf4]
add edi, 0x10
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x454c10
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x104]
jmp 0x454c66
xor edx, edx
mov dword [ebp - 0x104], edx
xor ebx, ebx
test eax, eax
jle 0x454cb3
mov eax, dword [ebp - 0xe0]
xor edi, edi
mov edx, dword [ebp - 0x10c]
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.00441cd0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x458083
mov eax, dword [ebp - 0xe0]
inc ebx
mov ecx, dword [ebp - 0x11c]
add edi, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x454c74
mov edx, dword [ebp - 0x104]
mov edi, dword [ebp - 0xe0]
test edx, edx
je 0x454cda
mov eax, dword [edi + 4]
test eax, eax
je 0x454ccf
or dword [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x454cc4
mov ecx, edi
call fcn.00469380
or dword [edi + 0x18], 2
mov ebx, dword [ebp - 0xe4]
cmp dword [edi + 0x1e8], esi
je 0x454d14
nop dword [eax + eax]
mov edx, dword [edi + 0x1e8]
mov ecx, edi
mov eax, dword [edx + 0x18]
mov dword [edi + 0x1e8], eax
call fcn.0042ce10
dec dword [edi + 0x1f0]
cmp dword [edi + 0x1e8], esi
jne 0x454cf0
mov edi, dword [ebp - 0x10c]
cmp edi, 1
jne 0x454d52
mov edx, dword [ebp - 0xe0]
mov eax, dword [esi + 0x18]
mov dword [edx + 0x1e8], eax
mov edx, esi
mov esi, dword [ebp - 0xe0]
mov ecx, esi
call fcn.0042ce10
cmp dword [ebp - 0xfc], 0
jne 0x457da1
dec dword [esi + 0x1f0]
jmp 0x454d8e
cmp dword [ebp - 0xfc], 0
mov ecx, dword [ebp - 0xe0]
mov eax, dword [esi + 8]
mov dword [ecx + 0x1f8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1fc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x200], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x204], eax
je 0x454d8e
cmp edi, 2
jne 0x457dae
mov ecx, dword [ebp - 0x11c]
mov edx, edi
mov edi, dword [ebp - 0xe0]
push ecx
mov ecx, edi
call fcn.00493710
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x458089
jmp case.0x4524e5.62
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov dword [ebp - 0xf4], ecx
test ecx, ecx
je 0x454e06
mov al, byte [edi + 0x3f]
test al, al
jne 0x454e06
test edx, edx
jne 0x454e09
cmp dword [edi + 0x9c], edx
jle 0x454e09
mov eax, str.cannot_commit_transaction___SQL_statements_in_progress
mov dword [ebp - 0xdc], 5
push eax
push dword [ebp - 0xd8]
call fcn.0044ad20
mov eax, dword [ebp - 0xdc]
add esp, 8
jmp case.0x4524e5.62
mov al, byte [edi + 0x3f]
movzx eax, al
cmp ecx, eax
jne 0x457f5d
test ecx, ecx
jne 0x454e1f
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x454e2e
test edx, edx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push eax
push dword [ebp - 0xd8]
mov dword [ebp - 0xdc], 1
call fcn.0044ad20
mov eax, dword [ebp - 0xdc]
add esp, 8
jmp case.0x4524e5.62
mov edx, dword [ebx + 8]
test edx, edx
je 0x454e66
test dword [edi + 0x18], 0x2000000
jne 0x457ffd
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x454f72
mov ecx, esi
call fcn.004409f0
mov dword [ebp - 0xdc], eax
cmp eax, 5
je 0x45800d
test eax, eax
jne 0x458089
cmp dword [ebx + 8], eax
je 0x454f45
mov edx, dword [ebp - 0xd8]
test byte [edx + 0x58], 0x20
je 0x454f45
cmp byte [edi + 0x3f], al
je 0x454ec3
cmp dword [edi + 0x98], 1
jle 0x454f45
mov eax, dword [edx + 0x68]
test eax, eax
jne 0x454edf
mov eax, dword [edi + 0x1f0]
inc dword [edi + 0x1f4]
add eax, dword [edi + 0x1f4]
mov dword [edx + 0x68], eax
dec eax
xor edx, edx
push eax
mov ecx, edi
call fcn.00493710
mov ecx, eax
add esp, 4
mov dword [ebp - 0xdc], ecx
test ecx, ecx
jne 0x454f0f
mov eax, dword [ebp - 0xd8]
mov ecx, esi
mov edx, dword [eax + 0x68]
call fcn.00441c70
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edi + 0x1f8]
mov dword [ecx + 0x98], eax
mov eax, dword [edi + 0x1fc]
mov dword [ecx + 0x9c], eax
mov eax, dword [edi + 0x200]
mov dword [ecx + 0xa0], eax
mov eax, dword [edi + 0x204]
mov dword [ecx + 0xa4], eax
lea eax, [ebp - 0x194]
mov edx, 1
push eax
mov ecx, esi
call fcn.00447670
mov ecx, dword [ebx + 4]
add esp, 4
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x194]
jmp 0x454f7c
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x194], eax
cmp byte [ebx + 3], 0
je 0x45353b
cmp eax, dword [ebx + 0xc]
jne 0x454f94
cmp ecx, dword [ebx + 0x10]
je 0x45353b
mov eax, dword [ebp - 0xd8]
mov ecx, edi
mov edx, dword [eax + 0x2c]
call fcn.0042ce10
push 0
push 0x1c
mov ecx, edi
call fcn.0042d090
mov esi, eax
add esp, 8
test esi, esi
je 0x454fc8
push 0x1c
push str.database_schema_has_changed
push esi
call fcn.004f44c0
add esp, 0xc
mov eax, dword [ebp - 0xd8]
mov dword [eax + 0x2c], esi
mov edx, dword [ebx + 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 - 0x194]
je 0x454ff0
mov ecx, edi
call fcn.00469340
mov eax, dword [ebp - 0xd8]
or dword [eax + 0x58], 8
mov eax, 0x11
mov dword [ebp - 0xdc], eax
jmp case.0x4524e5.62
mov ecx, dword [edi + 0x10]
lea eax, [ebp - 0x1c8]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00447670
mov eax, dword [ebx + 8]
add esp, 4
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x45504c
mov ecx, esi
call fcn.00449a50
mov ecx, dword [ebp - 0xd8]
mov eax, 4
mov word [esi + 8], ax
add ebx, 0x14
mov eax, dword [ebp - 0x1c8]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 4], edx
jmp 0x4524af
mov eax, dword [ebp - 0xe0]
mov edi, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
shl edi, 4
add edi, dword [eax + 0x10]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00449b90
mov dword [esi], eax
mov ecx, 0xbe04
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
push dword [esi]
or ax, 4
mov word [esi + 8], ax
mov edx, dword [ebx + 8]
mov ecx, dword [edi + 4]
call fcn.004476d0
mov dword [ebp - 0xdc], eax
add esp, 4
mov eax, dword [ebx + 8]
cmp eax, 1
jne 0x4550e4
mov ecx, dword [edi + 0xc]
mov edi, dword [ebp - 0xe0]
mov eax, dword [esi]
mov dword [ecx], eax
or dword [edi + 0x18], 2
jmp 0x4550f7
cmp eax, 2
jne 0x4550f1
mov ecx, dword [edi + 0xc]
mov al, byte [esi]
mov byte [ecx + 0x4c], al
mov edi, dword [ebp - 0xe0]
cmp dword [ebx + 4], 1
jne 0x45353b
mov eax, dword [edi + 4]
test eax, eax
je 0x45511b
nop dword [eax + eax]
or dword [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x455110
mov eax, dword [ebp - 0xd8]
and dword [eax + 0x58], 0xfffffff7
mov eax, dword [ebp - 0xdc]
jmp case.0x4524e5.62
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x45514f
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 8]
je 0x4552a8
mov cl, byte [ebp - 0xe9]
mov eax, dword [ebp - 0xd8]
test byte [eax + 0x58], 8
jne 0x458066
mov edx, dword [ebx + 8]
xor edi, edi
mov esi, dword [ebx + 0xc]
mov eax, esi
mov dword [ebp - 0x10c], edx
mov edx, dword [ebp - 0xe0]
shl eax, 4
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0x134], esi
add eax, dword [edx + 0x10]
mov edx, dword [eax + 4]
mov dword [ebp - 0x104], edx
mov edx, dword [ebp - 0x10c]
cmp cl, 0x37
jne 0x4551c1
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x12c], 1
mov al, byte [eax + 0x4c]
cmp al, byte [ecx + 0x57]
jae 0x4551c7
mov byte [ecx + 0x57], al
jmp 0x4551c7
mov dword [ebp - 0x12c], edi
test byte [ebx + 3], 4
je 0x455210
mov ecx, dword [ebp - 0xe8]
lea eax, [edx + edx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00449b90
mov dword [esi], eax
mov ecx, 0xbe04
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 - 0x10c], eax
cmp eax, 2
jl 0x45803a
mov esi, dword [ebp - 0x134]
mov al, byte [ebx + 1]
cmp al, 0xfa
jne 0x45522c
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf4], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x455233
cmp al, 0xf2
jne 0x455233
mov edi, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xd8]
push 1
push esi
push edi
call fcn.00452080
mov esi, eax
add esp, 0xc
test esi, esi
je 0x45819e
push dword [esi]
mov edi, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x104]
or dword [esi + 0x1c], 8
push edi
push dword [ebp - 0x12c]
mov byte [esi + 0x19], 1
mov dword [esi + 0x20], edx
call fcn.00441d60
xor ecx, ecx
mov dword [ebp - 0xdc], eax
add esp, 0xc
mov dword [esi + 8], edi
cmp byte [ebx + 1], 0xfa
mov eax, 4
mov edi, dword [ebp - 0xe0]
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 0x1c], ecx
mov eax, dword [esi]
mov cl, byte [ebx + 3]
and cl, 3
mov byte [eax + 0x43], cl
mov eax, dword [ebp - 0xdc]
jmp case.0x4524e5.62
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xd8]
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.00452080
mov esi, eax
add esp, 0xc
test esi, esi
je 0x45823b
or dword [esi + 0x1c], 1
lea edi, [esi + 4]
mov byte [esi + 0x19], 1
xor edx, edx
movzx eax, byte [ebx + 3]
push 0x41e
or eax, 5
push eax
mov eax, dword [ebp - 0xe0]
push edi
push eax
mov ecx, dword [eax]
call fcn.0043f930
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4553a4
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.004409f0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4553a4
mov eax, dword [ebx + 0x10]
mov ecx, dword [edi]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x455387
movzx eax, byte [ebx + 3]
lea edx, [ebp - 0x1cc]
or eax, 2
push eax
call fcn.004470c0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x455381
push dword [esi]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [edi]
push eax
push 1
mov dword [esi + 8], eax
call fcn.00441d60
add esp, 0xc
mov dword [ebp - 0xdc], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x4553a4
push dword [esi]
mov edx, 1
push 0
push 1
call fcn.00441d60
add esp, 0xc
mov dword [ebp - 0xdc], eax
or dword [esi + 0x1c], 4
xor ecx, ecx
mov eax, 8
cmp byte [ebx + 3], 8
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffff7
or ecx, eax
mov dword [esi + 0x1c], ecx
jmp 0x4544d8
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xd8]
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.00452080
add esp, 0xc
test eax, eax
je 0x45823b
mov ecx, dword [ebx + 0x10]
mov dword [eax + 8], ecx
mov ecx, edi
mov edx, dword [ebx + 0xc]
push eax
call fcn.00459c10
add esp, 4
mov dword [ebp - 0xdc], eax
jmp case.0x4524e5.62
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x28]
mov ecx, edi
mov esi, dword [edx + 0x2c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x28], ecx
adc eax, 0
or edi, esi
mov edi, dword [ebp - 0xe0]
mov dword [edx + 0x2c], eax
je 0x45391d
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xd8]
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.00452080
add esp, 0xc
test eax, eax
je 0x45823b
mov byte [eax + 0x19], 1
mov ecx, dword [ebx + 8]
or dword [eax + 0x1c], 4
add ebx, 0x14
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + 0x38]
mov edx, dword [edx + eax*4]
call fcn.0044c5c0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
add ebx, 0x14
mov eax, dword [eax + 0x38]
mov dword [eax + ecx*4], 0
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe8]
test byte [edi + 0x1c], 4
mov byte [edi + 0x19], 0
je 0x4555b0
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov al, byte [ecx + 8]
and al, 0xe
mov dword [ebp - 0x10c], ecx
cmp al, 2
jne 0x45550d
xor edx, edx
call fcn.00452160
mov ecx, dword [ebp - 0x10c]
call fcn.00449b90
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x104], edx
movzx ecx, word [ecx + 8]
test cl, 4
jne 0x455573
test cl, 8
je 0x453917
mov ecx, eax
call fcn.004f3a00
mov eax, dword [ebp - 0x10c]
movsd xmm1, qword [eax]
comisd xmm0, xmm1
jbe 0x45555c
mov eax, dword [ebp - 0xfc]
test al, 1
cmovne esi, eax
mov eax, esi
jmp 0x45556d
comisd xmm1, xmm0
jbe 0x455573
mov eax, dword [ebp - 0xfc]
test al, 1
je 0x455573
inc eax
mov dword [ebp - 0xfc], eax
mov esi, dword [ebp - 0xf4]
lea eax, [ebp - 0x140]
mov ecx, dword [edi]
xor edx, edx
push eax
push 0
push dword [ebp - 0x104]
push esi
call fcn.00442970
mov dword [ebp - 0xdc], eax
add esp, 0x10
mov eax, dword [ebp - 0x104]
cmp dword [ebp - 0xdc], 0
mov dword [edi + 0x30], esi
mov dword [edi + 0x34], eax
jmp 0x45561d
mov eax, dword [edi + 8]
mov dword [ebp - 0x248], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x244], ax
lea eax, [edx - 1]
test al, 1
sete al
lea eax, [eax*2 - 1]
mov byte [ebp - 0x242], al
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, 0x4000
mov dword [ebp - 0x240], ecx
test word [ecx + 8], ax
je 0x4555f8
call fcn.00449820
mov ecx, dword [edi]
lea eax, [ebp - 0x140]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0x248]
call fcn.00442970
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x458083
mov eax, dword [ebp - 0xfc]
mov byte [edi + 0x1a], 0
mov dword [edi + 0x3c], 0
mov ecx, dword [ebp - 0x140]
cmp eax, 0x41
jl 0x45567f
test ecx, ecx
js 0x455665
jne 0x45564a
cmp eax, 0x42
je 0x455665
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x140], 0
jmp case.0x4524e5.62
lea eax, [ebp - 0x140]
mov dword [ebp - 0x140], 0
push eax
push dword [edi]
call fcn.00442fc0
jmp 0x4556b7
test ecx, ecx
jg 0x45569f
jne 0x45568a
cmp eax, 0x3f
je 0x45569f
mov ecx, dword [edi]
call fcn.00442e90
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xdc]
jmp 0x4556c8
lea eax, [ebp - 0x140]
mov dword [ebp - 0x140], 0
push eax
push dword [edi]
call fcn.00443150
add esp, 8
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x458083
cmp dword [ebp - 0x140], 0
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
jne 0x453923
jmp 0x4544ea
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe8]
mov byte [esi + 0x19], 0
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00449b90
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
jmp 0x4524af
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0x1a0], 0
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + 0x10]
movzx edx, ax
test eax, eax
jle 0x4557c3
mov eax, dword [edi + 8]
xor edi, edi
mov dword [ebp - 0x234], eax
xor eax, eax
mov word [ebp - 0x230], dx
mov dword [ebp - 0x22c], ebx
cmp ax, dx
jae 0x4557bb
xor esi, esi
nop word [eax + eax]
lea ecx, [esi + ebx]
mov eax, 0x4000
test word [ecx + 8], ax
je 0x4557b0
call fcn.00449820
mov ebx, dword [ebp - 0x22c]
mov dx, word [ebp - 0x230]
inc edi
movzx eax, dx
add esi, 0x28
cmp edi, eax
jl 0x455790
lea esi, [ebp - 0x234]
jmp 0x45580e
mov ecx, dword [edi + 8]
lea eax, [ebp - 0x1a0]
push eax
push 0xbf
lea edx, [ebp - 0xc8]
call fcn.0044e390
mov esi, eax
add esp, 8
test esi, esi
je 0x45819e
mov eax, 0x4000
test word [ebx + 8], ax
je 0x4557fc
mov ecx, ebx
call fcn.00449820
mov edx, dword [ebx + 0xc]
mov ecx, dword [edi + 8]
push esi
push dword [ebx + 0x10]
call fcn.0044e400
add esp, 8
mov ebx, dword [ebp - 0xe4]
xor edi, edi
mov byte [esi + 6], 0
cmp byte [ebx], 0x44
jne 0x455844
movzx edx, word [esi + 4]
xor ecx, ecx
test edx, edx
je 0x455844
mov eax, dword [esi + 8]
add eax, 8
nop
test byte [eax], 1
jne 0x45583f
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x455830
jmp 0x455844
mov edi, 1
lea eax, [ebp - 0x1a4]
mov edx, esi
mov esi, dword [ebp - 0xf4]
push eax
push 0
push 0
mov ecx, dword [esi]
push 0
call fcn.00442970
mov edx, dword [ebp - 0x1a0]
add esp, 0x10
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
call fcn.0042ce10
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4544de
mov eax, dword [ebp - 0x1a4]
xor ecx, ecx
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x1a4]
test eax, eax
mov byte [esi + 0x1a], 0
sete cl
mov dword [esi + 0x3c], 0
test eax, eax
setne al
mov byte [esi + 0x19], al
cmp byte [ebx], 0x46
jne 0x4558d8
mov edi, dword [ebp - 0xe0]
test ecx, ecx
mov ecx, dword [ebp - 0xd8]
jne 0x453923
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
jmp 0x4524af
test edi, edi
jne 0x453917
mov edi, dword [ebp - 0xe0]
test ecx, ecx
mov ecx, dword [ebp - 0xd8]
je 0x453923
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
jmp 0x4524af
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0xe8]
mov ecx, dword [ebx]
lea eax, [eax + eax*4]
mov dword [ebp - 0x190], 0
mov esi, dword [edx + eax*8]
mov edi, dword [edx + eax*8 + 4]
lea eax, [ebp - 0x190]
push eax
push 0
push edi
push esi
xor edx, edx
call fcn.00442970
mov ecx, dword [ebp - 0xd8]
add esp, 0x10
mov dword [ebx + 0x34], edi
mov edi, dword [ebp - 0xe0]
mov dword [ebx + 0x30], esi
mov word [ebx + 0x19], 0
mov dword [ebx + 0x3c], 0
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x190]
mov dword [ebx + 0xc], eax
cmp dword [ebp - 0x190], 0
mov ebx, dword [ebp - 0xe4]
jne 0x453923
mov eax, dword [ebp - 0xdc]
jmp 0x4544ea
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0xd8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea edx, [eax + ecx*8]
mov eax, 0x2460
test word [edx + 8], ax
je 0x4559bf
mov ecx, edx
call fcn.00452370
mov edx, eax
jmp 0x4559c8
mov eax, 4
mov word [edx + 8], ax
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x28]
mov dword [edx], eax
mov eax, dword [ecx + 0x2c]
mov dword [edx + 4], eax
mov eax, esi
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, esi
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
movlpd qword [ebp - 0x148], xmm0
mov dword [ebp - 0x188], 0
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea edx, [eax + ecx*8]
mov eax, 0x2460
mov dword [ebp - 0xf4], edx
test word [edx + 8], ax
je 0x455a46
mov ecx, edx
call fcn.00452370
mov dword [ebp - 0xf4], eax
jmp 0x455a4f
mov eax, 4
mov word [edx + 8], ax
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
mov edi, dword [eax + ecx*4]
test byte [edi + 0x1c], 2
jne 0x455ae9
mov ecx, dword [edi]
lea edx, [ebp - 0x188]
call fcn.00442910
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x458083
cmp dword [ebp - 0x188], eax
je 0x455a9d
mov dword [ebp - 0x148], 1
mov dword [ebp - 0x144], eax
jmp 0x455ae3
mov ecx, dword [edi]
lea edx, [ebp - 0x148]
call fcn.00442010
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x148]
cmp ecx, 0x7fffffff
jl 0x455ad1
jg 0x455acb
cmp eax, 0xffffffff
jb 0x455ad1
or dword [edi + 0x1c], 2
jmp 0x455ae3
add eax, 1
mov dword [ebp - 0x148], eax
adc ecx, 0
mov dword [ebp - 0x144], ecx
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x455b87
mov edx, dword [edx + 0xb0]
test edx, edx
je 0x455b19
mov eax, dword [edx + 4]
test eax, eax
je 0x455b0e
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x455b05
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x455b25
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe8]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00449d40
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x455b42
cmp edx, 0x7fffffff
je 0x455bf0
test byte [edi + 0x1c], 2
jne 0x455bf0
add ecx, 1
adc edx, 0
cmp dword [ebp - 0x144], edx
jg 0x455b76
jl 0x455b66
mov eax, dword [ebp - 0x148]
cmp eax, ecx
jae 0x455b7c
mov eax, ecx
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x148], eax
jmp 0x455b7c
mov eax, dword [ebp - 0x148]
mov dword [esi], eax
mov eax, dword [ebp - 0x144]
mov dword [esi + 4], eax
test byte [edi + 0x1c], 2
je 0x455c06
xor esi, esi
nop
lea eax, [ebp - 0x148]
push eax
push 8
call fcn.0042f0a0
mov eax, dword [ebp - 0x144]
lea edx, [ebp - 0x188]
mov ecx, dword [ebp - 0x148]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [ebp - 0x148], ecx
push 0
push eax
mov dword [ebp - 0x144], eax
xor edx, edx
push ecx
mov ecx, dword [edi]
call fcn.00442970
add esp, 0x18
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x455c06
cmp dword [ebp - 0x188], eax
jne 0x455c06
inc esi
cmp esi, 0x64
jl 0x455b90
mov edi, dword [ebp - 0xe0]
mov ebx, 0xd
mov dword [ebp - 0xdc], ebx
jmp 0x45808f
mov ecx, dword [ebp - 0xf4]
mov byte [edi + 0x1a], 0
mov dword [edi + 0x3c], 0
mov eax, dword [ebp - 0x148]
mov dword [ecx], eax
mov eax, dword [ebp - 0x144]
mov dword [ecx + 4], eax
jmp 0x4544d8
cmp byte [ebp - 0xe9], 0x54
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x10c], edx
jne 0x455c66
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
jmp 0x455c71
cdq
mov edi, eax
mov eax, edx
mov edx, dword [ebp - 0x10c]
mov cl, byte [ebx + 3]
mov dword [ebp - 0xf4], eax
test cl, 1
je 0x455c8b
mov ecx, dword [ebp - 0xd8]
inc dword [ecx + 0x5c]
mov cl, byte [ebx + 3]
test cl, 2
je 0x455ca8
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x154], eax
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0xe8]
movzx eax, word [ecx + esi*8 + 8]
test al, 1
je 0x455cc7
mov dword [ecx + esi*8 + 0x10], 0
mov dword [ecx + esi*8 + 0xc], 0
mov cl, byte [ebx + 3]
mov byte [ebp - 0xe9], cl
test cl, 0x10
je 0x455cda
mov edx, dword [edx + 0xc]
jmp 0x455cdc
xor edx, edx
test eax, 0x4000
je 0x455cee
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + esi*8]
jmp 0x455cf0
xor ecx, ecx
movzx eax, byte [ebp - 0xe9]
push edx
shr eax, 3
xor edx, edx
and eax, 1
push eax
mov eax, dword [ebp - 0xe8]
push ecx
mov ecx, dword [ebp - 0x10c]
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 0x10]
mov esi, dword [ebp - 0xf4]
mov ecx, dword [ecx]
push esi
push edi
call fcn.004468f0
mov ecx, dword [ebp - 0x10c]
add esp, 0x1c
mov dword [ebp - 0xdc], eax
mov byte [ecx + 0x1a], 0
mov dword [ecx + 0x3c], 0
test eax, eax
jne 0x4544de
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax + 0xd4]
test edx, edx
je 0x457d94
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x453535
movsx ecx, byte [ecx + 0x18]
push esi
push edi
mov edi, dword [ebp - 0xe0]
add ecx, ecx
test byte [ebx + 3], 4
push eax
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
mov ecx, 0x17
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [edi + 0xd0]
call edx
mov eax, dword [ebp - 0xdc]
add esp, 0x18
jmp case.0x4524e5.62
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.00446b00
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x3c], 0
test eax, eax
jne 0x455e07
mov edx, dword [edi + 0xd4]
test edx, edx
je 0x455e07
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x455e01
test byte [esi + 0x1c], 4
je 0x455e01
push dword [esi + 0x34]
movsx ecx, byte [esi + 0x18]
push dword [esi + 0x30]
add ecx, ecx
push eax
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
push 9
push dword [edi + 0xd0]
call edx
add esp, 0x18
mov eax, dword [ebp - 0xdc]
test byte [ebx + 8], 1
mov ecx, dword [ebp - 0xd8]
je 0x4544ea
inc dword [ecx + 0x5c]
jmp 0x4544ea
mov eax, dword [ebp - 0xd8]
mov ecx, edi
mov edx, dword [eax + 0x5c]
call fcn.0044f560
mov eax, dword [ebp - 0xd8]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x1a8], 0
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x1a8]
push eax
push dword [ebx + 0x10]
call fcn.0045c340
mov ecx, dword [ebp - 0xd8]
add esp, 8
cmp dword [ebp - 0x1a8], 0
mov dword [ebp - 0xdc], eax
jne 0x453923
jmp 0x4544ea
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
call fcn.0045c2a0
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x3c], 0
mov eax, dword [ebp - 0xdc]
jmp case.0x4524e5.62
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xf4], eax
test byte [eax + 0x1c], 4
mov edi, dword [eax]
mov ecx, edi
jne 0x455f59
lea edx, [ebp - 0x200]
call fcn.00442010
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
cdq
cmp dword [ebp - 0x1fc], edx
jg 0x4581cc
mov ecx, dword [ebp - 0x200]
jl 0x455f51
cmp ecx, eax
ja 0x4581cc
mov dword [ebp - 0x16c], ecx
jmp 0x455f79
lea edx, [ebp - 0x16c]
call fcn.00442030
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x16c]
cmp ecx, dword [eax + 0x58]
ja 0x4581cc
mov edx, 0x20
cmp ecx, edx
cmova edx, ecx
mov ecx, esi
cmp dword [esi + 0x18], edx
jge 0x455f96
push 0
call fcn.00449660
add esp, 4
jmp 0x455f9b
call fcn.00449790
test eax, eax
jne 0x45819e
mov eax, dword [ebp - 0x16c]
mov ecx, 0xbe10
mov dword [esi + 0xc], eax
mov ax, word [esi + 8]
and ax, cx
mov ecx, dword [ebp - 0xf4]
or ax, 0x10
mov word [esi + 8], ax
mov eax, dword [esi + 0x10]
test byte [ecx + 0x1c], 4
push eax
push dword [ebp - 0x16c]
jne 0x455ff1
xor edx, edx
mov ecx, edi
call fcn.00442540
add esp, 8
mov dword [ebp - 0xdc], eax
mov byte [esi + 0xa], 1
jmp 0x4544de
push 0
push edi
call fcn.00442560
add esp, 0x10
mov dword [ebp - 0xdc], eax
mov byte [esi + 0xa], 1
jmp 0x4544de
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0xd8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea edi, [eax + ecx*8]
mov eax, 0x2460
test word [edi + 8], ax
je 0x456033
mov ecx, edi
call fcn.00452370
mov edi, eax
jmp 0x45603c
mov eax, 4
mov word [edi + 8], ax
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x19], 0
je 0x45606e
mov ecx, dword [ebp - 0xd8]
mov eax, 1
mov word [edi + 8], ax
add ebx, 0x14
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
cmp byte [esi + 0x1a], 0
je 0x45609c
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x1c0], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1c0]
mov dword [edi], eax
mov eax, dword [ebp - 0x1bc]
mov dword [edi + 4], eax
jmp 0x4544d8
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x4560e0
mov esi, dword [ecx]
lea edx, [ebp - 0x1c0]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [ebp - 0xd8]
add esp, 8
mov edx, esi
mov dword [ebp - 0xdc], eax
call fcn.0044f5c0
mov eax, dword [ebp - 0x1c0]
mov dword [edi], eax
mov eax, dword [ebp - 0x1bc]
mov dword [edi + 4], eax
jmp 0x4544d8
mov ecx, esi
call fcn.0044df20
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x458083
cmp byte [esi + 0x19], al
je 0x456117
mov ecx, 1
add ebx, 0x14
mov word [edi + 8], cx
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov ecx, dword [esi]
lea edx, [ebp - 0x1c0]
call fcn.00442010
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x1c0]
mov dword [edi], eax
mov eax, dword [ebp - 0x1bc]
mov dword [edi + 4], eax
jmp 0x4544d8
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], 0
test ecx, ecx
je 0x452746
call fcn.0043e320
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebp - 0xd8]
lea edx, [ebp - 0x18c]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
mov dword [ebp - 0x18c], 0
call fcn.00442910
mov dword [ebp - 0xdc], eax
mov al, byte [ebp - 0x18c]
mov byte [esi + 0x19], al
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov eax, dword [ebx + 0xc]
mov dword [esi + 0xc], eax
cmp dword [ebx + 8], 0
jle 0x45353b
cmp dword [ebp - 0x18c], 0
mov ecx, dword [ebp - 0xd8]
jne 0x453923
mov eax, dword [ebp - 0xdc]
jmp 0x4544ea
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x74]
jmp 0x4561fc
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x174]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x174], 1
cmp dword [esi + 0x38], 0
je 0x456224
mov ecx, esi
call fcn.0045c1d0
jmp 0x456236
mov ecx, dword [esi]
call fcn.004428e0
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov al, byte [ebp - 0x174]
mov byte [esi + 0x19], al
cmp dword [ebp - 0x174], 0
jne 0x453923
mov eax, dword [ebp - 0xdc]
jmp 0x4544ea
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x178]
push eax
mov edx, esi
mov dword [ebp - 0x178], 0
mov ecx, edi
call fcn.0045c230
add esp, 4
jmp 0x4562d0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
cmp dword [eax + ecx*4], 0
je 0x45353b
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x178], eax
lea eax, [ebp - 0x178]
push eax
push dword [esi]
mov eax, dword [ebx + 0x10]
call eax
add esp, 8
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x3c], 0
cmp dword [ebp - 0x178], 0
jne 0x4562fd
mov ecx, dword [ebp - 0xd8]
mov byte [esi + 0x19], 0
movzx eax, byte [ebx + 3]
inc dword [ecx + eax*4 + 0x6c]
jmp case.0x4524e5.14
mov byte [esi + 0x19], 1
jmp 0x457a4b
test byte [ebx + 3], 1
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
mov edi, dword [eax + ecx*4]
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x45632d
inc dword [edx + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x45634d
mov ecx, esi
call fcn.00449820
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4544de
cmp byte [ebx], 0x6e
jne 0x456366
mov edx, esi
mov ecx, edi
call fcn.0045b2f0
mov dword [ebp - 0xdc], eax
jmp 0x4544de
test byte [ebx + 3], 0x10
je 0x456371
mov eax, dword [edi + 0xc]
jmp 0x456373
xor eax, eax
mov ecx, dword [edi]
push eax
push dword [ebx + 0xc]
mov eax, dword [esi + 0xc]
push 0
push 0
cdq
push 0x536330
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.004468f0
add esp, 0x1c
mov dword [ebp - 0xdc], eax
mov dword [edi + 0x3c], 0
jmp 0x4544de
mov eax, dword [ebp - 0xd8]
lea edx, [ebp - 0x25c]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [ebp - 0x25c], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x258], ax
mov eax, dword [ebx + 8]
mov byte [ebp - 0x256], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x254], eax
lea eax, [ebp - 0x1d0]
push eax
push 0
push 0
push 0
call fcn.00442970
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x456422
cmp dword [ebp - 0x1d0], eax
jne 0x456422
mov ecx, edi
call fcn.00446b00
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x3c], 0
jmp 0x4544de
mov eax, dword [ebx + 8]
mov edi, dword [ebp - 0xd8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x456456
mov ecx, esi
call fcn.00452370
mov esi, eax
jmp 0x45645f
mov eax, 4
mov word [esi + 8], ax
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov edi, dword [eax + ecx*4]
mov ecx, edi
mov eax, dword [edi]
mov dword [ebp - 0xf4], eax
mov eax, 1
mov word [esi + 8], ax
call fcn.0044df20
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x458083
cmp byte [edi + 0x19], al
mov edi, dword [ebp - 0xe0]
jne 0x452da9
mov edx, dword [ebp - 0xf4]
lea eax, [ebp - 0x1e8]
xorps xmm0, xmm0
mov ecx, edi
push eax
movlpd qword [ebp - 0x1e8], xmm0
call fcn.0044f310
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x458089
mov eax, dword [ebp - 0x1e8]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
mov dword [esi], eax
mov eax, dword [ebp - 0x1e4]
mov dword [esi + 4], eax
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
cmp byte [ebp - 0xe9], 0x74
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x270], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x26c], ax
sbb al, al
mov byte [ebp - 0x26a], al
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x17c], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x270]
push eax
call fcn.0044f450
add esp, 8
mov dword [ebp - 0xdc], eax
test byte [ebx], 1
mov eax, dword [ebp - 0x17c]
jne 0x456579
neg eax
jmp 0x45657a
inc eax
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x17c], eax
test eax, eax
jg 0x453923
mov eax, dword [ebp - 0xdc]
jmp 0x4544ea
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4565bf
mov ecx, esi
call fcn.00452370
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov eax, dword [edi + 0xa4]
inc eax
cmp dword [edi + 0x98], eax
jg 0x4580f2
mov eax, dword [ebx + 0xc]
lea ecx, [ebp - 0x19c]
mov edx, dword [ebx + 4]
push ecx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xf4], eax
add eax, eax
mov dword [ebp - 0x19c], 0
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00447620
mov dword [ebp - 0xdc], eax
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x19c]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 4], edx
test eax, eax
jne case.0x4524e5.62
mov eax, dword [ebp - 0x19c]
test eax, eax
je 0x45353b
push dword [ebx + 4]
mov edx, dword [ebp - 0xf4]
mov ecx, edi
push eax
call fcn.0046be30
mov al, byte [ebp - 0xf4]
add esp, 8
inc al
mov byte [ebp - 0x139], al
mov eax, dword [ebp - 0xdc]
jmp case.0x4524e5.62
mov edx, dword [ebx + 4]
lea eax, [ebp - 0x1ac]
xor ecx, ecx
mov dword [ebp - 0x1ac], 0
cmp dword [ebx + 0xc], ecx
cmove eax, ecx
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004472c0
mov ecx, dword [ebp - 0xd8]
add esp, 4
cmp dword [ebx + 0xc], 0
mov dword [ebp - 0xdc], eax
je 0x4544ea
mov eax, dword [ebp - 0x1ac]
add dword [ecx + 0x5c], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x45353b
mov esi, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
cdq
add dword [esi + ecx*8], eax
mov eax, dword [ebp - 0xdc]
adc dword [esi + ecx*8 + 4], edx
jmp case.0x4524e5.62
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x456714
mov ecx, edi
call fcn.0045a310
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov ecx, dword [ecx]
call fcn.00447380
mov dword [ebp - 0xdc], eax
jmp case.0x4524e5.62
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x45674e
mov ecx, esi
call fcn.00452370
mov esi, eax
jmp 0x456757
mov eax, 4
mov word [esi + 8], ax
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x1b0]
shl ecx, 4
xor eax, eax
add ecx, dword [edi + 0x10]
cmp byte [ebx], 0x7a
mov dword [ebp - 0x1b0], 0
setne al
mov ecx, dword [ecx + 4]
inc eax
push eax
call fcn.004470c0
mov dword [ebp - 0xdc], eax
add esp, 4
mov eax, dword [ebp - 0x1b0]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 4], edx
jmp case.0x4524e5.62
mov ecx, dword [ebx + 4]
mov edx, str.sqlite_temp_master
mov eax, dword [ebp - 0xd8]
push dword [ebx + 0x10]
add eax, 0x2c
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x21c], eax
cmp ecx, 1
mov eax, str.sqlite_master
mov dword [ebp - 0x220], edi
cmove eax, edx
add ecx, ecx
push eax
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.0042ed50
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x4567fc
mov dword [ebp - 0xdc], 7
jmp 0x45684e
push 0
lea eax, [ebp - 0x220]
mov byte [edi + 0x91], 1
push eax
push fcn.00480a40
push esi
push edi
mov dword [ebp - 0x214], 0
call fcn.0047c420
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, edi
cmove eax, dword [ebp - 0x214]
mov dword [ebp - 0xdc], eax
call fcn.0042ce10
mov eax, dword [ebp - 0xdc]
mov byte [edi + 0x91], 0
test eax, eax
je 0x45685b
mov ecx, edi
call fcn.00469380
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
cmp eax, 7
je 0x458241
jmp 0x4544ea
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.00467860
mov dword [ebp - 0xdc], eax
jmp case.0x4524e5.62
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.00469970
mov eax, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x4524af
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.00469130
mov eax, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x4524af
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.0048e7d0
mov eax, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x4524af
mov ebx, dword [ebx + 8]
mov ecx, edi
push 0
lea eax, [ebx*4 + 4]
push eax
call fcn.0042d090
mov edi, eax
add esp, 8
mov dword [ebp - 0xf4], edi
test edi, edi
je 0x45819e
mov edx, dword [ebp - 0xe4]
xor esi, esi
mov ecx, dword [edx + 0xc]
lea eax, [ecx + ecx*4]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x134], eax
test ebx, ebx
jle 0x456960
mov edi, eax
mov ecx, edi
call fcn.00449b90
mov ecx, dword [ebp - 0xf4]
add edi, 0x28
mov dword [ecx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x456946
mov edi, ecx
mov ecx, dword [ebp - 0xe8]
lea eax, [ebp - 0x1b4]
mov edx, dword [ebp - 0xe0]
push eax
mov eax, dword [ebp - 0x12c]
mov dword [edi + esi*4], 0
push dword [ecx + eax*8]
mov ecx, dword [edx + 0x10]
mov edx, edi
push ebx
mov ebx, dword [ebp - 0xe4]
movzx eax, byte [ebx + 3]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00448340
mov ecx, dword [ebp - 0xe0]
add esp, 0xc
mov edx, edi
mov esi, eax
call fcn.0042ce10
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0xe8]
cdq
sub dword [edi + ecx*8], eax
sbb dword [edi + ecx*8 + 4], edx
mov edi, dword [ebp - 0x134]
mov ecx, edi
call fcn.00449fb0
cmp dword [ebp - 0x1b4], 0
je 0x4569fd
test esi, esi
je 0x45819e
push fcn.0042cd60
push 1
push 0xffffffffffffffff
mov edx, esi
mov ecx, edi
call fcn.0044a230
add esp, 0xc
movzx edx, byte [ebp - 0x124]
mov ecx, edi
call fcn.00449640
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea edi, [eax + eax*4]
jne 0x456a52
mov ecx, esi
call fcn.0044a040
test byte [esi + 8], 0x20
je 0x45819e
mov eax, dword [ebp - 0xe8]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.004364e0
mov edi, dword [ebp - 0xe0]
add esp, 8
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
je 0x456ad2
mov ecx, dword [esi]
lea edx, [ebp - 0x208]
call fcn.004368a0
test eax, eax
je 0x456ad2
mov eax, dword [ebx + 0xc]
push dword [ebp - 0x204]
mov ecx, dword [ebp - 0xe8]
push dword [ebp - 0x208]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0044a000
add esp, 8
jmp 0x457a4b
mov ecx, esi
call fcn.00449fb0
jmp case.0x4524e5.14
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf4], eax
jne 0x456b20
mov ecx, esi
call fcn.0044a040
test byte [esi + 8], 0x20
je 0x45819e
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe8]
test eax, eax
je 0x456b47
push dword [ecx + edi*8 + 4]
mov edx, eax
push dword [ecx + edi*8]
mov ecx, dword [esi]
call fcn.00436900
add esp, 8
test eax, eax
jne 0x453917
mov eax, dword [ebp - 0xf4]
test eax, eax
js 0x456b60
mov eax, dword [ebp - 0xe8]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.004364e0
add esp, 8
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
cmp byte [ebx + 3], 0
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0x104], esi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x10c], ecx
je 0x456bc7
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + 0x14]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x456bc1
cmp dword [eax + 0x1c], ecx
je 0x452593
mov eax, dword [eax + 4]
test eax, eax
jne 0x456bb1
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0xb8]
cmp eax, dword [edi + 0x80]
jge 0x458119
test byte [ecx + 8], 0x40
jne 0x456cec
mov ecx, dword [esi + 0xc]
mov esi, dword [esi + 8]
add esi, ecx
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x104]
mov eax, dword [eax + 0x10]
lea eax, [eax + ecx*4]
mov ecx, edi
cdq
push edx
push eax
call fcn.0042d060
mov edi, eax
add esp, 8
test edi, edi
je 0x45819e
mov ecx, dword [ebp - 0x10c]
call fcn.00449b70
mov eax, dword [ebp - 0x10c]
mov ecx, 0x40
sub ebx, dword [ebp - 0x114]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x104]
mov dword [eax], edi
mov eax, dword [ebp - 0xd8]
mov dword [edi], eax
mov dword [edi + 0x3c], esi
mov eax, dword [ecx + 0xc]
mov dword [edi + 0x40], eax
mov eax, 0x66666667
imul ebx
mov ebx, dword [ebp - 0xd8]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x2c], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x38]
mov dword [edi + 0x18], eax
mov eax, dword [ebx + 0x24]
mov dword [edi + 0x28], eax
mov eax, dword [ebx + 4]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0x20]
mov dword [edi + 0x30], eax
mov eax, dword [ecx + 0x14]
mov dword [edi + 0x1c], eax
mov eax, dword [ebx + 0xc8]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0xc4]
mov dword [edi + 0x38], eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
lea eax, [edi + 0x50]
cmp eax, ecx
je 0x456cde
mov edx, dword [ebp - 0xe0]
mov esi, 0x80
nop word [eax + eax]
mov word [eax + 8], si
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x456cd0
mov eax, dword [ebx + 0xb8]
mov esi, dword [ebp - 0x104]
jmp 0x456cf4
mov edi, dword [ecx]
mov ebx, dword [ebp - 0xd8]
inc eax
lea ecx, [edi + 0x28]
mov dword [ebx + 0xb8], eax
mov eax, dword [ebx + 0xb0]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x150]
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x154]
mov dword [edi + 0x24], eax
mov eax, dword [ebx + 0x5c]
mov dword [edi + 0x44], eax
mov eax, dword [ebx]
mov dword [ebp - 0xe8], ecx
mov eax, dword [eax + 0x50]
mov dword [edi + 0x48], eax
mov dword [ebx + 8], ecx
mov dword [ebx + 0x5c], 0
mov dword [ebx + 0xb0], edi
mov eax, dword [edi + 0x3c]
mov dword [ebx + 0x1c], eax
movzx edx, word [edi + 0x40]
mov dword [ebx + 0x24], edx
lea eax, [eax + eax*4]
lea eax, [eax + 5]
lea ecx, [ecx + eax*8]
mov dword [ebx + 0x38], ecx
lea ecx, [ecx + edx*4]
mov edi, dword [esi]
mov dword [ebx + 4], edi
mov eax, dword [esi + 4]
mov dword [ebx + 0x20], eax
mov dword [ebx + 0xc8], ecx
mov eax, dword [esi + 0x10]
push eax
push 0
push ecx
mov dword [ebp - 0x114], edi
mov dword [ebx + 0xc4], eax
call fcn.004f53d0
mov eax, dword [ebp - 0xdc]
mov ebx, edi
mov edi, dword [ebp - 0xe0]
add esp, 0xc
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x456dc6
mov ecx, esi
call fcn.00452370
mov esi, eax
jmp 0x456dcf
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0xd8]
push 0x1000
mov edx, dword [eax + 0xb0]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
add eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.0044a170
mov eax, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x4524af
test dword [edi + 0x18], 0x1000000
mov eax, dword [ebx + 8]
cdq
je 0x456e44
add dword [edi + 0x200], eax
mov eax, dword [ebp - 0xdc]
adc dword [edi + 0x204], edx
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
cmp dword [ebx + 4], 0
je 0x456e6a
add dword [edi + 0x1f8], eax
mov eax, dword [ebp - 0xdc]
adc dword [edi + 0x1fc], edx
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov ecx, dword [ebp - 0xd8]
add dword [ecx + 0x90], eax
mov eax, ecx
adc dword [eax + 0x94], edx
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
jmp 0x4524af
cmp dword [ebx + 4], 0
je 0x456eca
mov eax, dword [edi + 0x1f8]
or eax, dword [edi + 0x1fc]
jne 0x452593
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
je 0x45391d
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [eax + 0x90]
or eax, dword [ecx + 0x94]
jne 0x456ef6
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
je 0x453923
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
jmp 0x4524af
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x456f37
mov eax, dword [edx + 4]
test eax, eax
je 0x456f29
nop dword [eax + eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x456f20
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x456f46
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00449d40
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00449d40
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x456f78
jl 0x456f73
cmp dword [edi], eax
jae 0x456f78
mov dword [edi], eax
mov dword [edi + 4], ecx
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
cmp dword [esi + eax*8 + 4], 0
jg 0x45391d
jl 0x452593
cmp dword [esi + eax*8], 0
ja 0x45391d
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
cdq
add dword [esi + ecx*8], eax
adc dword [esi + ecx*8 + 4], edx
cmp dword [esi + ecx*8 + 4], 0
jl 0x45391d
jg 0x452593
cmp dword [esi + ecx*8], 0
jb 0x45391d
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov esi, dword [edx + ecx*8]
mov eax, esi
mov edi, dword [edx + ecx*8 + 4]
or eax, edi
je 0x452d9d
mov eax, dword [ebx + 0xc]
cdq
add eax, esi
mov esi, dword [ebp - 0xe8]
adc edx, edi
mov dword [esi + ecx*8], eax
mov dword [esi + ecx*8 + 4], edx
jmp 0x453917
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
add dword [esi + ecx*8], 0xffffffff
mov eax, dword [esi + ecx*8]
adc dword [esi + ecx*8 + 4], 0xffffffff
or eax, dword [esi + ecx*8 + 4]
je 0x45391d
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0xe8]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
mov edi, dword [eax + esi*8]
mov ecx, edi
mov edx, dword [eax + esi*8 + 4]
add ecx, 1
mov dword [ebx + esi*8], ecx
mov eax, edx
mov ecx, ebx
adc eax, 0
mov ebx, dword [ebp - 0xe4]
or edi, edx
mov edi, dword [ebp - 0xe0]
mov dword [ecx + esi*8 + 4], eax
je 0x45391d
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov al, byte [ebx + 3]
mov ecx, edi
mov byte [ebp - 0xe9], al
movzx eax, al
cdq
add eax, 7
adc edx, 0
shld edx, eax, 2
shl eax, 2
push edx
push eax
call fcn.0042d090
mov esi, eax
add esp, 8
test esi, esi
je 0x45823b
mov dword [esi + 8], 0
mov eax, 0x66666667
mov ecx, dword [ebx + 0x10]
mov dword [esi + 4], ecx
mov ecx, ebx
sub ecx, dword [ebp - 0x114]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xd8]
mov dword [esi + 0xc], eax
mov al, byte [ebp - 0xe9]
mov byte [esi + 0x1a], al
mov word [ebx], 0xec90
mov dword [ebx + 0x10], esi
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [ebp - 0xf4], edi
cmp dword [esi + 8], edi
je 0x45719c
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edi
js 0x45719c
mov edi, dword [ebp - 0xe8]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
nop dword [eax]
mov eax, dword [ebx + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + 4], eax
jns 0x457180
mov edi, dword [ebp - 0xf4]
inc dword [edi + 0xc]
lea ecx, [ebp - 0x308]
mov edi, dword [ebp - 0xe0]
mov edx, edi
push 1
call fcn.00449f90
mov ecx, dword [esi + 4]
lea eax, [ebp - 0x308]
add esp, 4
mov dword [esi], eax
lea eax, [esi + 0x1c]
mov word [esi + 0x18], 0
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov eax, dword [ecx + 0x10]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x45721d
cmp dword [esi + 0x14], 0
je 0x457212
lea eax, [ebp - 0x308]
push eax
call fcn.0044fb40
add esp, 4
push eax
push 0x5365f0
push dword [ebp - 0xd8]
call fcn.0044ad20
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0x308]
call fcn.00449b70
cmp byte [esi + 0x18], 0
je 0x45353b
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x45353b
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.0044a000
mov eax, dword [ebp - 0xdc]
add esp, 8
jmp case.0x4524e5.62
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004499a0
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x457295
push esi
call fcn.0044fb40
add esp, 4
push eax
push 0x5365f0
push dword [ebp - 0xd8]
call fcn.0044ad20
add esp, 0xc
movzx edx, byte [ebp - 0x124]
mov ecx, esi
call fcn.00449640
mov ecx, esi
call fcn.0044a110
test eax, eax
jne 0x4581cc
mov eax, dword [ebp - 0xdc]
jmp case.0x4524e5.62
mov edx, dword [ebx + 4]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd4], 0
push eax
push dword [ebx + 8]
mov ecx, edi
mov dword [ebp - 0xcc], 0xffffffff
mov dword [ebp - 0xd0], 0xffffffff
call fcn.004a4880
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xdc], ecx
cmp ecx, 5
jne 0x45731a
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd4], 1
mov eax, dword [ebx + 0xc]
xor esi, esi
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
nop dword [eax + eax]
mov eax, dword [ebp + esi*4 - 0xd4]
mov ecx, edi
cdq
push edx
push eax
call fcn.0044a000
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x457330
jmp 0x4544d8
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea eax, [eax + ecx*8]
mov ecx, 0x2460
mov dword [ebp - 0xf4], eax
test word [eax + 8], cx
je 0x457384
mov ecx, eax
call fcn.00452370
mov dword [ebp - 0xf4], eax
jmp 0x45738d
mov ecx, 4
mov word [eax + 8], cx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov esi, dword [ebx + 0xc]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x12c], eax
call fcn.00447950
mov ecx, eax
mov dword [ebp - 0x11c], eax
call fcn.0043b4e0
mov ecx, dword [ebp - 0x11c]
mov edi, eax
cmp esi, 0xffffffff
cmove esi, edi
call fcn.0043b4f0
mov ecx, dword [ebp - 0x11c]
test eax, eax
cmove esi, edi
call fcn.0043b0f0
cmp esi, 5
jne 0x4573fc
mov ecx, eax
call fcn.0042f880
test eax, eax
je 0x457476
mov ecx, dword [ebp - 0x11c]
call fcn.0043b520
test eax, eax
je 0x457476
cmp esi, edi
je 0x457478
cmp edi, 5
je 0x45740a
cmp esi, 5
jne 0x457478
mov eax, dword [ebp - 0xe0]
cmp byte [eax + 0x3f], 0
je 0x458149
cmp dword [eax + 0x98], 1
jg 0x458149
cmp edi, 5
jne 0x457445
mov ecx, dword [ebp - 0x11c]
call fcn.0043b7c0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x457476
mov edx, esi
jmp 0x45744d
cmp edi, 4
jne 0x457458
lea edx, [edi - 2]
mov ecx, dword [ebp - 0x11c]
call fcn.0043b3d0
mov ecx, dword [ebp - 0x12c]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00448930
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x457478
mov esi, edi
mov ecx, dword [ebp - 0x11c]
mov edx, esi
call fcn.0043b3d0
mov esi, dword [ebp - 0xf4]
mov ecx, 0xa02
mov word [esi + 8], cx
mov ecx, eax
call fcn.0047d700
mov ecx, eax
mov dword [esi + 0x10], eax
call fcn.0042f880
movzx edx, byte [ebp - 0x124]
mov ecx, esi
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], 1
call fcn.00449640
jmp 0x4544d8
mov ecx, dword [ebp - 0xd8]
mov edx, edi
lea ecx, [ecx + 0x2c]
call fcn.00491f30
mov dword [ebp - 0xdc], eax
jmp case.0x4524e5.62
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.004413b0
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
cmp eax, 0x65
jne 0x4544ea
mov dword [ebp - 0xdc], 0
jmp 0x453923
cmp dword [ebx + 4], 0
jne 0x457530
mov ecx, edi
call fcn.0044f570
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov ecx, dword [ebp - 0xd8]
or dword [ecx + 0x58], 8
add ebx, 0x14
jmp 0x4524af
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x1d4], al
test al, al
jne 0x45755c
test dword [edi + 0x18], 0x4000
jne 0x45353b
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x10]
add eax, eax
push dword [ebp - 0x1d4]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00448800
add esp, 4
mov dword [ebp - 0xdc], eax
cmp al, 6
jne case.0x4524e5.62
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
push dword [ebp - 0xd8]
call fcn.0044ad20
mov eax, dword [ebp - 0xdc]
add esp, 0xc
jmp case.0x4524e5.62
mov esi, dword [ebx + 0x10]
mov ecx, edi
mov edx, esi
call fcn.00493670
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
test esi, esi
je 0x4544ea
mov edx, dword [esi + 8]
call fcn.0044f5c0
mov eax, dword [ebp - 0xdc]
jmp case.0x4524e5.62
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xe8]
movq qword [ebp - 0x2a0], xmm0
movups xmmword [ebp - 0x2c0], xmm0
lea eax, [eax + eax*4]
mov dword [ebp - 0x2a0], edi
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x2c0]
movups xmmword [ebp - 0x2b0], xmm0
call fcn.0044a1c0
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.0044fb40
add esp, 4
test eax, eax
je 0x45764b
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebx + 4]
add ecx, 0x2c
push ecx
push eax
mov ecx, edi
call fcn.004931d0
add esp, 8
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0x2c0]
call fcn.00449b70
mov eax, dword [ebp - 0xdc]
jmp case.0x4524e5.62
inc dword [edi + 0xa4]
mov ecx, edi
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.004934a0
add esp, 4
mov dword [ebp - 0xdc], eax
dec dword [edi + 0xa4]
jmp case.0x4524e5.62
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x180], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x4581af
mov edi, dword [esi]
test edi, edi
je 0x4581a9
lea eax, [ebp - 0x180]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ecx, dword [ebp - 0xd8]
add esp, 8
mov edx, esi
mov dword [ebp - 0xdc], eax
call fcn.0044f5c0
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
test eax, eax
jne 0x457d89
mov eax, dword [ebp - 0x180]
push 0
push 0xffffffffffffffff
push 0
mov dword [eax], esi
mov edx, dword [ebx + 4]
call fcn.00452080
add esp, 0xc
test eax, eax
je 0x458190
mov ecx, dword [ebp - 0x180]
mov dword [eax + 0x24], ecx
inc dword [esi + 4]
jmp 0x4544d8
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea edx, [eax + eax*4]
mov dword [ebp - 0x138], 0
mov eax, dword [edi + 0x38]
add esi, 0x28
mov edi, dword [edi + 0xc]
mov eax, dword [eax + ecx*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0x11c], eax
xor ecx, ecx
movd xmm0, esi
mov dword [ebp - 0x12c], esi
mov eax, dword [eax + 0x24]
mov esi, dword [esi]
mov dword [ebp - 0x10c], eax
pshufd xmm3, xmm0, 0
mov eax, dword [eax]
mov dword [ebp - 0xfc], eax
mov eax, dword [eax]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + edx*8]
mov dword [ebp - 0x134], eax
test esi, esi
jle 0x457883
cmp esi, 0x10
jb 0x457865
cmp dword [0x549cec], 2
jl 0x457865
movaps xmm2, xmmword [0x540100]
mov eax, esi
and eax, reloc.WS2_32.dll_ntohs
jns 0x4577b5
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [0x540110]
mov edx, esi
sub edx, eax
mov dword [ebp - 0xf4], edx
lea edx, [edi + 0x20]
mov ebx, dword [ebp - 0xf4]
nop
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [ecx + 8]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, eax
lea eax, [ecx + 0xc]
pshufd xmm0, xmm0, 0
add ecx, 0x10
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 0x4577d0
mov ebx, dword [ebp - 0xe4]
cmp ecx, esi
jge 0x457883
mov edx, dword [ebp - 0x12c]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [edi + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x457878
push edi
mov edi, dword [ebp - 0x104]
push esi
push dword [ebx + 0x10]
mov esi, dword [ebp - 0x10c]
push dword [ebp - 0x134]
mov eax, dword [edi + 0x20]
push esi
call eax
mov edx, dword [ebp - 0xfc]
add esp, 0x14
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
call fcn.0044f5c0
cmp dword [ebp - 0xdc], 0
jne 0x4578ce
mov eax, dword [edi + 0x28]
push esi
call eax
add esp, 4
jmp 0x4578d4
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x11c]
mov edi, dword [ebp - 0xe0]
mov byte [ecx + 0x19], 0
mov ecx, dword [ebp - 0xd8]
test eax, eax
jne 0x453923
mov eax, dword [ebp - 0xdc]
jmp 0x4544ea
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
cmp byte [edx + 0x19], 0
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x457942
mov ecx, edi
call fcn.00449fb0
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x4524af
mov eax, dword [edx + 0x24]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movups xmmword [ebp - 0x2e0], xmm0
mov dword [ebp - 0x2e0], edi
movups xmmword [ebp - 0x2d0], xmm0
mov ax, word [edi + 8]
and ax, word [ebp - 0x1d8]
or ax, 1
mov word [edi + 8], ax
lea eax, [ebp - 0x2e0]
push dword [ebx + 8]
push eax
push dword [edx + 0x24]
mov eax, dword [ecx + 0x2c]
call eax
mov ecx, dword [ebp - 0xd8]
add esp, 0xc
mov edx, esi
mov dword [ebp - 0xdc], eax
call fcn.0044f5c0
mov eax, dword [ebp - 0x2cc]
test eax, eax
mov ecx, dword [ebp - 0xdc]
movzx edx, byte [ebp - 0x124]
cmovne ecx, eax
mov dword [ebp - 0xdc], ecx
mov ecx, edi
call fcn.00449640
mov ecx, edi
jmp 0x453528
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x453535
mov eax, dword [edi + 0x24]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0xf4], ecx
mov eax, dword [ecx + 0x24]
call eax
mov ecx, dword [ebp - 0xd8]
add esp, 4
mov edx, esi
mov dword [ebp - 0xdc], eax
call fcn.0044f5c0
cmp dword [ebp - 0xdc], 0
jne 0x457a2f
mov eax, dword [ebp - 0xf4]
push dword [edi + 0x24]
mov eax, dword [eax + 0x28]
call eax
mov edi, dword [ebp - 0xe0]
add esp, 4
test eax, eax
jne 0x457a4b
jmp case.0x4524e5.14
mov edi, dword [ebp - 0xe0]
mov ebx, dword [ebx + 8]
mov ecx, dword [ebp - 0x114]
dec ebx
lea ebx, [ebx + ebx*4]
lea ebx, [ecx + ebx*4]
mov dword [ebp - 0xe4], ebx
cmp dword [edi + 0xf0], 0
jne 0x4581f5
mov ecx, dword [edi + 0x124]
test ecx, ecx
je 0x45353b
mov eax, dword [ebp - 0x158]
cmp eax, dword [ebp - 0x184]
jb 0x45353b
mov esi, dword [edi + 0x12c]
xor edx, edx
div esi
push dword [edi + 0x128]
sub esi, edx
add esi, dword [ebp - 0x158]
mov dword [ebp - 0x184], esi
call ecx
add esp, 4
test eax, eax
jne 0x457e6e
mov eax, dword [ebp - 0xdc]
jmp case.0x4524e5.62
mov eax, dword [ebx + 0x10]
mov edx, 1
mov ecx, dword [ebp - 0xe8]
mov esi, dword [eax + 8]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00449640
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4544de
mov eax, dword [esi]
push dword [edi + 0x10]
push esi
mov eax, dword [eax + 0x4c]
call eax
mov edi, dword [ebp - 0xd8]
add esp, 8
mov edx, esi
mov dword [ebp - 0xdc], eax
mov ecx, edi
call fcn.0044f5c0
and dword [edi + 0x58], 0xfffffff7
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
jmp case.0x4524e5.62
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0x12c], edx
test edx, edx
je 0x4581af
mov eax, dword [edx]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x4581af
cmp dword [eax + 0x34], 0
mov esi, dword [ebx + 8]
je 0x45353b
mov al, byte [edi + 0x45]
mov ecx, dword [ebp - 0xe8]
mov byte [ebp - 0xe9], al
mov eax, dword [ebp - 0xd8]
mov edi, dword [eax + 0xc]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x457b7b
nop dword [eax]
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x457b70
mov ecx, dword [ebp - 0xe0]
mov al, byte [ebx + 3]
mov byte [ecx + 0x45], al
lea eax, [ebp - 0x210]
push eax
mov eax, dword [ebp - 0xf4]
push edi
push esi
push edx
mov eax, dword [eax + 0x34]
call eax
mov edi, dword [ebp - 0xe0]
add esp, 0x10
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov al, byte [ebp - 0xe9]
mov byte [edi + 0x45], al
call fcn.0044f5c0
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x457bf2
cmp dword [ebx + 4], eax
je 0x457bf2
mov esi, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x154], ecx
mov dword [edi + 0x20], esi
mov dword [edi + 0x24], ecx
cmp al, 0x13
jne 0x457c45
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x457c3f
mov cl, byte [ebx + 3]
cmp cl, 4
jne 0x457c1d
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov dword [ebp - 0xdc], eax
add ebx, 0x14
jmp 0x4524af
movzx eax, cl
cmp cl, 5
mov ecx, 2
cmove eax, ecx
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x56], al
mov eax, dword [ebp - 0xdc]
jmp 0x4544ea
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
inc dword [ecx + 0x5c]
jmp 0x4544ea
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x457c7b
mov ecx, esi
call fcn.00452370
mov esi, eax
jmp 0x457c84
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x10]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0043f6b0
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
mov dword [esi], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 4], 0
jmp 0x4524af
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x457cda
mov ecx, esi
call fcn.00452370
mov esi, eax
jmp 0x457ce3
mov eax, 4
mov word [esi + 8], ax
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x10]
add ecx, ecx
mov edi, dword [eax + ecx*8 + 4]
cmp dword [ebx + 0xc], edx
je 0x457d06
mov ecx, edi
call fcn.0043f6b0
mov edx, eax
cmp edx, dword [ebx + 0xc]
cmovb edx, dword [ebx + 0xc]
mov ecx, edi
call fcn.004404a0
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 4], edx
jmp 0x4524af
cmp dword [edi + 0xb0], 0
je 0x457d7a
mov eax, dword [ebp - 0xd8]
test dword [eax + 0x58], 0x200
jne 0x457d7a
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x457d56
mov edx, dword [eax + 0xa8]
test edx, edx
je 0x457d7a
mov ecx, eax
call fcn.00451bb0
mov ecx, dword [edi + 0xb0]
mov esi, eax
push esi
push dword [edi + 0xb4]
call ecx
add esp, 8
mov edx, esi
mov ecx, edi
call fcn.0042ce10
cmp dword [ebx + 8], 0
je 0x45353b
jmp 0x45391d
mov edi, dword [ebp - 0xe0]
jmp 0x4544ea
mov edi, eax
mov eax, dword [ebp - 0xdc]
jmp case.0x4524e5.62
mov eax, dword [ebp - 0xdc]
mov edi, esi
jmp case.0x4524e5.62
mov eax, dword [ebp - 0xdc]
mov edi, ecx
jmp case.0x4524e5.62
mov edi, dword [ebp - 0xd8]
mov dword [edi + 0x50], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], esi
test ecx, ecx
je 0x457e39
mov al, byte [ebx + 3]
test al, al
je 0x457dff
movzx eax, al
mov eax, dword [eax*4 + 0x539f3c]
test eax, eax
je 0x457e01
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x457e01
push ecx
push eax
push str._s_constraint_failed:__s
push edi
call fcn.0044ad20
add esp, 0x10
jmp 0x457e1f
xor eax, eax
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x457e10
push ecx
push 0x5365f0
jmp 0x457e16
push eax
push str._s_constraint_failed
push edi
call fcn.0044ad20
add esp, 0xc
push dword [edi + 0x2c]
push dword [edi + 0xa8]
push esi
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.0042f060
add esp, 0x14
mov ecx, edi
call fcn.0044d3c0
cmp eax, 5
mov eax, dword [ebp - 0xd8]
jne 0x457e58
mov edi, 5
mov dword [eax + 0x50], edi
jmp 0x45457f
cmp dword [eax + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x45457f
mov ebx, 9
mov dword [ebp - 0xdc], ebx
jmp 0x454501
push 0x53fadc
push 0x12315
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0042f060
mov edi, dword [ebp - 0xe0]
add esp, 0x10
add ebx, 0x14
mov dword [ebp - 0xdc], 0xb
mov dword [ebp - 0xe4], ebx
mov ebx, 0xb
jmp 0x454501
push 0x53fadc
push 0x12369
jmp 0x457e88
push str.cannot_open_savepoint___SQL_statements_in_progress
push dword [ebp - 0xd8]
call fcn.0044ad20
mov edi, dword [ebp - 0xe0]
add esp, 8
add ebx, 0x14
mov dword [ebp - 0xdc], 5
mov dword [ebp - 0xe4], ebx
mov ebx, 5
jmp 0x454501
push str.cannot_release_savepoint___SQL_statements_in_progress
push dword [ebp - 0xd8]
call fcn.0044ad20
add esp, 8
mov dword [ebp - 0xdc], 5
add ebx, 0x14
mov dword [ebp - 0xe4], ebx
mov ebx, 5
jmp 0x454501
sub ebx, dword [ebp - 0x114]
mov eax, 0x66666667
mov ecx, dword [ebp - 0xd8]
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x4c], eax
mov byte [edi + 0x3f], 0
mov edi, 5
mov dword [ecx + 0x50], edi
jmp 0x45457f
test edx, edx
je 0x457f94
mov edx, 0x204
mov ecx, edi
call fcn.004a3b30
mov esi, dword [ebp - 0xd8]
mov byte [edi + 0x3f], 1
mov ecx, edi
call fcn.004a2fa0
cmp dword [esi + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x45457f
mov esi, dword [ebp - 0xd8]
mov edx, 1
mov ecx, esi
call fcn.0044d350
mov edi, eax
test edi, edi
jne 0x45457f
mov edi, dword [ebp - 0xe0]
mov ecx, esi
mov eax, dword [ebp - 0xf4]
mov byte [edi + 0x3f], al
call fcn.0044d3c0
cmp eax, 5
jne 0x457f77
sub ebx, dword [ebp - 0x114]
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x4c], eax
mov al, 1
sub al, byte [ebp - 0xf4]
mov byte [edi + 0x3f], al
mov edi, 5
mov dword [esi + 0x50], edi
jmp 0x45457f
mov ebx, 8
mov dword [ebp - 0xdc], ebx
jmp 0x45808f
sub ebx, dword [ebp - 0x114]
mov eax, 0x66666667
mov ecx, dword [ebp - 0xd8]
mov edi, 5
imul ebx
mov dword [ecx + 0x50], edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x4c], eax
jmp 0x45457f
push 0x53fadc
push 0x126b5
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0042f060
mov edi, dword [ebp - 0xe0]
mov ebx, 0xb
add esp, 0x10
mov dword [ebp - 0xdc], ebx
jmp 0x45808f
add ebx, 0x14
mov dword [ebp - 0xdc], 0x204
mov dword [ebp - 0xe4], ebx
mov ebx, 0x204
jmp 0x454507
mov edi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xdc]
cmp byte [edi + 0x41], 0
je 0x4580b2
mov ebx, 7
mov dword [ebp - 0xdc], 7
mov edx, str.unknown_error
mov ecx, ebx
call fcn.004a3c80
jmp 0x4580d9
cmp ebx, 0xc0a
je 0x454501
cmp ebx, 0x204
je 0x4580d4
mov edx, str.unknown_error
mov ecx, ebx
call fcn.004a3c80
jmp 0x4580d9
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x5365f0
push dword [ebp - 0xd8]
call fcn.0044ad20
add esp, 0xc
jmp 0x454501
mov eax, dword [ebp - 0xd8]
add ebx, 0x14
mov dword [ebp - 0xe4], ebx
mov ebx, 6
mov dword [ebp - 0xdc], 6
mov byte [eax + 0x56], 2
jmp 0x454507
push str.too_many_levels_of_trigger_recursion
push dword [ebp - 0xd8]
mov dword [ebp - 0xdc], 1
call fcn.0044ad20
add esp, 8
add ebx, 0x14
mov dword [ebp - 0xe4], ebx
mov ebx, 1
jmp 0x454501
mov ecx, str.out_of
mov dword [ebp - 0xdc], 1
cmp esi, 5
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push dword [ebp - 0xd8]
call fcn.0044ad20
mov edi, dword [ebp - 0xe0]
add esp, 0xc
add ebx, 0x14
mov dword [ebp - 0xe4], ebx
mov ebx, 1
jmp 0x454501
push dword [ebp - 0x180]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
mov edi, dword [ebp - 0xe0]
jmp 0x45823b
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov dword [ebp - 0xdc], 6
mov dword [ebp - 0xe4], ebx
mov ebx, 6
jmp 0x454501
push str.string_or_blob_too_big
push dword [ebp - 0xd8]
call fcn.0044ad20
mov edi, dword [ebp - 0xe0]
mov ebx, 0x12
add esp, 8
mov dword [ebp - 0xdc], ebx
jmp 0x454501
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0x50], 9
mov edx, str.unknown_error
mov ecx, 9
mov dword [ebp - 0xdc], 9
call fcn.004a3c80
push eax
push 0x5365f0
push dword [ebp - 0xd8]
call fcn.0044ad20
add esp, 0xc
mov ebx, 9
jmp 0x454501
mov edi, eax
mov ecx, dword [ebp - 0xd8]
push str.out_of_memory
push ecx
mov byte [edi + 0x41], 1
call fcn.0044ad20
mov ebx, 7
add esp, 8
mov dword [ebp - 0xdc], ebx
jmp 0x454501