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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30c
mov eax, dword [0x53307c]
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.0043ee00
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 0x50], 7
je 0x44b411
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 0x44b3cb
cmp dword [edi + 0x124], 0
je 0x445660
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 0x44b411
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.0x4456b5.62
jmp dword [esi*4 + 0x44b434]
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 0x446aed
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 0x44567f
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 0x446aed
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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 0x44567f
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 0x44567f
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x44670b
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 0x44af8b
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x44af8b
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.0043f960
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 0x4458bd
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 0x44567f
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 0x445904
mov ecx, esi
call fcn.0043cc20
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 0x44567f
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 0x44594e
mov ecx, esi
call fcn.0043cc20
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 0x44567f
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 0x44599c
mov ecx, esi
call fcn.0043cc20
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 0x44567f
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 0x4459e8
mov ecx, esi
call fcn.0043cc20
mov eax, 4
mov word [esi + 8], ax
mov edx, dword [ebx + 0x10]
mov byte [ebx], 0x19
test edx, edx
jne 0x4459ff
xor ecx, ecx
jmp 0x445a19
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x445a04
sub ecx, edi
mov edi, dword [ebp - 0xe0]
and ecx, 0x3fffffff
cmp byte [ebp - 0x124], 1
mov dword [ebx + 4], ecx
je 0x445a96
push 0
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.0043d400
add esp, 0xc
mov dword [ebp - 0xdc], eax
cmp eax, 0x12
je 0x44b39c
test byte [esi + 8], 2
je 0x445a66
mov al, byte [ebp - 0x124]
cmp byte [esi + 0xa], al
je 0x445a66
mov dl, al
mov ecx, esi
call fcn.004224c0
test eax, eax
jne 0x44b40b
mov eax, 0x800
mov dword [esi + 0x18], 0
or word [esi + 8], ax
cmp byte [ebx + 1], 0xff
jne 0x445a86
mov edx, dword [ebx + 0x10]
mov ecx, edi
call fcn.0041ffe0
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 0x44b39c
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 0x445ac3
mov ecx, esi
call fcn.0043cc20
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 0x44670b
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 0x445b0f
mov eax, 0xa10
mov word [esi + 8], ax
mov eax, dword [ebp - 0xdc]
jmp 0x4476ba
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 0x445b44
call fcn.0043cc20
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 0x445f6d
nop dword [eax + eax]
test word [esi + 0x28], dx
lea esi, [esi + 0x28]
je 0x445b9c
lea ecx, [esi - 8]
call fcn.0043cc20
mov eax, dword [ebp - 0xf4]
mov edx, 0x2460
dec edi
mov word [esi], ax
test edi, edi
jg 0x445b80
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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 0x44567f
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 0x445c18
mov ecx, esi
call fcn.0043cc20
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.0043d400
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 0x44567f
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.0043d2e0
test eax, eax
jne 0x44b39c
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 0x445c92
mov ecx, esi
call fcn.0043cc20
mov eax, 4
lea edx, [edi - 0x28]
push 0x800
mov ecx, esi
mov word [esi + 8], ax
call fcn.0043d340
mov edi, dword [ebp - 0xe0]
add esp, 4
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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 0x445d01
cmp dword [esi + 0x18], 0
je 0x445d0e
mov ecx, esi
call fcn.0043cca0
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 0x445d56
mov ecx, esi
call fcn.0043c970
test eax, eax
jne 0x44b36e
mov ecx, dword [ebp - 0x10c]
add edi, 0x28
add esi, 0x28
sub ecx, 1
mov dword [ebp - 0x10c], ecx
jne 0x445cf0
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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.0043d340
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x445dcd
mov ecx, esi
call fcn.0043c970
test eax, eax
jne 0x44b36e
mov eax, ebx
dec ebx
test eax, eax
je 0x447aff
add esi, 0x28
add edi, 0x28
jmp 0x445da2
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.0043d340
mov eax, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x44567f
mov eax, dword [edi + 0x124]
test eax, eax
je 0x445e44
mov ecx, dword [ebp - 0x158]
cmp ecx, dword [ebp - 0x184]
jb 0x445e44
push dword [edi + 0x128]
call eax
add esp, 4
test eax, eax
jne 0x44b03e
mov ecx, dword [ebp - 0xd8]
xor edx, edx
call fcn.00440520
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4476ba
lea edx, [eax + 1]
call fcn.004403e0
mov dword [ebp - 0xdc], eax
test eax, eax
jne case.0x4456b5.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 0x445eec
nop word [eax + eax]
mov eax, 0x1000
test word [esi + 8], ax
je 0x445eca
mov ecx, esi
call fcn.0043c970
test eax, eax
jne 0x44b36e
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
cmp ax, 2
jne 0x445ee3
mov ecx, esi
call fcn.0043ca50
inc edi
add esi, 0x28
cmp edi, dword [ebx + 8]
jl 0x445eb0
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
cmp byte [edi + 0x41], 0
jne 0x44b411
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 0x44774f
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 0x445faa
mov eax, 0x2460
test word [esi + 8], ax
je 0x445f87
mov ecx, esi
call fcn.0043cc20
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x44567f
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 0x44567f
test edx, 0x4000
je 0x445fbf
call fcn.0043c9f0
test eax, eax
jne 0x44b36e
mov eax, 0x4000
test word [edi + 8], ax
je 0x445fd9
mov ecx, edi
call fcn.0043c9f0
test eax, eax
jne 0x44b36e
mov eax, dword [ebp - 0x10c]
test byte [eax + 8], 0x12
jne 0x445fff
mov dl, byte [ebp - 0x124]
mov ecx, eax
push 0
call fcn.0043ca90
add esp, 4
test eax, eax
jne 0x44b36e
test byte [edi + 8], 0x12
jne 0x44601f
mov dl, byte [ebp - 0x124]
mov ecx, edi
push 0
call fcn.0043ca90
add esp, 4
test eax, eax
jne 0x44b36e
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 0x44b39c
xor eax, eax
lea edx, [ecx + 2]
cmp esi, edi
mov ecx, esi
sete al
push eax
call fcn.0043c830
add esp, 4
test eax, eax
jne 0x44b36e
mov ax, word [esi + 8]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x446086
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.004e69f0
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.004e69f0
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 0x44567f
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.00445520
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.00445520
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 0x4464a7
mov al, dl
and al, byte [ebp - 0xfc]
test al, 4
je 0x446367
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.0x44619c
jmp dword [eax*4 + 0x44b6ac]
test esi, esi
jl 0x44622c
jg 0x4461b1
test edx, edx
jb 0x44622c
test edi, edi
jl 0x44627c
jg 0x4461c3
test ecx, ecx
je 0x44627c
or eax, 0xffffffff
sub eax, ecx
mov dword [ebp - 0xf4], eax
mov eax, closesocket
sbb eax, edi
cmp eax, esi
jg 0x44627c
jl 0x4461eb
cmp dword [ebp - 0xf4], edx
jae 0x44627c
mov esi, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x100]
call fcn.0043ce10
mov ecx, esi
movsd qword [ebp - 0xf8], xmm0
call fcn.0043ce10
movzx eax, byte [ebx]
movaps xmm1, xmm0
add eax, 0xffffffa7
movsd qword [ebp - 0x130], xmm1
cmp eax, 3
ja case.default.0x446225
jmp dword [eax*4 + 0x44b6bc]
test edi, edi
jg 0x44627c
jl 0x446236
test ecx, ecx
jae 0x44627c
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, closesocket
sbb eax, edi
cmp eax, ecx
jg 0x4461eb
jl 0x446276
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x12c]
ja 0x4461eb
mov ecx, dword [ebp - 0x10c]
add ecx, edx
mov dword [ebp - 0x160], ecx
adc edi, esi
mov dword [ebp - 0x15c], edi
jmp 0x446322
push esi
push edx
lea ecx, [ebp - 0x160]
call fcn.00423e80
add esp, 8
test eax, eax
jne 0x4461eb
jmp 0x446322
push esi
push edx
lea ecx, [ebp - 0x160]
call fcn.00423ed0
add esp, 8
test eax, eax
jne 0x4461eb
jmp 0x446322
mov eax, edx
or eax, esi
je 0x4464a7
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x4462e8
test ecx, ecx
jne 0x4462e8
cmp edi, 0x80000000
je 0x4461eb
push esi
push edx
push edi
push ecx
call fcn.00508a50
jmp 0x446316
mov eax, edx
or eax, esi
je 0x4464a7
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x44630d
mov edx, 1
xor esi, esi
push esi
push edx
push edi
push ecx
call fcn.00508be0
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 0x44567f
mov byte [ebp - 0xe9], 0
jmp 0x4461f7
addsd xmm1, qword [ebp - 0xf8]
jmp 0x44641b
subsd xmm1, qword [ebp - 0xf8]
jmp 0x44641b
mulsd xmm1, qword [ebp - 0xf8]
jmp 0x44641b
movsd xmm0, qword [ebp - 0xf8]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x4464a7
divsd xmm1, xmm0
jmp 0x44641b
movsd xmm0, qword [ebp - 0xf8]
call fcn.0049f73f
movsd xmm0, qword [ebp - 0x130]
mov esi, eax
mov edi, edx
call fcn.0049f73f
mov ecx, esi
mov dword [ebp - 0xf4], eax
or ecx, edi
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], edx
je 0x4464a7
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x446403
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push dword [ebp - 0xf4]
call fcn.00508be0
mov ecx, eax
call fcn.0049f890
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 0x4464a7
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 0x445f6d
cmp byte [ebp - 0xe9], 0
jne 0x445f6d
call fcn.0043ce70
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
mov eax, dword [ebp - 0x104]
add ebx, 0x14
mov ecx, 0x2460
mov dword [ebp - 0xe4], ebx
test word [eax + 8], cx
je 0x4464df
mov ecx, eax
call fcn.0043cc20
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x445685
mov edi, dword [ebp - 0xe0]
mov ecx, 1
mov word [eax + 8], cx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
mov eax, dword [ebx + 4]
test eax, eax
je 0x446555
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x44653f
push 0
push 0
mov ecx, eax
call fcn.0043d1a0
mov eax, dword [ebp - 0xdc]
add esp, 8
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x44567f
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 0x44567f
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.00420260
mov esi, eax
add esp, 8
test esi, esi
je 0x44b40b
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 0x446630
movzx ecx, byte [esi + 0x1a]
mov edx, edi
sub ecx, 1
mov dword [esi], edi
js 0x446630
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 0x446612
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 0x4466d4
cmp dword [esi + 0x14], 0
je 0x4466c0
push dword [esi]
call fcn.00442d10
add esp, 4
push eax
push 0x523478
push dword [ebp - 0xd8]
call fcn.0043def0
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.00440ac0
add esp, 4
test byte [edi + 8], 0x12
je 0x446705
mov ecx, dword [esi]
mov eax, ecx
test byte [ecx + 8], 2
je 0x4466f6
mov dl, byte [ebp - 0x124]
cmp byte [ecx + 0xa], dl
je 0x4466f6
call fcn.004224c0
mov eax, dword [esi]
mov ecx, eax
call fcn.0043d2e0
test eax, eax
jne 0x44b39c
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
jmp case.0x4456b5.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 0x44677c
mov eax, 0x2460
test word [edx + 8], ax
je 0x446759
mov ecx, edx
jmp 0x445f68
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 0x44567f
call fcn.0043cd60
mov esi, edx
mov dword [ebp - 0xfc], eax
mov ecx, edi
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], esi
call fcn.0043cd60
mov cl, byte [ebx]
mov edi, eax
cmp cl, 0x55
jne 0x4467b4
mov ecx, dword [ebp - 0xfc]
and ecx, edi
and esi, edx
jmp 0x4468a7
cmp cl, 0x56
jne 0x4467c8
mov ecx, dword [ebp - 0xfc]
or ecx, edi
or esi, edx
jmp 0x4468a7
mov eax, edi
or eax, edx
je 0x4468a1
test edx, edx
jg 0x446800
jl 0x4467dc
test edi, edi
jae 0x4467f5
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x446800
jg 0x4467ee
cmp edi, 0xffffffc0
jbe 0x446800
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x446837
jg 0x446800
cmp edi, 0x40
jb 0x446837
test esi, esi
jg 0x44681e
jl 0x44680f
cmp dword [ebp - 0xfc], 0
jae 0x44681e
cmp cl, 0x57
je 0x44681e
or ecx, 0xffffffff
or esi, ecx
jmp 0x4468a7
xorps xmm0, xmm0
movlpd qword [ebp - 0x130], xmm0
mov esi, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
jmp 0x4468a7
movq xmm1, qword [ebp - 0x1e0]
movd xmm0, edi
cmp cl, 0x57
jne 0x446862
psllq xmm1, xmm0
movq qword [ebp - 0x130], xmm1
mov esi, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
jmp 0x4468a7
psrlq xmm1, xmm0
movq qword [ebp - 0x130], xmm1
test esi, esi
jg 0x446829
jl 0x44687d
cmp dword [ebp - 0xfc], 0
jae 0x446829
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.00508e90
mov ecx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x12c]
or ecx, eax
or esi, edx
jmp 0x4468a7
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 0x44675e
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.0043cd60
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 0x44567f
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 0x446962
push dword [ebp - 0x124]
mov dl, 0x43
mov ecx, esi
call fcn.004453c0
movzx eax, word [esi + 8]
add esp, 4
mov ecx, eax
test al, 4
jne 0x446962
cmp dword [ebx + 8], 0
jne 0x446aed
mov ebx, 0x14
mov dword [ebp - 0xdc], ebx
jmp 0x44b25f
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 0x44567f
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 0x446768
mov ecx, esi
call fcn.0043ce10
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 0x44567f
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 0x4469f9
mov ecx, esi
call fcn.0043c9f0
mov dword [ebp - 0xdc], eax
jmp 0x446a03
mov dword [ebp - 0xdc], 0
push dword [ebp - 0x124]
mov dl, byte [ebx + 8]
mov ecx, esi
call fcn.0043d090
mov eax, dword [ebp - 0xdc]
add esp, 4
jmp case.0x4456b5.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 0x446b10
test al, al
jns 0x446a9f
mov edx, esi
xor esi, esi
mov eax, edx
and eax, dword [ebp - 0x100]
bt ax, si
jae 0x446a8f
test edx, 0x100
jne 0x446a8f
mov esi, dword [ebp - 0xfc]
xor edx, edx
jmp 0x446c36
mov esi, dword [ebp - 0xfc]
mov edx, 1
jmp 0x446c36
test al, 0x20
je 0x446adf
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 0x44567f
test al, 0x10
je 0x446762
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 0x4476ba
and al, 0x47
cmp al, 0x43
jb 0x446b49
and dl, 0xe
mov eax, esi
cmp dl, 2
jne 0x446b31
mov ecx, dword [ebp - 0xfc]
xor edx, edx
call fcn.00445330
movzx eax, word [edi + 8]
and al, 0xe
cmp al, 2
jne 0x446bd5
xor edx, edx
mov ecx, edi
call fcn.00445330
jmp 0x446bd5
cmp al, 0x42
jne 0x446bd5
mov eax, esi
test dl, 2
jne 0x446b99
test dl, 0xc
je 0x446b99
mov esi, dword [ebp - 0xfc]
mov ecx, esi
mov dl, byte [ebp - 0x124]
push 1
call fcn.0043ca90
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 0x446bd5
test al, 0xc
je 0x446bd5
mov dl, byte [ebp - 0x124]
mov ecx, edi
push 1
call fcn.0043ca90
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 0x446bfc
mov ecx, esi
call fcn.0043c9f0
and dword [ebp - 0x100], 0xbfff
mov eax, 0x4000
test word [edi + 8], ax
je 0x446c13
mov ecx, edi
call fcn.0043c9f0
and dword [ebp - 0x11c], 0xbfff
mov eax, dword [ebp - 0xe0]
cmp byte [eax + 0x41], 0
jne 0x44b409
push dword [ebx + 0x10]
mov edx, esi
mov ecx, edi
call fcn.00441920
mov cl, byte [ebx]
add esp, 4
mov edx, eax
movzx ecx, cl
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x446c41
jmp dword [ecx*4 + 0x44b6cc]
xor eax, eax
test edx, edx
sete al
jmp 0x446c77
xor eax, eax
test edx, edx
setne al
jmp 0x446c77
mov eax, edx
jmp 0x446c74
xor eax, eax
test edx, edx
setle al
jmp 0x446c77
xor eax, eax
test edx, edx
setg al
jmp 0x446c77
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 0x446cd5
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 0x44567f
test eax, eax
jne 0x446ae7
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
mov edx, dword [ebx + 0x10]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x170], edx
jmp 0x44567f
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 0x446de5
nop dword [eax]
test edi, edi
je 0x446d59
mov ecx, dword [edi + esi*4]
jmp 0x446d5b
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.00441920
add esp, 4
mov dword [ebp - 0x198], eax
test eax, eax
jne 0x446dd4
mov edx, dword [ebp - 0x170]
inc esi
cmp esi, dword [ebp - 0x134]
jl 0x446d50
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0xdc]
jmp 0x44567f
cmp byte [ebp - 0xe9], 0
je 0x446de5
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 0x44567f
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x114]
test eax, eax
jns 0x446e33
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 0x44567f
jne 0x446e4f
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 0x44567f
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 0x44567f
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 0x446e86
mov esi, 6
jmp 0x446e98
call fcn.0043cd60
or eax, edx
je 0x446e96
mov esi, 3
jmp 0x446e98
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 0x446eba
mov eax, 0x524116
mov ecx, 0x52680e
jmp 0x446ed9
call fcn.0043cd60
or eax, edx
je 0x446ecf
mov eax, 0x524115
mov ecx, 0x52680d
jmp 0x446ed9
mov eax, 0x524114
mov ecx, 0x52680c
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 0x446f1a
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 0x44567f
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 0x44567f
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 0x446f81
mov ecx, esi
call fcn.0043cc20
jmp 0x446f8a
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x446762
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.0043cd60
or eax, edx
jne 0x446fce
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 0x44567f
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 0x44567f
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 0x447030
mov ecx, esi
call fcn.0043cc20
jmp 0x447039
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x446762
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.0043cd60
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 0x44567f
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0xc8]
cmp byte [eax + ecx], 0
jne 0x446aed
mov byte [eax + ecx], 1
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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 0x4470c2
mov eax, dword [ebx + 0xc]
jmp 0x4470e5
call fcn.0043ce10
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4470db
mov eax, 1
jmp 0x4470dd
xor eax, eax
cmp byte [ebx], 0x2e
jne 0x4470e5
xor eax, 1
test eax, eax
jne 0x446aed
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x446aed
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x446aed
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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.00441110
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44b253
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edi + 0x3c]
cmp eax, dword [ecx + 0x48]
je 0x44731d
cmp byte [edi + 0x19], 0
je 0x447224
cmp dword [ebp - 0x138], 0
jne 0x4471ff
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 0x4472a4
mov eax, 0x2460
test word [esi + 8], ax
je 0x447216
mov ecx, esi
call fcn.0043cc20
jmp 0x447611
mov eax, 1
mov word [esi + 8], ax
jmp 0x447611
mov ecx, dword [ebp - 0x138]
mov ebx, dword [edi + 0x1c]
call fcn.004351a0
lea edx, [ebp - 0x164]
test bl, 4
jne 0x44726a
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.00435780
mov dword [edi + 0x4c], eax
mov eax, dword [ebp - 0x1f8]
mov dword [edi + 0x40], eax
jmp 0x44727e
mov ecx, dword [ebp - 0x138]
mov eax, dword [ecx + 0x1c]
mov dword [edi + 0x40], eax
call fcn.00435780
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 0x44b39c
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 0x4472c6
movzx eax, al
mov dword [ebp - 0x14c], eax
mov al, 1
jmp 0x4472d1
lea edx, [ebp - 0x14c]
call fcn.00423c60
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 0x44b04e
cmp eax, dword [edi + 0x40]
ja 0x44b04e
cmp dword [ebp - 0x164], eax
jae 0x447333
mov dword [edi + 0x4c], 0
mov dword [edi + 0x44], 0
jmp 0x447333
movzx eax, word [edi + 0x16]
cmp eax, dword [ebp - 0x11c]
jg 0x447512
mov ecx, dword [ebp - 0x100]
mov eax, dword [edi + 0x48]
cmp eax, dword [ecx]
jae 0x4474e5
mov edx, dword [edi + 0x4c]
mov dword [ebp - 0x12c], edx
test edx, edx
jne 0x4473a7
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.0043d750
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4476ae
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 0x4473eb
movzx eax, al
mov ecx, 1
mov dword [ebp - 0x168], eax
jmp 0x447407
lea edx, [ebp - 0x168]
mov ecx, esi
call fcn.00423c60
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 0x44741d
lea ecx, [eax - 0xc]
shr ecx, 1
jmp 0x447424
movzx ecx, byte [eax + 0x524a34]
mov eax, dword [ebp - 0x14c]
add eax, ecx
mov dword [ebp - 0x14c], eax
cmp eax, ecx
jb 0x447461
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 0x44746a
cmp esi, ecx
jb 0x4473d5
jmp 0x44746a
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 0x4474bd
test dword [ebp - 0x290], 0x2460
jne 0x4474a0
cmp dword [ebp - 0x280], 0
je 0x4474b1
lea ecx, [ebp - 0x298]
call fcn.0043cca0
mov ecx, dword [ebp - 0x104]
mov eax, 1
mov word [ebp - 0x290], ax
mov eax, dword [ebp - 0x14c]
cmp esi, ecx
jb 0x4474d6
ja 0x44b08a
cmp eax, dword [edi + 0x40]
jne 0x44b08a
cmp eax, dword [edi + 0x40]
ja 0x44b08a
mov esi, dword [ebp - 0xfc]
movzx eax, word [edi + 0x16]
cmp eax, dword [ebp - 0x11c]
jg 0x447512
cmp byte [ebx + 1], 0xf8
jne 0x4471ff
mov edx, dword [ebx + 0x10]
mov ecx, esi
push 0x800
call fcn.0043d340
add esp, 4
jmp 0x447611
mov eax, 0x2460
test word [esi + 8], ax
je 0x447524
mov ecx, esi
call fcn.0043cc20
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 0x44756f
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.004413a0
add esp, 4
jmp 0x447608
mov al, byte [ebx + 3]
test al, 0xc0
je 0x447584
cmp edx, 0xc
jb 0x447580
test dl, 1
je 0x44759b
test al, al
js 0x44759b
cmp edx, 0xc
jb 0x447590
lea ecx, [edx - 0xc]
shr ecx, 1
jmp 0x447597
movzx ecx, byte [edx + 0x524a34]
test ecx, ecx
jne 0x4475b4
xor eax, eax
lea ecx, [ebp - 0x1f8]
cmp edx, 0xd
push esi
cmova ecx, eax
call fcn.004413a0
add esp, 4
jmp 0x447608
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.0043d750
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4476ae
mov edx, dword [ebp - 0x168]
mov ecx, dword [esi + 0x10]
push esi
call fcn.004413a0
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 0x446705
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x446705
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 0x447664
push 0
mov ecx, eax
call fcn.0043c830
add esp, 4
test eax, eax
jne 0x44b36e
mov edx, dword [ebp - 0xfc]
jmp 0x447677
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.004e69f0
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 0x445685
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.00422230
add esp, 0x14
mov ecx, ebx
call fcn.00440590
cmp dword [ebp - 0xdc], 0xc0a
jne 0x447731
mov byte [edi + 0x41], 1
mov al, byte [ebp - 0x139]
mov edi, 1
test al, al
je 0x44774f
mov ecx, dword [ebp - 0xe0]
movzx edx, al
dec edx
call fcn.0045c520
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.0043eed0
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0049e964
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 0x445f6d
nop dword [eax]
push dword [ebp - 0x124]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.004453c0
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x4477b0
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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 0x447879
mov al, byte [esi]
mov edi, ecx
push dword [ebp - 0x124]
mov dl, al
mov ecx, edi
call fcn.004453c0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x447854
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.00441140
mov esi, eax
mov dword [ebx + 0x1c], esi
cmp esi, 0xc
jb 0x4478c8
lea edi, [esi - 0xc]
shr edi, 1
jmp 0x4478cf
movzx edi, byte [esi + 0x524a34]
mov eax, 0x4000
test word [ebx + 8], ax
je 0x44790a
mov eax, dword [ebp - 0x104]
or eax, dword [ebp - 0xfc]
je 0x4478f9
mov ecx, ebx
call fcn.0043c9f0
test eax, eax
jne 0x44b36e
jmp 0x44790a
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 0x447925
mov edx, 1
jmp 0x447943
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 0x447943
cmp edx, 9
jl 0x447930
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 0x4478b0
cmp eax, 0x7e
jle 0x4479b3
cdq
xor edi, edi
mov ecx, eax
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x447983
cmp edi, 9
jl 0x447970
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 0x4479a9
cmp esi, 9
jl 0x447996
mov eax, dword [ebp - 0x100]
cmp edi, esi
jge 0x4479ba
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 0x44b39c
jl 0x447a03
cmp esi, eax
ja 0x44b39c
mov esi, dword [ebp - 0xf4]
cmp dword [esi + 0x18], edi
jge 0x447a26
push 0
mov edx, edi
mov ecx, esi
call fcn.0043c830
add esp, 4
test eax, eax
jne 0x44b36e
jmp 0x447a31
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 0x447a4b
mov byte [edi], dl
mov eax, 1
jmp 0x447a5c
push ebx
push dword [ebp - 0x12c]
mov ecx, edi
call fcn.00423a60
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 0x447a87
mov byte [ecx], bl
mov eax, 1
jmp 0x447a92
push 0
push ebx
call fcn.00423a60
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.00441240
add dword [ebp - 0x100], eax
add ebx, 0x28
add esp, 4
mov dword [ebp - 0x138], ebx
cmp ebx, dword [ebp - 0x134]
jbe 0x447a70
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 0x447afb
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 0x44567f
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.0043a950
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 0x447b6a
mov ecx, esi
call fcn.0043cc20
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.0x4456b5.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 0x447ca7
cmp dword [eax + 0x9c], 0
jg 0x44b096
test edi, edi
jne 0x447bc4
xor esi, esi
jmp 0x447bdf
mov esi, edi
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x447bd0
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.004868f0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44b259
lea eax, [esi + 0x21]
mov ecx, edi
push 0
push eax
call fcn.00420260
mov edi, eax
add esp, 8
test edi, edi
je 0x445f6d
lea ecx, [esi + 1]
push ecx
push dword [ebp - 0xf4]
lea edx, [edi + 0x20]
push edx
mov dword [edi], edx
call fcn.004e69f0
mov ecx, dword [ebp - 0xe0]
add esp, 0xc
cmp byte [ecx + 0x3f], 0
je 0x447c54
mov byte [ecx + 0x3f], 0
mov byte [ecx + 0x46], 1
jmp 0x447c5a
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 0x44567f
mov esi, dword [eax + 0x1e8]
xor ecx, ecx
mov dword [ebp - 0x11c], ecx
test esi, esi
je 0x447cdc
nop dword [eax]
push edi
push dword [esi]
call fcn.00422d60
add esp, 8
test eax, eax
je 0x447d13
inc dword [ebp - 0x11c]
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x447cc0
push edi
push str.no_such_savepoint:__s
push dword [ebp - 0xd8]
call fcn.0043def0
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 0x4476d1
mov edi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x10c]
cmp dword [edi + 0x9c], 0
jle 0x447d31
cmp edx, 1
je 0x44b0cc
cmp dword [esi + 0x18], 0
jne 0x447d97
cmp byte [edi + 0x46], 0
je 0x447d97
mov dword [ebp - 0xfc], 1
cmp edx, 1
jne 0x447da1
mov ecx, dword [ebp - 0xd8]
call fcn.00440520
mov edi, eax
test edi, edi
jne 0x44774f
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
mov byte [edi + 0x3f], 1
call fcn.00440590
cmp eax, 5
je 0x44b0fc
mov eax, dword [ebp - 0xd8]
mov byte [edi + 0x46], 0
mov eax, dword [eax + 0x50]
mov dword [ebp - 0xdc], eax
jmp 0x447eb0
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 0x447e2e
mov edx, dword [edi + 0x18]
xor ebx, ebx
shr edx, 1
and edx, 1
mov dword [ebp - 0x104], edx
test eax, eax
jle 0x447e36
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.00434b90
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44b253
mov eax, dword [ebp - 0xe0]
inc ebx
mov ecx, dword [ebp - 0xf4]
add edi, 0x10
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x447de0
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x104]
jmp 0x447e36
xor edx, edx
mov dword [ebp - 0x104], edx
xor ebx, ebx
test eax, eax
jle 0x447e83
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.00434ea0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44b253
mov eax, dword [ebp - 0xe0]
inc ebx
mov ecx, dword [ebp - 0x11c]
add edi, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x447e44
mov edx, dword [ebp - 0x104]
mov edi, dword [ebp - 0xe0]
test edx, edx
je 0x447eaa
mov eax, dword [edi + 4]
test eax, eax
je 0x447e9f
or dword [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x447e94
mov ecx, edi
call fcn.0045c560
or dword [edi + 0x18], 2
mov ebx, dword [ebp - 0xe4]
cmp dword [edi + 0x1e8], esi
je 0x447ee4
nop dword [eax + eax]
mov edx, dword [edi + 0x1e8]
mov ecx, edi
mov eax, dword [edx + 0x18]
mov dword [edi + 0x1e8], eax
call fcn.0041ffe0
dec dword [edi + 0x1f0]
cmp dword [edi + 0x1e8], esi
jne 0x447ec0
mov edi, dword [ebp - 0x10c]
cmp edi, 1
jne 0x447f22
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.0041ffe0
cmp dword [ebp - 0xfc], 0
jne 0x44af71
dec dword [esi + 0x1f0]
jmp 0x447f5e
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 0x447f5e
cmp edi, 2
jne 0x44af7e
mov ecx, dword [ebp - 0x11c]
mov edx, edi
mov edi, dword [ebp - 0xe0]
push ecx
mov ecx, edi
call fcn.004868f0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44b259
jmp case.0x4456b5.62
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov dword [ebp - 0xf4], ecx
test ecx, ecx
je 0x447fd6
mov al, byte [edi + 0x3f]
test al, al
jne 0x447fd6
test edx, edx
jne 0x447fd9
cmp dword [edi + 0x9c], edx
jle 0x447fd9
mov eax, str.cannot_commit_transaction___SQL_statements_in_progress
mov dword [ebp - 0xdc], 5
push eax
push dword [ebp - 0xd8]
call fcn.0043def0
mov eax, dword [ebp - 0xdc]
add esp, 8
jmp case.0x4456b5.62
mov al, byte [edi + 0x3f]
movzx eax, al
cmp ecx, eax
jne 0x44b12d
test ecx, ecx
jne 0x447fef
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x447ffe
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.0043def0
mov eax, dword [ebp - 0xdc]
add esp, 8
jmp case.0x4456b5.62
mov edx, dword [ebx + 8]
test edx, edx
je 0x448036
test dword [edi + 0x18], 0x2000000
jne 0x44b1cd
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x448142
mov ecx, esi
call fcn.00433bc0
mov dword [ebp - 0xdc], eax
cmp eax, 5
je 0x44b1dd
test eax, eax
jne 0x44b259
cmp dword [ebx + 8], eax
je 0x448115
mov edx, dword [ebp - 0xd8]
test byte [edx + 0x58], 0x20
je 0x448115
cmp byte [edi + 0x3f], al
je 0x448093
cmp dword [edi + 0x98], 1
jle 0x448115
mov eax, dword [edx + 0x68]
test eax, eax
jne 0x4480af
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.004868f0
mov ecx, eax
add esp, 4
mov dword [ebp - 0xdc], ecx
test ecx, ecx
jne 0x4480df
mov eax, dword [ebp - 0xd8]
mov ecx, esi
mov edx, dword [eax + 0x68]
call fcn.00434e40
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.0043a840
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 0x44814c
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x194], eax
cmp byte [ebx + 3], 0
je 0x44670b
cmp eax, dword [ebx + 0xc]
jne 0x448164
cmp ecx, dword [ebx + 0x10]
je 0x44670b
mov eax, dword [ebp - 0xd8]
mov ecx, edi
mov edx, dword [eax + 0x2c]
call fcn.0041ffe0
push 0
push 0x1c
mov ecx, edi
call fcn.00420260
mov esi, eax
add esp, 8
test esi, esi
je 0x448198
push 0x1c
push str.database_schema_has_changed
push esi
call fcn.004e69f0
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 0x4481c0
mov ecx, edi
call fcn.0045c520
mov eax, dword [ebp - 0xd8]
or dword [eax + 0x58], 8
mov eax, 0x11
mov dword [ebp - 0xdc], eax
jmp case.0x4456b5.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.0043a840
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 0x44821c
mov ecx, esi
call fcn.0043cc20
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 0x44567f
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.0043cd60
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.0043a8a0
mov dword [ebp - 0xdc], eax
add esp, 4
mov eax, dword [ebx + 8]
cmp eax, 1
jne 0x4482b4
mov ecx, dword [edi + 0xc]
mov edi, dword [ebp - 0xe0]
mov eax, dword [esi]
mov dword [ecx], eax
or dword [edi + 0x18], 2
jmp 0x4482c7
cmp eax, 2
jne 0x4482c1
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 0x44670b
mov eax, dword [edi + 4]
test eax, eax
je 0x4482eb
nop dword [eax + eax]
or dword [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x4482e0
mov eax, dword [ebp - 0xd8]
and dword [eax + 0x58], 0xfffffff7
mov eax, dword [ebp - 0xdc]
jmp case.0x4456b5.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 0x44831f
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 8]
je 0x448478
mov cl, byte [ebp - 0xe9]
mov eax, dword [ebp - 0xd8]
test byte [eax + 0x58], 8
jne 0x44b236
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 0x448391
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 0x448397
mov byte [ecx + 0x57], al
jmp 0x448397
mov dword [ebp - 0x12c], edi
test byte [ebx + 3], 4
je 0x4483e0
mov ecx, dword [ebp - 0xe8]
lea eax, [edx + edx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0043cd60
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 0x44b20a
mov esi, dword [ebp - 0x134]
mov al, byte [ebx + 1]
cmp al, 0xfa
jne 0x4483fc
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf4], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x448403
cmp al, 0xf2
jne 0x448403
mov edi, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xd8]
push 1
push esi
push edi
call fcn.00445250
mov esi, eax
add esp, 0xc
test esi, esi
je 0x44b36e
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.00434f30
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.0x4456b5.62
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xd8]
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.00445250
mov esi, eax
add esp, 0xc
test esi, esi
je 0x44b40b
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.00432b00
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x448574
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.00433bc0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x448574
mov eax, dword [ebx + 0x10]
mov ecx, dword [edi]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x448557
movzx eax, byte [ebx + 3]
lea edx, [ebp - 0x1cc]
or eax, 2
push eax
call fcn.0043a290
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x448551
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.00434f30
add esp, 0xc
mov dword [ebp - 0xdc], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x448574
push dword [esi]
mov edx, 1
push 0
push 1
call fcn.00434f30
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 0x4476a8
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xd8]
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.00445250
add esp, 0xc
test eax, eax
je 0x44b40b
mov ecx, dword [ebx + 0x10]
mov dword [eax + 8], ecx
mov ecx, edi
mov edx, dword [ebx + 0xc]
push eax
call fcn.0044cde0
add esp, 4
mov dword [ebp - 0xdc], eax
jmp case.0x4456b5.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 0x446aed
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xd8]
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.00445250
add esp, 0xc
test eax, eax
je 0x44b40b
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 0x44567f
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + 0x38]
mov edx, dword [edx + eax*4]
call fcn.0043f790
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 0x44567f
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 0x448780
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 0x4486dd
xor edx, edx
call fcn.00445330
mov ecx, dword [ebp - 0x10c]
call fcn.0043cd60
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x104], edx
movzx ecx, word [ecx + 8]
test cl, 4
jne 0x448743
test cl, 8
je 0x446ae7
mov ecx, eax
call fcn.0049f890
mov eax, dword [ebp - 0x10c]
movsd xmm1, qword [eax]
comisd xmm0, xmm1
jbe 0x44872c
mov eax, dword [ebp - 0xfc]
test al, 1
cmovne esi, eax
mov eax, esi
jmp 0x44873d
comisd xmm1, xmm0
jbe 0x448743
mov eax, dword [ebp - 0xfc]
test al, 1
je 0x448743
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.00435b40
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 0x4487ed
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 0x4487c8
call fcn.0043c9f0
mov ecx, dword [edi]
lea eax, [ebp - 0x140]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0x248]
call fcn.00435b40
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44b253
mov eax, dword [ebp - 0xfc]
mov byte [edi + 0x1a], 0
mov dword [edi + 0x3c], 0
mov ecx, dword [ebp - 0x140]
cmp eax, 0x41
jl 0x44884f
test ecx, ecx
js 0x448835
jne 0x44881a
cmp eax, 0x42
je 0x448835
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x140], 0
jmp case.0x4456b5.62
lea eax, [ebp - 0x140]
mov dword [ebp - 0x140], 0
push eax
push dword [edi]
call fcn.00436190
jmp 0x448887
test ecx, ecx
jg 0x44886f
jne 0x44885a
cmp eax, 0x3f
je 0x44886f
mov ecx, dword [edi]
call fcn.00436060
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xdc]
jmp 0x448898
lea eax, [ebp - 0x140]
mov dword [ebp - 0x140], 0
push eax
push dword [edi]
call fcn.00436320
add esp, 8
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44b253
cmp dword [ebp - 0x140], 0
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
jne 0x446af3
jmp 0x4476ba
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.0043cd60
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 0x44567f
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 0x448993
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 0x44898b
xor esi, esi
nop word [eax + eax]
lea ecx, [esi + ebx]
mov eax, 0x4000
test word [ecx + 8], ax
je 0x448980
call fcn.0043c9f0
mov ebx, dword [ebp - 0x22c]
mov dx, word [ebp - 0x230]
inc edi
movzx eax, dx
add esi, 0x28
cmp edi, eax
jl 0x448960
lea esi, [ebp - 0x234]
jmp 0x4489de
mov ecx, dword [edi + 8]
lea eax, [ebp - 0x1a0]
push eax
push 0xbf
lea edx, [ebp - 0xc8]
call fcn.00441560
mov esi, eax
add esp, 8
test esi, esi
je 0x44b36e
mov eax, 0x4000
test word [ebx + 8], ax
je 0x4489cc
mov ecx, ebx
call fcn.0043c9f0
mov edx, dword [ebx + 0xc]
mov ecx, dword [edi + 8]
push esi
push dword [ebx + 0x10]
call fcn.004415d0
add esp, 8
mov ebx, dword [ebp - 0xe4]
xor edi, edi
mov byte [esi + 6], 0
cmp byte [ebx], 0x44
jne 0x448a14
movzx edx, word [esi + 4]
xor ecx, ecx
test edx, edx
je 0x448a14
mov eax, dword [esi + 8]
add eax, 8
nop
test byte [eax], 1
jne 0x448a0f
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x448a00
jmp 0x448a14
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.00435b40
mov edx, dword [ebp - 0x1a0]
add esp, 0x10
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
call fcn.0041ffe0
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4476ae
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 0x448aa8
mov edi, dword [ebp - 0xe0]
test ecx, ecx
mov ecx, dword [ebp - 0xd8]
jne 0x446af3
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
jmp 0x44567f
test edi, edi
jne 0x446ae7
mov edi, dword [ebp - 0xe0]
test ecx, ecx
mov ecx, dword [ebp - 0xd8]
je 0x446af3
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
jmp 0x44567f
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.00435b40
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 0x446af3
mov eax, dword [ebp - 0xdc]
jmp 0x4476ba
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 0x448b8f
mov ecx, edx
call fcn.00445540
mov edx, eax
jmp 0x448b98
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 0x44567f
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 0x448c16
mov ecx, edx
call fcn.00445540
mov dword [ebp - 0xf4], eax
jmp 0x448c1f
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 0x448cb9
mov ecx, dword [edi]
lea edx, [ebp - 0x188]
call fcn.00435ae0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44b253
cmp dword [ebp - 0x188], eax
je 0x448c6d
mov dword [ebp - 0x148], 1
mov dword [ebp - 0x144], eax
jmp 0x448cb3
mov ecx, dword [edi]
lea edx, [ebp - 0x148]
call fcn.004351e0
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x148]
cmp ecx, 0x7fffffff
jl 0x448ca1
jg 0x448c9b
cmp eax, 0xffffffff
jb 0x448ca1
or dword [edi + 0x1c], 2
jmp 0x448cb3
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 0x448d57
mov edx, dword [edx + 0xb0]
test edx, edx
je 0x448ce9
mov eax, dword [edx + 4]
test eax, eax
je 0x448cde
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x448cd5
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x448cf5
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe8]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0043cf10
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x448d12
cmp edx, 0x7fffffff
je 0x448dc0
test byte [edi + 0x1c], 2
jne 0x448dc0
add ecx, 1
adc edx, 0
cmp dword [ebp - 0x144], edx
jg 0x448d46
jl 0x448d36
mov eax, dword [ebp - 0x148]
cmp eax, ecx
jae 0x448d4c
mov eax, ecx
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x148], eax
jmp 0x448d4c
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 0x448dd6
xor esi, esi
nop
lea eax, [ebp - 0x148]
push eax
push 8
call fcn.00422270
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.00435b40
add esp, 0x18
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x448dd6
cmp dword [ebp - 0x188], eax
jne 0x448dd6
inc esi
cmp esi, 0x64
jl 0x448d60
mov edi, dword [ebp - 0xe0]
mov ebx, 0xd
mov dword [ebp - 0xdc], ebx
jmp 0x44b25f
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 0x4476a8
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 0x448e36
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
jmp 0x448e41
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 0x448e5b
mov ecx, dword [ebp - 0xd8]
inc dword [ecx + 0x5c]
mov cl, byte [ebx + 3]
test cl, 2
je 0x448e78
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 0x448e97
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 0x448eaa
mov edx, dword [edx + 0xc]
jmp 0x448eac
xor edx, edx
test eax, 0x4000
je 0x448ebe
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + esi*8]
jmp 0x448ec0
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.00439ac0
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 0x4476ae
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax + 0xd4]
test edx, edx
je 0x44af64
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x446705
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.0x4456b5.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.00439cd0
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x3c], 0
test eax, eax
jne 0x448fd7
mov edx, dword [edi + 0xd4]
test edx, edx
je 0x448fd7
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x448fd1
test byte [esi + 0x1c], 4
je 0x448fd1
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 0x4476ba
inc dword [ecx + 0x5c]
jmp 0x4476ba
mov eax, dword [ebp - 0xd8]
mov ecx, edi
mov edx, dword [eax + 0x5c]
call fcn.00442730
mov eax, dword [ebp - 0xd8]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x5c], 0
mov eax, dword [ebp - 0xdc]
jmp 0x44567f
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.0044f510
mov ecx, dword [ebp - 0xd8]
add esp, 8
cmp dword [ebp - 0x1a8], 0
mov dword [ebp - 0xdc], eax
jne 0x446af3
jmp 0x4476ba
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.0044f470
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.0x4456b5.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 0x449129
lea edx, [ebp - 0x200]
call fcn.004351e0
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
cdq
cmp dword [ebp - 0x1fc], edx
jg 0x44b39c
mov ecx, dword [ebp - 0x200]
jl 0x449121
cmp ecx, eax
ja 0x44b39c
mov dword [ebp - 0x16c], ecx
jmp 0x449149
lea edx, [ebp - 0x16c]
call fcn.00435200
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x16c]
cmp ecx, dword [eax + 0x58]
ja 0x44b39c
mov edx, 0x20
cmp ecx, edx
cmova edx, ecx
mov ecx, esi
cmp dword [esi + 0x18], edx
jge 0x449166
push 0
call fcn.0043c830
add esp, 4
jmp 0x44916b
call fcn.0043c960
test eax, eax
jne 0x44b36e
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 0x4491c1
xor edx, edx
mov ecx, edi
call fcn.00435710
add esp, 8
mov dword [ebp - 0xdc], eax
mov byte [esi + 0xa], 1
jmp 0x4476ae
push 0
push edi
call fcn.00435730
add esp, 0x10
mov dword [ebp - 0xdc], eax
mov byte [esi + 0xa], 1
jmp 0x4476ae
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 0x449203
mov ecx, edi
call fcn.00445540
mov edi, eax
jmp 0x44920c
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 0x44923e
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 0x44567f
cmp byte [esi + 0x1a], 0
je 0x44926c
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 0x4476a8
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x4492b0
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.00442790
mov eax, dword [ebp - 0x1c0]
mov dword [edi], eax
mov eax, dword [ebp - 0x1bc]
mov dword [edi + 4], eax
jmp 0x4476a8
mov ecx, esi
call fcn.004410f0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44b253
cmp byte [esi + 0x19], al
je 0x4492e7
mov ecx, 1
add ebx, 0x14
mov word [edi + 8], cx
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
mov ecx, dword [esi]
lea edx, [ebp - 0x1c0]
call fcn.004351e0
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 0x4476a8
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 0x445916
call fcn.004314f0
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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.00435ae0
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 0x44670b
cmp dword [ebp - 0x18c], 0
mov ecx, dword [ebp - 0xd8]
jne 0x446af3
mov eax, dword [ebp - 0xdc]
jmp 0x4476ba
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x74]
jmp 0x4493cc
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 0x4493f4
mov ecx, esi
call fcn.0044f3a0
jmp 0x449406
mov ecx, dword [esi]
call fcn.00435ab0
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 0x446af3
mov eax, dword [ebp - 0xdc]
jmp 0x4476ba
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.0044f400
add esp, 4
jmp 0x4494a0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
cmp dword [eax + ecx*4], 0
je 0x44670b
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 0x4494cd
mov ecx, dword [ebp - 0xd8]
mov byte [esi + 0x19], 0
movzx eax, byte [ebx + 3]
inc dword [ecx + eax*4 + 0x6c]
jmp case.0x4456b5.14
mov byte [esi + 0x19], 1
jmp 0x44ac1b
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 0x4494fd
inc dword [edx + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x44951d
mov ecx, esi
call fcn.0043c9f0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4476ae
cmp byte [ebx], 0x6e
jne 0x449536
mov edx, esi
mov ecx, edi
call fcn.0044e4c0
mov dword [ebp - 0xdc], eax
jmp 0x4476ae
test byte [ebx + 3], 0x10
je 0x449541
mov eax, dword [edi + 0xc]
jmp 0x449543
xor eax, eax
mov ecx, dword [edi]
push eax
push dword [ebx + 0xc]
mov eax, dword [esi + 0xc]
push 0
push 0
cdq
push 0x522d7a
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.00439ac0
add esp, 0x1c
mov dword [ebp - 0xdc], eax
mov dword [edi + 0x3c], 0
jmp 0x4476ae
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.00435b40
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4495f2
cmp dword [ebp - 0x1d0], eax
jne 0x4495f2
mov ecx, edi
call fcn.00439cd0
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x3c], 0
jmp 0x4476ae
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 0x449626
mov ecx, esi
call fcn.00445540
mov esi, eax
jmp 0x44962f
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.004410f0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44b253
cmp byte [edi + 0x19], al
mov edi, dword [ebp - 0xe0]
jne 0x445f79
mov edx, dword [ebp - 0xf4]
lea eax, [ebp - 0x1e8]
xorps xmm0, xmm0
mov ecx, edi
push eax
movlpd qword [ebp - 0x1e8], xmm0
call fcn.004424e0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44b259
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 0x44567f
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.00442620
add esp, 8
mov dword [ebp - 0xdc], eax
test byte [ebx], 1
mov eax, dword [ebp - 0x17c]
jne 0x449749
neg eax
jmp 0x44974a
inc eax
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x17c], eax
test eax, eax
jg 0x446af3
mov eax, dword [ebp - 0xdc]
jmp 0x4476ba
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 0x44978f
mov ecx, esi
call fcn.00445540
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov eax, dword [edi + 0xa4]
inc eax
cmp dword [edi + 0x98], eax
jg 0x44b2c2
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.0043a7f0
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.0x4456b5.62
mov eax, dword [ebp - 0x19c]
test eax, eax
je 0x44670b
push dword [ebx + 4]
mov edx, dword [ebp - 0xf4]
mov ecx, edi
push eax
call fcn.0045f020
mov al, byte [ebp - 0xf4]
add esp, 8
inc al
mov byte [ebp - 0x139], al
mov eax, dword [ebp - 0xdc]
jmp case.0x4456b5.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.0043a490
mov ecx, dword [ebp - 0xd8]
add esp, 4
cmp dword [ebx + 0xc], 0
mov dword [ebp - 0xdc], eax
je 0x4476ba
mov eax, dword [ebp - 0x1ac]
add dword [ecx + 0x5c], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x44670b
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.0x4456b5.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 0x4498e4
mov ecx, edi
call fcn.0044d4e0
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
mov ecx, dword [ecx]
call fcn.0043a550
mov dword [ebp - 0xdc], eax
jmp case.0x4456b5.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 0x44991e
mov ecx, esi
call fcn.00445540
mov esi, eax
jmp 0x449927
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.0043a290
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.0x4456b5.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.00421f20
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x4499cc
mov dword [ebp - 0xdc], 7
jmp 0x449a1e
push 0
lea eax, [ebp - 0x220]
mov byte [edi + 0x91], 1
push eax
push fcn.00473c30
push esi
push edi
mov dword [ebp - 0x214], 0
call fcn.0046f610
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, edi
cmove eax, dword [ebp - 0x214]
mov dword [ebp - 0xdc], eax
call fcn.0041ffe0
mov eax, dword [ebp - 0xdc]
mov byte [edi + 0x91], 0
test eax, eax
je 0x449a2b
mov ecx, edi
call fcn.0045c560
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
cmp eax, 7
je 0x44b411
jmp 0x4476ba
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.0045aa40
mov dword [ebp - 0xdc], eax
jmp case.0x4456b5.62
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.0045cb50
mov eax, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x44567f
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.0045c310
mov eax, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x44567f
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004819b0
mov eax, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x44567f
mov ebx, dword [ebx + 8]
mov ecx, edi
push 0
lea eax, [ebx*4 + 4]
push eax
call fcn.00420260
mov edi, eax
add esp, 8
mov dword [ebp - 0xf4], edi
test edi, edi
je 0x44b36e
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 0x449b30
mov edi, eax
mov ecx, edi
call fcn.0043cd60
mov ecx, dword [ebp - 0xf4]
add edi, 0x28
mov dword [ecx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x449b16
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.0043b510
mov ecx, dword [ebp - 0xe0]
add esp, 0xc
mov edx, edi
mov esi, eax
call fcn.0041ffe0
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.0043d180
cmp dword [ebp - 0x1b4], 0
je 0x449bcd
test esi, esi
je 0x44b36e
push fcn.0041ff30
push 1
push 0xffffffffffffffff
mov edx, esi
mov ecx, edi
call fcn.0043d400
add esp, 0xc
movzx edx, byte [ebp - 0x124]
mov ecx, edi
call fcn.0043c810
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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 0x449c22
mov ecx, esi
call fcn.0043d210
test byte [esi + 8], 0x20
je 0x44b36e
mov eax, dword [ebp - 0xe8]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.004296b0
mov edi, dword [ebp - 0xe0]
add esp, 8
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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 0x449ca2
mov ecx, dword [esi]
lea edx, [ebp - 0x208]
call fcn.00429a70
test eax, eax
je 0x449ca2
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.0043d1d0
add esp, 8
jmp 0x44ac1b
mov ecx, esi
call fcn.0043d180
jmp case.0x4456b5.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 0x449cf0
mov ecx, esi
call fcn.0043d210
test byte [esi + 8], 0x20
je 0x44b36e
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe8]
test eax, eax
je 0x449d17
push dword [ecx + edi*8 + 4]
mov edx, eax
push dword [ecx + edi*8]
mov ecx, dword [esi]
call fcn.00429ad0
add esp, 8
test eax, eax
jne 0x446ae7
mov eax, dword [ebp - 0xf4]
test eax, eax
js 0x449d30
mov eax, dword [ebp - 0xe8]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.004296b0
add esp, 8
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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 0x449d97
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + 0x14]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x449d91
cmp dword [eax + 0x1c], ecx
je 0x445763
mov eax, dword [eax + 4]
test eax, eax
jne 0x449d81
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0xb8]
cmp eax, dword [edi + 0x80]
jge 0x44b2e9
test byte [ecx + 8], 0x40
jne 0x449ebc
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.00420230
mov edi, eax
add esp, 8
test edi, edi
je 0x44b36e
mov ecx, dword [ebp - 0x10c]
call fcn.0043cd40
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 0x449eae
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 0x449ea0
mov eax, dword [ebx + 0xb8]
mov esi, dword [ebp - 0x104]
jmp 0x449ec4
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.004e7890
mov eax, dword [ebp - 0xdc]
mov ebx, edi
mov edi, dword [ebp - 0xe0]
add esp, 0xc
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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 0x449f96
mov ecx, esi
call fcn.00445540
mov esi, eax
jmp 0x449f9f
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.0043d340
mov eax, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x44567f
test dword [edi + 0x18], 0x1000000
mov eax, dword [ebx + 8]
cdq
je 0x44a014
add dword [edi + 0x200], eax
mov eax, dword [ebp - 0xdc]
adc dword [edi + 0x204], edx
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
cmp dword [ebx + 4], 0
je 0x44a03a
add dword [edi + 0x1f8], eax
mov eax, dword [ebp - 0xdc]
adc dword [edi + 0x1fc], edx
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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 0x44567f
cmp dword [ebx + 4], 0
je 0x44a09a
mov eax, dword [edi + 0x1f8]
or eax, dword [edi + 0x1fc]
jne 0x445763
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
je 0x446aed
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [eax + 0x90]
or eax, dword [ecx + 0x94]
jne 0x44a0c6
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
je 0x446af3
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
jmp 0x44567f
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x44a107
mov eax, dword [edx + 4]
test eax, eax
je 0x44a0f9
nop dword [eax + eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x44a0f0
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x44a116
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.0043cf10
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.0043cf10
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x44a148
jl 0x44a143
cmp dword [edi], eax
jae 0x44a148
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 0x44567f
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
cmp dword [esi + eax*8 + 4], 0
jg 0x446aed
jl 0x445763
cmp dword [esi + eax*8], 0
ja 0x446aed
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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 0x446aed
jg 0x445763
cmp dword [esi + ecx*8], 0
jb 0x446aed
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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 0x445f6d
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 0x446ae7
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 0x446aed
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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 0x446aed
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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.00420260
mov esi, eax
add esp, 8
test esi, esi
je 0x44b40b
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 0x44a36c
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edi
js 0x44a36c
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 0x44a350
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.0043d160
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 0x44a3ed
cmp dword [esi + 0x14], 0
je 0x44a3e2
lea eax, [ebp - 0x308]
push eax
call fcn.00442d10
add esp, 4
push eax
push 0x523478
push dword [ebp - 0xd8]
call fcn.0043def0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0x308]
call fcn.0043cd40
cmp byte [esi + 0x18], 0
je 0x44670b
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x44670b
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.0043d1d0
mov eax, dword [ebp - 0xdc]
add esp, 8
jmp case.0x4456b5.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.0043cb70
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x44a465
push esi
call fcn.00442d10
add esp, 4
push eax
push 0x523478
push dword [ebp - 0xd8]
call fcn.0043def0
add esp, 0xc
movzx edx, byte [ebp - 0x124]
mov ecx, esi
call fcn.0043c810
mov ecx, esi
call fcn.0043d2e0
test eax, eax
jne 0x44b39c
mov eax, dword [ebp - 0xdc]
jmp case.0x4456b5.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.00497a70
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xdc], ecx
cmp ecx, 5
jne 0x44a4ea
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.0043d1d0
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x44a500
jmp 0x4476a8
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 0x44a554
mov ecx, eax
call fcn.00445540
mov dword [ebp - 0xf4], eax
jmp 0x44a55d
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.0043ab20
mov ecx, eax
mov dword [ebp - 0x11c], eax
call fcn.0042e6b0
mov ecx, dword [ebp - 0x11c]
mov edi, eax
cmp esi, 0xffffffff
cmove esi, edi
call fcn.0042e6c0
mov ecx, dword [ebp - 0x11c]
test eax, eax
cmove esi, edi
call fcn.0042e2c0
cmp esi, 5
jne 0x44a5cc
mov ecx, eax
call fcn.00422a50
test eax, eax
je 0x44a646
mov ecx, dword [ebp - 0x11c]
call fcn.0042e6f0
test eax, eax
je 0x44a646
cmp esi, edi
je 0x44a648
cmp edi, 5
je 0x44a5da
cmp esi, 5
jne 0x44a648
mov eax, dword [ebp - 0xe0]
cmp byte [eax + 0x3f], 0
je 0x44b319
cmp dword [eax + 0x98], 1
jg 0x44b319
cmp edi, 5
jne 0x44a615
mov ecx, dword [ebp - 0x11c]
call fcn.0042e990
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44a646
mov edx, esi
jmp 0x44a61d
cmp edi, 4
jne 0x44a628
lea edx, [edi - 2]
mov ecx, dword [ebp - 0x11c]
call fcn.0042e5a0
mov ecx, dword [ebp - 0x12c]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.0043bb00
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x44a648
mov esi, edi
mov ecx, dword [ebp - 0x11c]
mov edx, esi
call fcn.0042e5a0
mov esi, dword [ebp - 0xf4]
mov ecx, 0xa02
mov word [esi + 8], cx
mov ecx, eax
call fcn.004708f0
mov ecx, eax
mov dword [esi + 0x10], eax
call fcn.00422a50
movzx edx, byte [ebp - 0x124]
mov ecx, esi
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], 1
call fcn.0043c810
jmp 0x4476a8
mov ecx, dword [ebp - 0xd8]
mov edx, edi
lea ecx, [ecx + 0x2c]
call fcn.00485110
mov dword [ebp - 0xdc], eax
jmp case.0x4456b5.62
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00434580
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
cmp eax, 0x65
jne 0x4476ba
mov dword [ebp - 0xdc], 0
jmp 0x446af3
cmp dword [ebx + 4], 0
jne 0x44a700
mov ecx, edi
call fcn.00442740
mov eax, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
mov ecx, dword [ebp - 0xd8]
or dword [ecx + 0x58], 8
add ebx, 0x14
jmp 0x44567f
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x1d4], al
test al, al
jne 0x44a72c
test dword [edi + 0x18], 0x4000
jne 0x44670b
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.0043b9d0
add esp, 4
mov dword [ebp - 0xdc], eax
cmp al, 6
jne case.0x4456b5.62
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
push dword [ebp - 0xd8]
call fcn.0043def0
mov eax, dword [ebp - 0xdc]
add esp, 0xc
jmp case.0x4456b5.62
mov esi, dword [ebx + 0x10]
mov ecx, edi
mov edx, esi
call fcn.00486850
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
test esi, esi
je 0x4476ba
mov edx, dword [esi + 8]
call fcn.00442790
mov eax, dword [ebp - 0xdc]
jmp case.0x4456b5.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.0043d390
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.00442d10
add esp, 4
test eax, eax
je 0x44a81b
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebx + 4]
add ecx, 0x2c
push ecx
push eax
mov ecx, edi
call fcn.004863b0
add esp, 8
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0x2c0]
call fcn.0043cd40
mov eax, dword [ebp - 0xdc]
jmp case.0x4456b5.62
inc dword [edi + 0xa4]
mov ecx, edi
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.00486680
add esp, 4
mov dword [ebp - 0xdc], eax
dec dword [edi + 0xa4]
jmp case.0x4456b5.62
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x180], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x44b37f
mov edi, dword [esi]
test edi, edi
je 0x44b379
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.00442790
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
test eax, eax
jne 0x44af59
mov eax, dword [ebp - 0x180]
push 0
push 0xffffffffffffffff
push 0
mov dword [eax], esi
mov edx, dword [ebx + 4]
call fcn.00445250
add esp, 0xc
test eax, eax
je 0x44b360
mov ecx, dword [ebp - 0x180]
mov dword [eax + 0x24], ecx
inc dword [esi + 4]
jmp 0x4476a8
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 0x44aa53
cmp esi, 0x10
jb 0x44aa35
cmp dword [0x535bb4], 2
jl 0x44aa35
movaps xmm2, xmmword [0x52cb70]
mov eax, esi
and eax, reloc.WS2_32.dll_ntohs
jns 0x44a985
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [str.____]
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 0x44a9a0
mov ebx, dword [ebp - 0xe4]
cmp ecx, esi
jge 0x44aa53
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 0x44aa48
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.00442790
cmp dword [ebp - 0xdc], 0
jne 0x44aa9e
mov eax, dword [edi + 0x28]
push esi
call eax
add esp, 4
jmp 0x44aaa4
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 0x446af3
mov eax, dword [ebp - 0xdc]
jmp 0x4476ba
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 0x44ab12
mov ecx, edi
call fcn.0043d180
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
jmp 0x44567f
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.00442790
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.0043c810
mov ecx, edi
jmp 0x4466f8
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 0x446705
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.00442790
cmp dword [ebp - 0xdc], 0
jne 0x44abff
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 0x44ac1b
jmp case.0x4456b5.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 0x44b3c5
mov ecx, dword [edi + 0x124]
test ecx, ecx
je 0x44670b
mov eax, dword [ebp - 0x158]
cmp eax, dword [ebp - 0x184]
jb 0x44670b
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 0x44b03e
mov eax, dword [ebp - 0xdc]
jmp case.0x4456b5.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.0043c810
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4476ae
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.00442790
and dword [edi + 0x58], 0xfffffff7
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
jmp case.0x4456b5.62
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0x12c], edx
test edx, edx
je 0x44b37f
mov eax, dword [edx]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x44b37f
cmp dword [eax + 0x34], 0
mov esi, dword [ebx + 8]
je 0x44670b
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 0x44ad4b
nop dword [eax]
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x44ad40
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.00442790
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x44adc2
cmp dword [ebx + 4], eax
je 0x44adc2
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 0x44ae15
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x44ae0f
mov cl, byte [ebx + 3]
cmp cl, 4
jne 0x44aded
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov dword [ebp - 0xdc], eax
add ebx, 0x14
jmp 0x44567f
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 0x4476ba
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
inc dword [ecx + 0x5c]
jmp 0x4476ba
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 0x44ae4b
mov ecx, esi
call fcn.00445540
mov esi, eax
jmp 0x44ae54
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.00432880
mov ecx, dword [ebp - 0xd8]
add ebx, 0x14
mov dword [esi], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 4], 0
jmp 0x44567f
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 0x44aeaa
mov ecx, esi
call fcn.00445540
mov esi, eax
jmp 0x44aeb3
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 0x44aed6
mov ecx, edi
call fcn.00432880
mov edx, eax
cmp edx, dword [ebx + 0xc]
cmovb edx, dword [ebx + 0xc]
mov ecx, edi
call fcn.00433670
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 0x44567f
cmp dword [edi + 0xb0], 0
je 0x44af4a
mov eax, dword [ebp - 0xd8]
test dword [eax + 0x58], 0x200
jne 0x44af4a
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x44af26
mov edx, dword [eax + 0xa8]
test edx, edx
je 0x44af4a
mov ecx, eax
call fcn.00444d80
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.0041ffe0
cmp dword [ebx + 8], 0
je 0x44670b
jmp 0x446aed
mov edi, dword [ebp - 0xe0]
jmp 0x4476ba
mov edi, eax
mov eax, dword [ebp - 0xdc]
jmp case.0x4456b5.62
mov eax, dword [ebp - 0xdc]
mov edi, esi
jmp case.0x4456b5.62
mov eax, dword [ebp - 0xdc]
mov edi, ecx
jmp case.0x4456b5.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 0x44b009
mov al, byte [ebx + 3]
test al, al
je 0x44afcf
movzx eax, al
mov eax, dword [eax*4 + 0x52696c]
test eax, eax
je 0x44afd1
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x44afd1
push ecx
push eax
push str._s_constraint_failed:__s
push edi
call fcn.0043def0
add esp, 0x10
jmp 0x44afef
xor eax, eax
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x44afe0
push ecx
push 0x523478
jmp 0x44afe6
push eax
push str._s_constraint_failed
push edi
call fcn.0043def0
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.00422230
add esp, 0x14
mov ecx, edi
call fcn.00440590
cmp eax, 5
mov eax, dword [ebp - 0xd8]
jne 0x44b028
mov edi, 5
mov dword [eax + 0x50], edi
jmp 0x44774f
cmp dword [eax + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x44774f
mov ebx, 9
mov dword [ebp - 0xdc], ebx
jmp 0x4476d1
push 0x52c134
push 0x12315
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.00422230
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 0x4476d1
push 0x52c134
push 0x12369
jmp 0x44b058
push str.cannot_open_savepoint___SQL_statements_in_progress
push dword [ebp - 0xd8]
call fcn.0043def0
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 0x4476d1
push str.cannot_release_savepoint___SQL_statements_in_progress
push dword [ebp - 0xd8]
call fcn.0043def0
add esp, 8
mov dword [ebp - 0xdc], 5
add ebx, 0x14
mov dword [ebp - 0xe4], ebx
mov ebx, 5
jmp 0x4476d1
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 0x44774f
test edx, edx
je 0x44b164
mov edx, 0x204
mov ecx, edi
call fcn.00496d20
mov esi, dword [ebp - 0xd8]
mov byte [edi + 0x3f], 1
mov ecx, edi
call fcn.00496190
cmp dword [esi + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x44774f
mov esi, dword [ebp - 0xd8]
mov edx, 1
mov ecx, esi
call fcn.00440520
mov edi, eax
test edi, edi
jne 0x44774f
mov edi, dword [ebp - 0xe0]
mov ecx, esi
mov eax, dword [ebp - 0xf4]
mov byte [edi + 0x3f], al
call fcn.00440590
cmp eax, 5
jne 0x44b147
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 0x44774f
mov ebx, 8
mov dword [ebp - 0xdc], ebx
jmp 0x44b25f
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 0x44774f
push 0x52c134
push 0x126b5
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.00422230
mov edi, dword [ebp - 0xe0]
mov ebx, 0xb
add esp, 0x10
mov dword [ebp - 0xdc], ebx
jmp 0x44b25f
add ebx, 0x14
mov dword [ebp - 0xdc], 0x204
mov dword [ebp - 0xe4], ebx
mov ebx, 0x204
jmp 0x4476d7
mov edi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xdc]
cmp byte [edi + 0x41], 0
je 0x44b282
mov ebx, 7
mov dword [ebp - 0xdc], 7
mov edx, str.unknown_error
mov ecx, ebx
call fcn.00496e70
jmp 0x44b2a9
cmp ebx, 0xc0a
je 0x4476d1
cmp ebx, 0x204
je 0x44b2a4
mov edx, str.unknown_error
mov ecx, ebx
call fcn.00496e70
jmp 0x44b2a9
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x523478
push dword [ebp - 0xd8]
call fcn.0043def0
add esp, 0xc
jmp 0x4476d1
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 0x4476d7
push str.too_many_levels_of_trigger_recursion
push dword [ebp - 0xd8]
mov dword [ebp - 0xdc], 1
call fcn.0043def0
add esp, 8
add ebx, 0x14
mov dword [ebp - 0xe4], ebx
mov ebx, 1
jmp 0x4476d1
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.0043def0
mov edi, dword [ebp - 0xe0]
add esp, 0xc
add ebx, 0x14
mov dword [ebp - 0xe4], ebx
mov ebx, 1
jmp 0x4476d1
push dword [ebp - 0x180]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
mov edi, dword [ebp - 0xe0]
jmp 0x44b40b
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov dword [ebp - 0xdc], 6
mov dword [ebp - 0xe4], ebx
mov ebx, 6
jmp 0x4476d1
push str.string_or_blob_too_big
push dword [ebp - 0xd8]
call fcn.0043def0
mov edi, dword [ebp - 0xe0]
mov ebx, 0x12
add esp, 8
mov dword [ebp - 0xdc], ebx
jmp 0x4476d1
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.00496e70
push eax
push 0x523478
push dword [ebp - 0xd8]
call fcn.0043def0
add esp, 0xc
mov ebx, 9
jmp 0x4476d1
mov edi, eax
mov ecx, dword [ebp - 0xd8]
push str.out_of_memory
push ecx
mov byte [edi + 0x41], 1
call fcn.0043def0
mov ebx, 7
add esp, 8
mov dword [ebp - 0xdc], ebx
jmp 0x4476d1