Function at 0x449d80
Capabilities:
Parse credit card information
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x294
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dl, byte [ecx + 0x3e]
mov byte [esp + 0x3b], dl
mov edx, dword [eax + 8]
push ebx
mov dword [esp + 0x10], edx
mov edx, dword [ecx + 0x20]
push esi
xor esi, esi
cmp dword [eax + 0x50], 7
push edi
mov edi, dword [eax + 4]
mov dword [esp + 0x78], edx
mov edx, dword [ecx + 0x24]
mov dword [esp + 0x48], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0xa0], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xa4], esi
mov dword [esp + 0x7c], edx
je 0x44d3e2
mov dword [eax + 0x50], esi
mov dword [eax + 0x80], esi
mov dword [eax + 0x84], esi
mov dword [eax + 0x14], esi
mov edx, dword [ecx + 0xf0]
test edx, edx
mov dword [ecx + 0x190], esi
jne 0x44d4f0
mov eax, dword [eax + 0x4c]
lea eax, [eax + eax*4]
lea edx, [edi + eax*4]
mov dword [esp + 0x1c], edx
jmp 0x449e20
cmp byte [ecx + 0x41], 0
jne 0x44d3e2
mov ebx, dword [esp + 0x1c]
mov cl, byte [ebx]
add dword [esp + 0xb4], 1
movzx eax, cl
lea edx, [eax - 1]
cmp edx, 0x9d
ja case.0x449e51.10
movzx edx, byte [edx + 0x44dd34]
jmp dword [edx*4 + 0x44db9c]
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov edx, ebx
sub edx, dword [esp + 0x48]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov word [ecx + 8], 4
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x44d971
mov ebx, dword [ebx + 4]
mov eax, dword [esp + 0x18]
lea edx, [ebx + ebx*4]
mov ecx, dword [eax + edx*8]
lea eax, [eax + edx*8]
mov edx, dword [esp + 0x48]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4]
mov word [eax + 8], 0x80
jmp 0x44d97f
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ecx, [eax + edx*8]
mov eax, dword [ebx + 0xc]
sub eax, 1
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov word [ecx + 8], 4
cmp dword [ebx + 8], 0
jne 0x44d971
jmp case.0x449e51.10
mov ebx, dword [ebx + 4]
mov edx, dword [esp + 0x18]
lea ecx, [ebx + ebx*4]
lea eax, [edx + ecx*8]
mov ecx, dword [eax]
mov edx, dword [esp + 0x48]
lea ecx, [ecx + ecx*4]
mov ecx, dword [edx + ecx*4 + 8]
lea ecx, [ecx + ecx*4]
lea edx, [edx + ecx*4 - 0x14]
mov dword [esp + 0x1c], edx
mov word [eax + 8], 0x80
jmp 0x44d983
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x48]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov esi, dword [ecx]
sub ebx, edi
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ecx + 4], edx
lea edx, [esi + esi*4]
mov dword [ecx], eax
lea eax, [edi + edx*4]
mov word [ecx + 8], 4
mov dword [esp + 0x1c], eax
jmp 0x44d983
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 8], 1
je case.0x449e51.10
mov edi, dword [ebp + 8]
mov ecx, ebx
sub ecx, dword [esp + 0x48]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp dword [ebx + 4], 0
jne 0x44d9a2
mov ecx, dword [edi + 0xa8]
test ecx, ecx
je 0x44d9a2
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x14]
add dword [edi + 0xb0], 0xffffffff
mov dword [edi + 0xa8], eax
mov eax, dword [edi + 0x5c]
add dword [edx + 0x54], eax
mov esi, ecx
mov dword [edx + 0x50], eax
call fcn.00445aa0
cmp dword [ebx + 8], 4
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
jne 0x449fe1
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
mov eax, dword [eax + edx*4 + 8]
sub eax, 1
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x18], edx
lea ecx, [ecx + eax*4]
jmp 0x44d97f
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
test word [ecx + edx*8 + 8], 0x2460
lea eax, [ecx + edx*8]
je 0x44a027
call fcn.00414ba0
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x449e51.10
mov word [eax + 8], 4
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
test word [ecx + edx*8 + 8], 0x2460
lea eax, [ecx + edx*8]
je 0x44a06c
call fcn.00414ba0
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.0x449e51.10
mov word [eax + 8], 4
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
test word [ecx + edx*8 + 8], 0x2460
lea eax, [ecx + edx*8]
je 0x44a0a3
call fcn.00414ba0
jmp 0x44a0a9
mov word [eax + 8], 4
mov eax, dword [ebx + 0x10]
mov byte [ebx], 0x19
call fcn.004062f0
mov edx, dword [esp + 0x14]
mov dword [ebx + 4], eax
cmp eax, dword [edx + 0x58]
jg 0x44a92b
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
lea eax, [eax + eax*4]
test word [edx + eax*8 + 8], 0x2460
lea eax, [edx + eax*8]
je 0x44a0e3
call fcn.00414ba0
jmp 0x44a0e9
mov word [eax + 8], 4
mov word [eax + 8], 0xa02
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x10], ecx
mov edx, dword [ebx + 4]
mov cl, byte [esp + 0x47]
mov dword [eax + 0xc], edx
mov byte [eax + 0xa], cl
cmp byte [ebx + 3], 0
je case.0x449e51.10
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
mov esi, dword [edx + ecx*8]
or esi, dword [edx + ecx*8 + 4]
je case.0x449e51.10
mov word [eax + 8], 0xa10
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
test word [ecx + edx*8 + 8], 0x2460
lea eax, [ecx + edx*8]
je 0x44a14d
call fcn.00414ba0
jmp 0x44a153
mov word [eax + 8], 4
mov esi, dword [ebx + 0xc]
sub esi, dword [ebx + 8]
mov edx, dword [ebx + 4]
neg edx
sbb edx, edx
and edx, 0x100
add edx, 1
test esi, esi
mov edi, eax
movzx eax, dx
mov dword [esp + 0x30], eax
mov word [edi + 8], ax
jle case.0x449e51.10
mov edi, edi
add edi, 0x28
mov eax, edi
call fcn.00413100
mov ax, word [esp + 0x30]
sub esi, 1
test esi, esi
mov word [edi + 8], ax
jg 0x44a180
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov cx, word [eax + 8]
and cx, 0xff7f
or cx, 1
mov word [eax + 8], cx
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
test word [ecx + edx*8 + 8], 0x2460
lea eax, [ecx + edx*8]
je 0x44a1e1
call fcn.00414ba0
jmp 0x44a1e7
mov word [eax + 8], 4
mov edx, dword [ebx + 4]
mov ebx, dword [ebx + 0x10]
mov esi, eax
push 0
push edx
xor eax, eax
mov ecx, esi
call fcn.00419700
mov al, byte [esp + 0x4f]
add esp, 8
mov byte [esi + 0xa], al
jmp 0x44d983
mov eax, dword [ebx + 4]
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0x3c]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*8 - 0x28]
mov ecx, edi
call fcn.004045f0
test eax, eax
jne 0x44a92b
mov eax, dword [ebx + 8]
mov ecx, dword [esi + 8]
lea eax, [eax + eax*4]
test word [ecx + eax*8 + 8], 0x2460
lea eax, [ecx + eax*8]
je 0x44a257
call fcn.00414ba0
push 0x800
push edi
push eax
call fcn.00414cd0
add esp, 0xc
jmp case.0x449e51.10
push 0x800
push edi
push eax
mov word [eax + 8], 4
call fcn.00414cd0
add esp, 0xc
jmp case.0x449e51.10
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], edx
lea edx, [ebx + ebx*4]
lea edi, [eax + ecx*8]
lea esi, [eax + edx*8]
mov edi, edi
mov ebx, edi
mov eax, esi
call fcn.00416420
test word [esi + 8], 0x1000
je 0x44a2b0
mov eax, esi
call fcn.00417780
test eax, eax
jne 0x44d3e2
add edi, 0x28
add esi, 0x28
sub dword [esp + 0x20], 1
jne 0x44a290
jmp 0x44d983
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + edx*8]
lea esi, [ecx + eax*8]
nop
push 0x1000
push edi
push esi
call fcn.00414cd0
add esp, 0xc
test word [esi + 8], 0x1000
je 0x44a30a
mov eax, esi
call fcn.00417780
test eax, eax
jne 0x44d3e2
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, eax
sub eax, 1
test ecx, ecx
mov dword [esp + 0x20], eax
je case.0x449e51.10
add esi, 0x28
add edi, 0x28
jmp 0x44a2e0
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ecx, [eax + edx*8]
push 0x1000
push ecx
mov ecx, dword [ebx + 8]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
push eax
call fcn.00414cd0
add esp, 0xc
jmp case.0x449e51.10
mov esi, dword [ebp + 8]
push 0
mov eax, esi
call fcn.00421b50
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x449e51.10
push 1
push esi
call fcn.00438360
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x449e51.10
mov ecx, dword [esi + 0x48]
add ecx, 2
or ecx, 1
mov dword [esi + 0x48], ecx
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea edi, [eax + edx*8]
mov dword [esi + 0x14], edi
cmp dword [ebx + 8], 0
mov dword [esp + 0x30], 0
jle 0x44a3e5
lea ecx, [ecx]
test word [edi + 8], 0x1000
je 0x44a3cb
mov eax, edi
call fcn.00417780
test eax, eax
jne 0x44d3e2
mov ebx, dword [esp + 0x1c]
mov eax, edi
call fcn.004199f0
mov eax, dword [esp + 0x30]
add eax, 1
add edi, 0x28
cmp eax, dword [ebx + 8]
mov dword [esp + 0x30], eax
jl 0x44a3b0
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x41], 0
jne 0x44d3e2
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x48]
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 1]
mov dword [esi + 0x4c], ecx
mov eax, 0x64
jmp 0x44a99b
mov eax, dword [ebx + 4]
mov edi, dword [esp + 0x18]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
lea esi, [edi + edx*8]
mov dl, byte [esi + 8]
lea ecx, [edi + ecx*8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
movzx eax, word [ecx + 8]
or dl, al
test dl, 1
mov dword [esp + 0x2c], ecx
je 0x44a45a
mov eax, edi
call fcn.00413100
jmp case.0x449e51.10
test eax, 0x4000
je 0x44a474
mov eax, ecx
call fcn.00417720
test eax, eax
jne 0x44d3e2
mov ecx, dword [esp + 0x2c]
test word [esi + 8], 0x4000
je 0x44a48f
mov eax, esi
call fcn.00417720
test eax, eax
jne 0x44d3e2
mov ecx, dword [esp + 0x2c]
test byte [ecx + 8], 0x12
jne 0x44a4ad
push 0
mov eax, ecx
call fcn.00419930
add esp, 4
test eax, eax
jne 0x44d3e2
mov ecx, dword [esp + 0x2c]
test byte [esi + 8], 0x12
jne 0x44a4cb
push 0
mov eax, esi
call fcn.00419930
add esp, 4
test eax, eax
jne 0x44d3e2
mov ecx, dword [esp + 0x2c]
mov eax, dword [esi + 0xc]
add eax, dword [ecx + 0xc]
cdq
mov ebx, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
mov ecx, edx
cdq
cmp ecx, edx
jg 0x44a92b
jl 0x44a4f0
cmp ebx, eax
ja 0x44a92b
xor ecx, ecx
cmp edi, esi
sete cl
lea eax, [ebx + 2]
push ecx
call fcn.004165d0
add esp, 4
test eax, eax
jne 0x44d3e2
mov dx, word [edi + 8]
and dx, 0xbe02
or dx, 2
cmp edi, esi
mov word [edi + 8], dx
je 0x44a534
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov edx, dword [edi + 0x10]
push eax
push ecx
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x10]
add eax, dword [esi + 0xc]
push ecx
push edx
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [edi + 0x10]
mov al, byte [esp + 0x53]
mov byte [ebx + ecx], 0
mov edx, dword [edi + 0x10]
mov byte [ebx + edx + 1], 0
add esp, 0xc
or word [edi + 8], 0x200
mov dword [edi + 0xc], ebx
mov byte [edi + 0xa], al
jmp 0x44d983
mov eax, dword [ebx + 4]
mov edi, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea esi, [edi + ecx*8]
mov eax, esi
call fcn.0040d1b0
movzx edx, ax
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, edi
mov dword [esp + 0x30], edx
call fcn.0040d1b0
movzx ecx, ax
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea edx, [eax + edx*8]
mov al, byte [edi + 8]
or al, byte [esi + 8]
mov dword [esp + 0x34], edx
test al, 1
jne 0x44a768
and cl, byte [esp + 0x30]
test cl, 4
je 0x44a608
mov edx, dword [edi]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [esp + 0x58], edx
mov edx, dword [edi + 4]
mov dword [esp + 0x5c], edx
movzx edx, byte [ebx]
add edx, 0xffffffa7
cmp edx, 3
ja case.default.0x44a5ea
jmp dword [edx*4 + 0x44ddd4]
push ecx
push eax
lea eax, [esp + 0x60]
push eax
call fcn.00405c30
add esp, 0xc
test eax, eax
je 0x44a6f4
mov edx, esi
call fcn.0040b560
mov dword [esp + 0xac], edx
mov edx, edi
mov esi, eax
call fcn.0040b560
movzx ecx, byte [ebx]
add ecx, 0xffffffa7
cmp ecx, 3
ja case.default.0x44a62e
jmp dword [ecx*4 + 0x44dde4]
push ecx
push eax
lea edx, [esp + 0x60]
call fcn.00409c60
add esp, 8
test eax, eax
jne 0x44a608
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x44ab30
push ecx
push eax
lea ecx, [esp + 0x60]
push ecx
call fcn.00409b50
add esp, 0xc
test eax, eax
jne 0x44a608
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x44ab30
mov edx, eax
or edx, ecx
je 0x44a768
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x44a6ae
cmp dword [esp + 0x58], 0
jne 0x44a6ae
cmp dword [esp + 0x5c], 0x80000000
je 0x44a608
push ecx
mov ecx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x64]
push eax
push ecx
call fcn.0046e8e0
jmp 0x44a6ec
mov edx, eax
or edx, ecx
je 0x44a768
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x44a6db
mov eax, 1
xor ecx, ecx
push ecx
mov ecx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x64]
push eax
push ecx
call fcn.0046e7e0
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x44ab30
add eax, esi
adc edx, dword [esp + 0xac]
jmp 0x44a799
sub eax, esi
sbb edx, dword [esp + 0xac]
jmp 0x44a799
mov ecx, dword [esp + 0xac]
push ecx
push esi
push edx
push eax
call fcn.0046e8a0
jmp 0x44a799
mov ecx, dword [esp + 0xac]
mov edi, esi
or edi, ecx
je 0x44a768
push ecx
push esi
push edx
push eax
call fcn.0046e8e0
jmp 0x44a799
mov edi, dword [esp + 0xac]
mov dword [esp + 0x18c], edi
mov edi, esi
or edi, dword [esp + 0xac]
mov ecx, esi
jne 0x44a776
mov eax, dword [esp + 0x34]
call fcn.00413100
jmp case.0x449e51.10
and esi, dword [esp + 0xac]
cmp esi, 0xffffffff
jne 0x44a789
lea ecx, [esi + 2]
xor esi, esi
jmp 0x44a790
mov esi, dword [esp + 0x18c]
push esi
push ecx
push edx
push eax
call fcn.0046e7e0
mov ecx, dword [esp + 0x34]
mov dword [ecx + 4], edx
mov dx, word [ecx + 8]
and dx, 0xbe04
or dx, 4
mov dword [ecx], eax
mov word [ecx + 8], dx
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
test eax, eax
je case.0x449e51.10
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
push 0
push 0
lea eax, [ecx + eax*8]
call fcn.00416550
add esp, 8
jmp case.0x449e51.10
movzx ebx, byte [ebx + 3]
mov esi, dword [esp + 0x14]
lea edx, [ebx*4 + 0x1c]
push 0
push edx
call fcn.0040f350
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x44d3e2
mov esi, dword [esp + 0x1c]
mov dword [ecx], 0
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
mov edx, esi
sub edx, dword [esp + 0x48]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp + 8]
mov byte [ecx + 0x1a], bl
mov dword [ecx + 0x10], eax
mov dword [ecx + 0xc], edx
mov byte [esi + 1], 0xec
mov dword [esi + 0x10], ecx
mov byte [esi], 0x24
mov ebx, esi
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x18]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
cmp dword [esi], eax
mov dword [esp + 0x34], eax
je 0x44a87f
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi], eax
js 0x44a87f
lea edx, [esi + ecx*4 + 0x1c]
mov eax, dword [ebx + 8]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx], eax
sub ecx, 1
sub edx, 4
test ecx, ecx
jge 0x44a868
mov eax, dword [esi]
mov cx, word [eax + 8]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x78]
and cx, 0xbe01
or cx, 1
mov word [eax + 8], cx
mov eax, dword [esp + 0x7c]
mov byte [esi + 0x19], 0
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], eax
movzx eax, byte [esi + 0x1a]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0xc]
lea edx, [esi + 0x1c]
push edx
push eax
push esi
call ecx
mov edx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
add esp, 0xc
cmp byte [esi + 0x19], 0
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
je 0x44a90e
cmp dword [esi + 0x14], 0
je 0x44a8fa
mov ecx, dword [esi]
push ecx
call fcn.0041c6f0
mov edi, dword [ebp + 8]
add esp, 4
push eax
push 0x475960
call fcn.0041f400
mov edx, dword [esi + 0x14]
add esp, 8
mov dword [esp + 0x10], edx
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp + 8]
push eax
push ecx
push edx
call fcn.0040e900
add esp, 0xc
mov eax, dword [esp + 0x34]
test byte [eax + 8], 0x12
je case.0x449e51.10
mov ecx, dword [esi]
call fcn.004045f0
test eax, eax
je case.0x449e51.10
mov edi, dword [ebp + 8]
push str.string_or_blob_too_big
call fcn.0041f400
mov dword [esp + 0x14], 0x12
add esp, 4
mov edi, dword [esp + 0x14]
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0xa0]
push eax
mov ebx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x50]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
mov ecx, ebx
mov dword [esi + 0x50], ebx
call fcn.0041f550
add esp, 0x10
call fcn.00448bf0
cmp ebx, 0xc0a
jne 0x44a996
mov byte [edi + 0x41], 1
mov eax, 1
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x78]
mov dword [ecx + 0x20], edx
mov edx, dword [esp + 0x7c]
mov dword [ecx + 0x24], edx
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0xb4]
add dword [ecx + 0x7c], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea esi, [ecx + edx*8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov cl, byte [edx + 8]
or cl, byte [esi + 8]
mov dword [esp + 0x34], edi
test cl, 1
je 0x44a9fb
mov eax, edi
call fcn.00413100
jmp case.0x449e51.10
call fcn.0040b5b0
mov edi, edx
mov edx, esi
mov dword [esp + 0x80], eax
call fcn.0040b5b0
mov esi, eax
mov al, byte [ebx]
cmp al, 0x55
jne 0x44aa26
and dword [esp + 0x80], esi
and edi, edx
jmp 0x44ab20
cmp al, 0x56
jne 0x44aa38
or dword [esp + 0x80], esi
or edi, edx
jmp 0x44ab20
mov ecx, esi
or ecx, edx
je 0x44ab20
test edx, edx
jg 0x44aa70
jl 0x44aa4c
test esi, esi
jae 0x44aa65
mov cl, 0xaf
sub cl, al
cmp edx, 0xffffffff
mov al, cl
jl 0x44aa70
jg 0x44aa5e
cmp esi, 0xffffffc0
jbe 0x44aa70
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x44aaa4
jg 0x44aa70
cmp esi, 0x40
jb 0x44aaa4
test edi, edi
jg 0x44aa96
jl 0x44aa80
cmp dword [esp + 0x80], 0
jae 0x44aa96
cmp al, 0x57
je 0x44aa96
or eax, 0xffffffff
cdq
mov dword [esp + 0x80], eax
mov edi, edx
jmp 0x44ab20
xor eax, eax
cdq
mov dword [esp + 0x80], eax
mov edi, edx
jmp 0x44ab20
cmp al, 0x57
mov eax, dword [esp + 0x80]
mov edx, edi
mov ecx, esi
jne 0x44aac8
call fcn.0046e7b0
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
jmp 0x44ab0b
call fcn.0046e990
test edi, edi
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
jg 0x44ab0b
jl 0x44aaeb
cmp dword [esp + 0x80], 0
jae 0x44ab0b
mov ecx, 0x40
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.0046e7b0
or dword [esp + 0x90], eax
or dword [esp + 0x94], edx
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x80]
mov dword [eax], ecx
mov dword [eax + 4], edi
mov dx, word [eax + 8]
and dx, 0xbe04
or dx, 4
mov word [eax + 8], dx
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.0040d3d0
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea esi, [eax + edx*8]
movzx eax, word [esi + 8]
test al, 4
jne 0x44abd9
test al, 8
jne 0x44ab8f
test al, 2
je 0x44ab96
push 1
call fcn.0040b3d0
add esp, 4
jmp 0x44ab96
mov edx, esi
call fcn.00408430
movzx eax, word [esi + 8]
test al, 4
jne 0x44abd9
cmp dword [ebx + 8], 0
jne 0x44d971
mov dword [esp + 0x10], 0x14
mov edi, dword [esp + 0x14]
cmp byte [edi + 0x41], 0
je 0x44db57
mov dword [esp + 0x10], 7
mov ecx, dword [esp + 0x10]
mov eax, str.unknown_error
call fcn.00402120
jmp 0x44db84
and eax, 0xbe04
or eax, 4
mov word [esi + 8], ax
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x18]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
lea ecx, [esi + ecx*8]
lea edx, [eax + eax*4]
movzx eax, word [ecx + 8]
mov dword [esp + 0x2c], ecx
movzx ecx, ax
lea edi, [esi + edx*8]
mov dword [esp + 0x38], ecx
movzx ecx, word [edi + 8]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
or cl, dl
test cl, 1
mov dword [esp + 0x24], edi
je 0x44ac83
mov al, byte [ebx + 3]
test al, al
jns 0x44ac52
test dl, 1
je 0x44ac48
mov eax, dword [esp + 0x34]
test al, 1
je 0x44ac48
test eax, 0x100
jne 0x44ac48
xor eax, eax
jmp 0x44ad84
mov eax, 1
jmp 0x44ad84
test al, 0x20
je 0x44ac76
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov cx, word [esi + edx*8 + 8]
lea eax, [esi + edx*8]
and cx, 0xbe01
or cx, 1
mov word [eax + 8], cx
jmp case.0x449e51.10
test al, 0x10
jne 0x44d971
jmp case.0x449e51.10
mov bl, byte [ebx + 3]
and bl, 0x47
cmp bl, 0x43
jl 0x44acbb
and al, 0xe
cmp al, 2
jne 0x44aca2
mov esi, dword [esp + 0x2c]
push 0
call fcn.0040b3d0
add esp, 4
mov dl, byte [edi + 8]
and dl, 0xe
cmp dl, 2
jne 0x44ad21
push 0
mov esi, edi
call fcn.0040b3d0
add esp, 4
jmp 0x44ad21
cmp bl, 0x42
jne 0x44ad21
test al, 2
jne 0x44acf0
test al, 0xc
je 0x44acf0
mov esi, dword [esp + 0x2c]
push 1
mov eax, esi
call fcn.00419930
mov ax, word [esi + 8]
xor ax, word [esp + 0x3c]
add esp, 4
and ax, 0x1ff
xor ax, word [esi + 8]
movzx ecx, ax
mov dword [esp + 0x38], ecx
movzx eax, word [edi + 8]
test al, 2
jne 0x44ad21
test al, 0xc
je 0x44ad21
push 1
mov eax, edi
call fcn.00419930
mov dx, word [edi + 8]
xor dx, word [esp + 0x38]
add esp, 4
and dx, 0x1ff
xor dx, word [edi + 8]
movzx eax, dx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2c]
mov esi, 0x4000
test word [eax + 8], si
je 0x44ad3d
call fcn.00417720
and dword [esp + 0x38], 0xbfff
test word [edi + 8], si
je 0x44ad52
mov eax, edi
call fcn.00417720
and dword [esp + 0x34], 0xbfff
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x41], 0
jne 0x44d3e2
mov edx, dword [esp + 0x1c]
mov edi, dword [edx + 0x10]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
call fcn.0041cb80
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
movzx ecx, byte [ebx]
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x44ad8f
jmp dword [ecx*4 + 0x44ddf4]
xor ecx, ecx
test eax, eax
sete cl
jmp 0x44adca
xor ecx, ecx
test eax, eax
setne cl
jmp 0x44adca
xor ecx, ecx
test eax, eax
setl cl
jmp 0x44adca
xor ecx, ecx
test eax, eax
setle cl
jmp 0x44adca
xor ecx, ecx
test eax, eax
setg cl
jmp 0x44adca
xor ecx, ecx
test eax, eax
setge cl
mov eax, ecx
mov ecx, dword [esp + 0x2c]
mov word [ecx + 8], dx
mov dx, word [esp + 0x34]
mov word [edi + 8], dx
test byte [ebx + 3], 0x20
je 0x44b0c2
mov ecx, dword [ebx + 8]
lea ecx, [ecx + ecx*4]
mov dx, word [esi + ecx*8 + 8]
lea ecx, [esi + ecx*8]
and dx, 0xbe04
or dx, 4
mov word [ecx + 8], dx
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x449e51.10
mov eax, dword [ebx + 0x10]
mov dword [esp + 0xa4], eax
jmp case.0x449e51.10
test byte [ebx + 3], 1
jne 0x44ae2d
mov dword [esp + 0xa4], 0
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x20], edx
mov edx, dword [ebx + 8]
xor esi, esi
test eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], edx
jle 0x44aee8
add ecx, 0x14
mov dword [esp + 0x3c], ecx
lea ebx, [ebx]
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x44ae70
mov edx, dword [eax + esi*4]
jmp 0x44ae72
mov edx, esi
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x10]
movzx ecx, byte [eax + esi]
mov eax, dword [esp + 0x28]
add eax, edx
mov dword [esp + 0x4c], ecx
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ecx, [eax + ecx*8]
mov eax, dword [esp + 0x20]
add eax, edx
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea eax, [eax + edx*8]
call fcn.0041cb80
test eax, eax
mov dword [esp + 0xa0], eax
jne 0x44aed1
add dword [esp + 0x3c], 4
add esi, 1
cmp esi, dword [esp + 0x40]
jl 0x44ae60
mov dword [esp + 0xa4], eax
jmp case.0x449e51.10
cmp dword [esp + 0x4c], 0
je 0x44aee8
mov ecx, dword [esp + 0xa0]
neg ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], 0
jmp case.0x449e51.10
mov eax, dword [esp + 0xa0]
test eax, eax
jge 0x44af0b
mov ebx, dword [ebx + 4]
jmp 0x44d974
mov eax, dword [esp + 0x48]
jne 0x44af19
mov ebx, dword [ebx + 8]
jmp 0x44d978
mov ebx, dword [ebx + 0xc]
jmp 0x44d978
mov eax, dword [ebx + 4]
mov edi, dword [esp + 0x18]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 8], 1
lea edx, [edi + edx*8]
je 0x44af3c
mov esi, 2
jmp 0x44af4e
call fcn.0040b5b0
or eax, edx
je 0x44af4c
mov esi, 1
jmp 0x44af4e
xor esi, esi
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 1
lea edx, [edi + eax*8]
je 0x44af65
mov eax, 2
jmp 0x44af77
call fcn.0040b5b0
or eax, edx
je 0x44af75
mov eax, 1
jmp 0x44af77
xor eax, eax
cmp byte [ebx], 0x48
jne 0x44af89
lea ecx, [eax + esi*2]
movzx eax, byte [esi + ecx + 0x472cb4]
jmp 0x44af94
lea edx, [eax + esi*2]
movzx eax, byte [esi + edx + 0x472cf8]
cmp eax, 2
mov ecx, dword [ebx + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
jne 0x44afb8
mov dx, word [ecx + 8]
and dx, 0xbe01
or dx, 1
mov word [ecx + 8], dx
jmp case.0x449e51.10
cdq
mov dword [ecx], eax
mov ax, word [ecx + 8]
and ax, 0xbe04
or ax, 4
mov dword [ecx + 4], edx
mov word [ecx + 8], ax
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, esi
lea edi, [ecx + edx*8]
call fcn.00413100
test byte [edi + 8], 1
jne case.0x449e51.10
mov edx, edi
mov word [esi + 8], 4
call fcn.0040b5b0
or eax, edx
jne 0x44b01b
mov eax, 1
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x449e51.10
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, esi
lea edi, [ecx + edx*8]
call fcn.00413100
test byte [edi + 8], 1
jne case.0x449e51.10
mov edx, edi
mov word [esi + 8], 4
call fcn.0040b5b0
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x449e51.10
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc0]
mov eax, dword [ebx + 4]
add eax, edx
cmp byte [eax], 0
jne 0x44d971
mov byte [eax], 1
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 8], 1
lea edx, [edx + ecx*8]
je 0x44b0a2
mov eax, dword [ebx + 0xc]
jmp 0x44b0c2
call fcn.0040b5b0
or eax, edx
je 0x44b0b2
mov eax, 1
jmp 0x44b0b4
xor eax, eax
cmp byte [ebx], 0x2e
jne 0x44b0c2
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
jne 0x44d971
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
test byte [eax + edx*8 + 8], 1
jne 0x44d971
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 8], 1
je 0x44d971
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
lea esi, [edx + ecx*8]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov edi, dword [edx + eax*4]
mov eax, dword [edi + 0x50]
mov ecx, dword [edi]
mov dword [esp + 0x34], eax
mov eax, edi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x38], ecx
call fcn.00444ff0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x44abb0
mov edx, dword [edi + 0x3c]
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 0x48]
je 0x44b290
cmp byte [edi + 0x19], 0
je 0x44b194
cmp dword [esp + 0x38], 0
jne 0x44b188
mov eax, dword [edi + 0x10]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov edx, dword [eax + 0xc]
mov dword [edi + 0x44], edx
mov dword [edi + 0x40], edx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x74], edx
mov dword [edi + 0x4c], eax
jmp 0x44b219
mov eax, esi
call fcn.00413100
jmp 0x44b547
test byte [edi + 0x1c], 4
mov esi, dword [esp + 0x38]
jne 0x44b1d5
mov eax, esi
call fcn.00408520
mov ecx, dword [esi + 0x10]
mov dword [esp + 0xe0], ecx
mov edx, dword [esi + 0x14]
mov dword [esp + 0xe4], edx
mov edx, dword [esp + 0x38]
lea esi, [esp + 0x74]
call fcn.00408500
mov dword [edi + 0x4c], eax
mov eax, dword [esp + 0xe0]
mov dword [edi + 0x40], eax
jmp 0x44b1f1
lea eax, [edi + 0x40]
push eax
call fcn.0040b610
mov edx, dword [esp + 0x3c]
add esp, 4
lea esi, [esp + 0x74]
call fcn.004084e0
mov dword [edi + 0x4c], eax
mov eax, dword [edi + 0x40]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
ja 0x44b201
mov dword [edi + 0x44], eax
jmp 0x44b204
mov dword [edi + 0x44], ecx
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x58]
ja 0x44a92b
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x4c]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
mov dword [edi + 0x3c], ecx
mov ecx, dword [edi + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x44b239
movzx eax, al
mov dword [esp + 0x64], eax
mov ecx, 1
jmp 0x44b251
lea esi, [esp + 0x64]
call fcn.00409cb0
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x4c]
movzx ecx, al
mov eax, dword [esp + 0x64]
cmp eax, 0x18003
movzx ecx, cl
mov dword [edi + 0x48], ecx
mov ecx, dword [esp + 0x34]
mov word [edi + 0x16], 0
mov dword [ecx], eax
ja 0x44b27d
cmp eax, dword [edi + 0x40]
ja 0x44b27d
cmp edx, eax
jae 0x44b29e
xor eax, eax
mov dword [edi + 0x4c], eax
mov dword [edi + 0x44], eax
jmp 0x44b29e
mov eax, 0x12369
call fcn.0041f640
mov dword [esp + 0x10], eax
jmp case.0x449e51.10
movzx edx, word [edi + 0x16]
cmp edx, dword [esp + 0x24]
jg 0x44b475
mov eax, dword [edi + 0x48]
mov ecx, dword [esp + 0x34]
cmp eax, dword [ecx]
jae 0x44b44a
mov eax, dword [edi + 0x4c]
test eax, eax
jne 0x44b33d
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], eax
mov edx, dword [edi + 0x1c]
shr edx, 2
not edx
mov eax, ecx
mov ecx, dword [eax]
and edx, 1
push edx
push ecx
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x130]
xor eax, eax
call fcn.004451e0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x449e51.10
mov edx, dword [esp + 0x138]
mov dword [esp + 0x3c], edx
jmp 0x44b341
mov dword [esp + 0x3c], eax
movzx ecx, word [edi + 0x16]
mov eax, dword [esp + 0x34]
mov edx, dword [eax + ecx*4]
mov eax, dword [eax]
mov dword [esp + 0x64], edx
mov edx, dword [edi + 0x48]
add edx, dword [esp + 0x3c]
add eax, dword [esp + 0x3c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], eax
lea eax, [edi + ecx*4 + 0x54]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x40], eax
mov al, byte [edx]
cmp al, 0x80
jae 0x44b387
movzx eax, al
add edx, 1
mov dword [esp + 0x54], eax
mov dword [esp + 0x2c], edx
jmp 0x44b3a7
mov ecx, dword [esp + 0x2c]
lea esi, [esp + 0x54]
call fcn.00409cb0
mov esi, dword [esp + 0x4c]
movzx ecx, al
add dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
mov dword [edx], eax
call fcn.00404300
mov edx, eax
mov eax, dword [esp + 0x64]
add eax, edx
cmp eax, edx
mov dword [esp + 0x64], eax
jb 0x44b43d
mov edx, dword [esp + 0x34]
add dword [esp + 0x40], 4
add ecx, 1
cmp ecx, dword [esp + 0x24]
mov dword [edx + ecx*4], eax
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
jg 0x44b3e5
cmp edx, dword [esp + 0x20]
jb 0x44b371
mov word [edi + 0x16], cx
mov ecx, edx
sub ecx, dword [esp + 0x3c]
cmp dword [edi + 0x4c], 0
mov dword [edi + 0x48], ecx
jne 0x44b416
lea eax, [esp + 0x128]
call fcn.00414da0
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x2c]
mov word [esp + 0x130], 1
mov ecx, dword [esp + 0x20]
cmp edx, ecx
jb 0x44b425
ja 0x44b42a
cmp eax, dword [edi + 0x40]
jne 0x44b42a
cmp eax, dword [edi + 0x40]
jbe 0x44b44a
mov eax, 0x123bd
call fcn.0041f640
mov dword [esp + 0x10], eax
jmp case.0x449e51.10
mov edx, dword [esp + 0x20]
add edx, 1
mov dword [esp + 0x2c], edx
jmp 0x44b3e5
movzx edx, word [edi + 0x16]
cmp edx, dword [esp + 0x24]
jg 0x44b475
cmp byte [ebx + 1], 0xf8
jne 0x44b188
mov eax, dword [ebx + 0x10]
push 0x800
push eax
push esi
call fcn.00414cd0
add esp, 0xc
jmp 0x44b547
test word [esi + 8], 0x2460
je 0x44b484
mov eax, esi
call fcn.00413100
mov eax, dword [esp + 0x24]
mov ecx, dword [edi + eax*4 + 0x54]
mov edx, dword [edi + 0x44]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x34]
cmp edx, dword [ecx + eax*4 + 4]
jb 0x44b4b7
mov ecx, dword [edi + 0x4c]
mov edx, dword [esp + 0x34]
add ecx, dword [edx + eax*4]
mov edx, dword [esp + 0x54]
mov eax, esi
call fcn.004082a0
jmp 0x44b540
mov cl, byte [ebx + 3]
test cl, 0xc0
mov eax, dword [esp + 0x54]
je 0x44b4d0
cmp eax, 0xc
jb 0x44b4cc
test al, 1
je 0x44b4d9
test cl, cl
js 0x44b4d9
call fcn.00404300
test eax, eax
jne 0x44b4fa
mov edx, dword [esp + 0x54]
mov ecx, 0xd
cmp ecx, edx
sbb ecx, ecx
not ecx
lea eax, [esp + 0xe0]
and ecx, eax
mov eax, esi
call fcn.004082a0
jmp 0x44b540
mov ecx, dword [edi + 0x1c]
shr ecx, 2
not ecx
and ecx, 1
push ecx
mov ecx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x40]
mov edx, esi
call fcn.004451e0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x449e51.10
mov edx, dword [esp + 0x54]
mov ecx, dword [esi + 0x10]
mov eax, esi
call fcn.004082a0
and word [esi + 8], 0xefff
mov dl, byte [esp + 0x47]
mov byte [esi + 0xa], dl
movzx ecx, word [esi + 8]
test ecx, 0x1000
je case.0x449e51.10
mov eax, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x28], eax
je case.0x449e51.10
movzx eax, cl
and eax, 0x12
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x30], eax
add eax, 2
cmp dword [esi + 0x18], eax
jge 0x44b5ce
push 0
mov edi, esi
call fcn.004165d0
add esp, 4
test eax, eax
jne 0x44d3e2
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x10]
push edi
push eax
push ecx
call sub.msvcrt.dll_memcpy
mov edx, dword [esi + 0x10]
mov byte [edi + edx], 0
mov eax, dword [esi + 0x10]
mov byte [eax + edi + 1], 0
mov eax, dword [esp + 0x2c]
add esp, 0xc
or eax, 0x200
mov word [esi + 8], ax
jmp case.0x449e51.10
mov edx, dword [esi + 0x14]
and ecx, 0xd
mov dword [esi + 0x10], edx
mov word [esi + 8], cx
jmp 0x44b597
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0x10]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
mov al, byte [esi]
test al, al
lea edi, [edx + ecx*8]
je case.0x449e51.10
jmp 0x44b600
mov ecx, edi
add esi, 1
call fcn.0041a8d0
mov al, byte [esi]
add edi, 0x28
test al, al
jne 0x44b600
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8 - 0x28]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 0x57]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0xc]
xor edi, edi
test esi, esi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0xbc], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], ecx
je 0x44b68f
mov al, byte [esi]
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x24]
call fcn.0041a8d0
mov al, byte [esi + 1]
add dword [esp + 0x24], 0x28
add esi, 1
test al, al
jne 0x44b677
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
push edx
mov edx, esi
call fcn.00404320
add esp, 4
mov dword [esp + 0x38], eax
mov dword [esi + 0x1c], eax
call fcn.00404300
test word [esi + 8], 0x4000
mov dword [esp + 0x20], eax
je 0x44b6f1
mov eax, edi
or eax, dword [esp + 0xbc]
je 0x44b6da
mov eax, esi
call fcn.00417720
test eax, eax
jne 0x44d3e2
mov ebx, dword [esp + 0x1c]
jmp 0x44b6f1
mov eax, dword [esi]
cdq
add dword [esp + 0x98], eax
mov eax, dword [esi]
adc dword [esp + 0x9c], edx
sub dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
cdq
add edi, eax
adc dword [esp + 0xbc], edx
cmp dword [esp + 0x38], 0x7f
ja 0x44b70d
mov eax, 1
jmp 0x44b71c
mov ecx, dword [esp + 0x38]
push 0
push ecx
call fcn.00405d10
add esp, 8
add dword [esp + 0x2c], eax
sub esi, 0x28
cmp esi, dword [esp + 0x28]
jae 0x44b693
cmp dword [esp + 0x2c], 0x7e
jle 0x44b75b
mov eax, dword [esp + 0x2c]
cdq
push edx
push eax
call fcn.00405d10
mov esi, eax
mov eax, dword [esp + 0x34]
add eax, esi
mov dword [esp + 0x34], eax
cdq
push edx
push eax
call fcn.00405d10
add esp, 0x10
cmp esi, eax
jge 0x44b760
add dword [esp + 0x2c], 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xbc]
cdq
add edi, eax
adc ecx, edx
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0x14]
mov esi, edi
add esi, dword [esp + 0x98]
mov dword [esp + 0xe8], eax
mov eax, dword [edx + 0x58]
adc ecx, dword [esp + 0x9c]
cdq
cmp ecx, edx
mov dword [esp + 0x108], edi
jg 0x44a92b
jl 0x44b7af
cmp esi, eax
ja 0x44a92b
mov eax, dword [esp + 0x34]
cmp dword [eax + 0x18], edi
jge 0x44b7f9
mov eax, dword [esp + 0x108]
mov edi, dword [esp + 0x34]
push 0
call fcn.004165d0
add esp, 4
test eax, eax
jne 0x44d3e2
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x80
mov eax, dword [edx + 0x10]
mov dword [esp + 0x1c], eax
jae 0x44b806
mov byte [eax], cl
mov eax, 1
jmp 0x44b826
mov ecx, dword [eax + 0x14]
and word [eax + 8], 0xd
mov dword [eax + 0x10], ecx
jmp 0x44b7d9
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xe8]
mov esi, dword [esp + 0x1c]
push eax
push ecx
call fcn.00409d30
mov ecx, dword [esp + 0x34]
add esp, 8
mov esi, dword [esp + 0x28]
movzx edx, al
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], esi
mov eax, dword [esi + 0x1c]
cmp eax, 0x80
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
jae 0x44b859
mov byte [ecx + edx], al
mov eax, 1
jmp 0x44b86f
mov eax, dword [esp + 0x38]
push 0
push eax
lea esi, [ecx + edx]
call fcn.00409d30
mov esi, dword [esp + 0x2c]
add esp, 8
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
movzx eax, al
add dword [esp + 0x3c], eax
lea edi, [ecx + edx]
mov ecx, dword [esp + 0x38]
mov eax, esi
call fcn.004042a0
add dword [esp + 0x20], eax
add esi, 0x28
cmp esi, dword [esp + 0x40]
mov dword [esp + 0x24], esi
jbe 0x44b839
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x34]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x98]
mov edx, ecx
or edx, dword [esp + 0x9c]
mov word [eax + 8], 0x10
je 0x44b8cb
mov dword [eax], ecx
mov word [eax + 8], 0x4010
mov byte [eax + 0xa], 1
jmp case.0x449e51.10
mov ecx, dword [ebx + 4]
test ecx, ecx
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x20], eax
jne 0x44b98e
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x9c], 0
jle 0x44b901
push str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x44b9fd
call fcn.004062f0
mov esi, dword [esp + 0x14]
mov edi, eax
lea edx, [edi + 0x21]
push 0
push edx
call fcn.0040f350
mov esi, eax
add esp, 8
test esi, esi
je case.0x449e51.10
mov ecx, dword [esp + 0x20]
add edi, 1
push edi
lea eax, [esi + 0x20]
push ecx
push eax
mov dword [esi], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp byte [eax + 0x3f], 0
je 0x44b94f
mov byte [eax + 0x3f], 0
mov byte [eax + 0x46], 1
jmp 0x44b956
add dword [eax + 0x1bc], 1
mov edx, dword [eax + 0x1b4]
mov dword [esi + 0x18], edx
mov ecx, dword [eax + 0x1c8]
mov dword [eax + 0x1b4], esi
mov dword [esi + 8], ecx
mov edx, dword [eax + 0x1cc]
mov dword [esi + 0xc], edx
mov ecx, dword [eax + 0x1d0]
mov dword [esi + 0x10], ecx
mov edx, dword [eax + 0x1d4]
mov dword [esi + 0x14], edx
jmp case.0x449e51.10
mov esi, dword [esp + 0x14]
mov edi, dword [esi + 0x1b4]
test edi, edi
mov dword [esp + 0x24], 0
je 0x44b9bf
mov eax, dword [esp + 0x20]
mov ecx, dword [edi]
call fcn.004061e0
test eax, eax
je 0x44b9e1
mov edi, dword [edi + 0x18]
add dword [esp + 0x24], 1
test edi, edi
jne 0x44b9a4
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 8]
push eax
push str.no_such_savepoint:__s
call fcn.0041f400
add esp, 8
mov dword [esp + 0x10], 1
jmp case.0x449e51.10
mov ecx, dword [esp + 0x3c]
xor edx, edx
cmp dword [esi + 0x9c], edx
mov dword [esp + 0x40], edi
jle 0x44ba15
cmp ecx, 1
jne 0x44ba15
push str.cannot_release_savepoint___SQL_statements_in_progress
mov edi, dword [ebp + 8]
call fcn.0041f400
add esp, 4
mov dword [esp + 0x10], 5
jmp case.0x449e51.10
cmp dword [edi + 0x18], edx
jne 0x44ba6a
cmp byte [esi + 0x46], 0
je 0x44ba6a
cmp ecx, 1
mov dword [esp + 0x4c], 1
jne 0x44ba6e
mov eax, dword [ebp + 8]
push ecx
call fcn.00421b50
add esp, 4
test eax, eax
jne 0x44a99b
mov edi, esi
mov esi, dword [ebp + 8]
mov byte [edi + 0x3f], 1
call fcn.00448bf0
cmp eax, 5
je 0x44da53
mov byte [edi + 0x46], 0
mov ecx, dword [esi + 0x50]
mov dword [esp + 0x10], ecx
mov esi, edi
jmp 0x44bb50
mov dword [esp + 0x4c], edx
mov eax, dword [esi + 0x1bc]
sub eax, dword [esp + 0x24]
sub eax, 1
cmp ecx, 2
mov dword [esp + 0x24], eax
jne 0x44baed
mov eax, dword [esi + 0x18]
shr eax, 1
and eax, 1
cmp dword [esi + 0x14], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edx
jle 0x44baf1
xor edx, edx
test eax, eax
sete dl
xor edi, edi
mov dword [esp + 0x30], edx
jmp 0x44bab0
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx + edi + 4]
push eax
push 0x204
push edx
call fcn.00443240
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x44db50
mov eax, dword [esp + 0x28]
add eax, 1
add edi, 0x10
cmp eax, dword [esi + 0x14]
mov dword [esp + 0x28], eax
jl 0x44bab0
xor edx, edx
jmp 0x44baf1
mov dword [esp + 0x20], edx
xor edi, edi
cmp dword [esi + 0x14], edx
jle 0x44bb35
mov ebx, dword [esp + 0x24]
xor esi, esi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
mov edx, dword [ecx + 0x10]
mov ecx, dword [edx + esi + 4]
push eax
call fcn.00437ff0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x44abb0
mov eax, dword [esp + 0x14]
add edi, 1
add esi, 0x10
cmp edi, dword [eax + 0x14]
jl 0x44bafe
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x20], 0
mov esi, dword [esp + 0x14]
je 0x44bb50
mov eax, esi
call fcn.00404030
call fcn.00415cb0
or dword [esi + 0x18], 2
mov edi, dword [esp + 0x40]
cmp dword [esi + 0x1b4], edi
je 0x44bb97
lea esp, [esp]
cmp dword [esi + 0x1d8], 0
mov eax, dword [esi + 0x1b4]
mov ecx, dword [eax + 0x18]
mov dword [esi + 0x1b4], ecx
je 0x44bb7f
call fcn.0040cda0
jmp 0x44bb88
push eax
call fcn.0040a140
add esp, 4
add dword [esi + 0x1bc], 0xffffffff
cmp dword [esi + 0x1b4], edi
jne 0x44bb60
mov eax, dword [esp + 0x3c]
cmp eax, 1
jne 0x44bbd5
mov edx, dword [edi + 0x18]
mov eax, edi
mov ecx, esi
mov dword [esi + 0x1b4], edx
call fcn.0040dcc0
cmp dword [esp + 0x4c], 0
jne case.0x449e51.10
mov eax, dword [esp + 0x14]
add dword [eax + 0x1bc], 0xffffffff
mov dword [esp + 0x10], 0
jmp case.0x449e51.10
cmp dword [esp + 0x4c], 0
mov ecx, dword [edi + 8]
mov dword [esi + 0x1c8], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0x1cc], edx
mov ecx, dword [edi + 0x10]
mov dword [esi + 0x1d0], ecx
mov edx, dword [edi + 0x14]
mov dword [esi + 0x1d4], edx
je 0x44bc09
cmp eax, 2
jne case.0x449e51.10
mov dword [esp + 0x10], 0
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
test eax, eax
mov ecx, dword [ebx + 8]
mov dword [esp + 0x30], eax
je 0x44bc44
mov edx, dword [esp + 0x14]
cmp byte [edx + 0x3f], 0
jne 0x44bc44
test ecx, ecx
jne 0x44bc44
cmp dword [edx + 0x9c], ecx
jle 0x44bc44
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x44b9fd
mov edi, dword [esp + 0x14]
movzx edx, byte [edi + 0x3f]
cmp eax, edx
jne 0x44da7c
test eax, eax
jne 0x44bc5f
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x44bc6d
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x44bc6d
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [ebp + 8]
push eax
call fcn.0041f400
add esp, 4
mov dword [esp + 0x10], 1
jmp case.0x449e51.10
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x44bc9e
mov eax, dword [esp + 0x14]
test dword [eax + 0x18], 0x2000000
jne 0x44db06
mov edx, dword [ebx + 4]
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x10]
shl edx, 4
mov eax, dword [edx + eax + 4]
test eax, eax
mov dword [esp + 0x28], eax
je 0x44bd7c
push ecx
push eax
call fcn.004402d0
add esp, 8
cmp eax, 5
mov dword [esp + 0x10], eax
je 0x44db15
test eax, eax
jne 0x44abb4
cmp dword [ebx + 8], eax
mov esi, dword [ebp + 8]
je 0x44bd54
test byte [esi + 0x58], 0x20
je 0x44bd54
cmp byte [edi + 0x3f], al
je 0x44bcf6
cmp dword [edi + 0x98], 1
jle 0x44bd54
cmp dword [esi + 0x68], 0
jne 0x44bd14
add dword [edi + 0x1c0], 1
mov eax, dword [edi + 0x1c0]
mov ecx, dword [edi + 0x1bc]
add ecx, eax
mov dword [esi + 0x68], ecx
mov eax, dword [esi + 0x68]
mov ecx, dword [esp + 0x28]
call fcn.00416710
mov edx, dword [edi + 0x1c8]
mov dword [esi + 0x90], edx
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x1cc]
mov dword [esi + 0x94], eax
mov ecx, dword [edi + 0x1d0]
mov dword [esi + 0x98], ecx
mov edx, dword [edi + 0x1d4]
mov dword [esi + 0x9c], edx
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0x38]
mov eax, dword [eax + 0x28]
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x10]
bswap eax
mov dword [esp + 0x20], eax
shl ecx, 4
mov eax, dword [ecx + edx + 0xc]
mov eax, dword [eax + 4]
jmp 0x44bd85
mov esi, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x20], eax
cmp byte [ebx + 3], 0
je case.0x449e51.10
mov ecx, dword [esp + 0x20]
cmp ecx, dword [ebx + 0xc]
jne 0x44bda1
cmp eax, dword [ebx + 0x10]
je case.0x449e51.10
mov eax, dword [esi + 0x2c]
mov ecx, edi
call fcn.0040dcc0
mov ebx, str.database_schema_has_changed
mov eax, edi
call fcn.00411fe0
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x1c]
mov dword [ebx + 0x2c], eax
mov esi, dword [edx + 4]
mov ecx, dword [edi + 0x10]
mov eax, esi
shl eax, 4
mov edx, dword [eax + ecx + 0xc]
mov eax, dword [esp + 0x20]
cmp dword [edx], eax
je 0x44bddd
call fcn.00415d00
or dword [ebx + 0x58], 8
mov dword [esp + 0x10], 0x11
jmp 0x44d983
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebx + 0xc]
shl edx, 4
mov eax, dword [edx + eax + 4]
lea esi, [esp + 0x100]
call fcn.00408490
mov eax, dword [ebx + 8]
mov edx, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
test word [eax + ecx*8 + 8], 0x2460
lea eax, [eax + ecx*8]
je 0x44be3f
call fcn.00414ba0
mov ecx, eax
mov eax, dword [esp + 0x100]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x449e51.10
mov word [eax + 8], 4
mov ecx, eax
mov eax, dword [esp + 0x100]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x449e51.10
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 4]
mov ecx, dword [esp + 0x14]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
shl edi, 4
add edi, dword [ecx + 0x10]
lea esi, [eax + edx*8]
call fcn.0040d3d0
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [esi]
call fcn.0042a8b0
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
add esp, 4
cmp eax, 1
jne 0x44bea6
mov eax, dword [esi]
mov edx, dword [edi + 0xc]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
or dword [eax + 0x18], 2
jmp 0x44beb3
cmp eax, 2
jne 0x44beb3
mov ecx, dword [edi + 0xc]
mov dl, byte [esi]
mov byte [ecx + 0x4c], dl
cmp dword [ebx + 4], 1
jne case.0x449e51.10
mov eax, dword [esp + 0x14]
call fcn.00404030
mov eax, dword [ebp + 8]
and dword [eax + 0x58], 0xfffffff7
jmp case.0x449e51.10
mov edx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov edx, dword [edx + 0x38]
mov edi, dword [edx + eax*4]
test edi, edi
je case.0x449e51.54
mov eax, dword [edi + 0x20]
cmp eax, dword [ebx + 8]
je 0x44c00c
mov edx, dword [ebp + 8]
test byte [edx + 0x58], 8
je 0x44bf04
mov dword [esp + 0x10], 0x204
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov eax, edx
shl eax, 4
add eax, dword [esi + 0x10]
xor edi, edi
cmp cl, 0x37
mov esi, dword [eax + 4]
mov dword [esp + 0x40], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x4c], esi
jne 0x44bf4b
mov ecx, dword [eax + 0xc]
mov al, byte [ecx + 0x4c]
mov ecx, dword [ebp + 8]
cmp al, byte [ecx + 0x57]
mov dword [esp + 0x28], 1
jae 0x44bf53
mov byte [ecx + 0x57], al
jmp 0x44bf53
mov dword [esp + 0x28], 0
test byte [ebx + 3], 4
je 0x44bf7f
mov eax, dword [esp + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea esi, [eax + edx*8]
call fcn.0040d3d0
mov esi, dword [esi]
cmp esi, 2
mov dword [esp + 0x20], esi
jl 0x44db3d
mov edx, dword [esp + 0x30]
mov al, byte [ebx + 1]
cmp al, 0xfa
jne 0x44bf99
mov eax, dword [ebx + 0x10]
movzx edi, word [eax + 8]
movzx ecx, word [eax + 6]
mov dword [esp + 0x40], eax
add edi, ecx
jmp 0x44bfa0
cmp al, 0xf2
jne 0x44bfa0
mov edi, dword [ebx + 0x10]
mov eax, dword [ebp + 8]
push 1
push edx
mov edx, dword [ebx + 4]
push edi
push edx
push eax
call fcn.00444ef0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x44d3e2
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
mov esi, dword [edi]
mov ebx, dword [esp + 0x28]
or dword [edi + 0x1c], 8
push ecx
push edx
mov byte [edi + 0x19], 1
mov dword [edi + 0x20], eax
call fcn.004220f0
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
add esp, 8
mov dword [edi + 8], eax
cmp byte [edx + 1], 0xfa
mov ebx, edx
setne cl
add ecx, ecx
add ecx, ecx
xor ecx, dword [edi + 0x1c]
and ecx, 4
xor dword [edi + 0x1c], ecx
mov al, byte [ebx + 3]
mov ecx, dword [edi]
and al, 3
mov byte [ecx + 0x43], al
jmp case.0x449e51.10
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
push 1
push 0xffffffffffffffff
push edx
push eax
push ecx
call fcn.00444ef0
add esp, 0x14
test eax, eax
mov dword [esp + 0x24], eax
je 0x44d3e2
or dword [eax + 0x1c], 1
mov edx, dword [esp + 0x1c]
mov byte [eax + 0x19], 1
lea esi, [eax + 4]
movzx eax, byte [edx + 3]
push 0x41e
or eax, 5
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push esi
push eax
push 0
push ecx
call fcn.00438460
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x44c305
mov esi, dword [esi]
cmp byte [esi + 8], 2
mov edi, dword [esi + 4]
mov dword [esp + 0x20], esi
je 0x44c1bf
movzx eax, word [edi + 0x14]
test al, 1
je 0x44c09f
mov ebx, 8
jmp 0x44c1e5
xor ebx, ebx
and eax, 0xfff7
cmp dword [edi + 0x2c], ebx
mov word [edi + 0x14], ax
jne 0x44c0b6
or eax, 8
mov word [edi + 0x14], ax
cmp dword [edi + 0xc], 0
jne 0x44c0cb
mov eax, edi
call fcn.0043c1a0
mov ebx, eax
test ebx, ebx
je 0x44c0b6
jmp 0x44c109
test ebx, ebx
jne 0x44c109
test byte [edi + 0x14], 1
je 0x44c0dc
mov ebx, 8
jmp 0x44c109
mov edx, dword [esi]
xor eax, eax
cmp byte [edx + 0x40], 2
sete al
push eax
mov eax, dword [edi]
push 0
call fcn.0040d520
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x44c109
push edi
call fcn.0042aa50
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x44c122
cmp byte [edi + 0x11], 0
jne 0x44c122
mov eax, dword [edi + 0xc]
test eax, eax
je 0x44c122
mov dword [edi + 0xc], 0
call fcn.00438800
cmp bl, 5
jne 0x44c167
cmp byte [edi + 0x11], 0
jne 0x44c167
mov esi, dword [edi + 4]
add esi, 0x188
je 0x44c167
mov ecx, dword [esi]
test ecx, ecx
je 0x44c167
mov eax, dword [esi + 8]
test eax, eax
jl 0x44c167
push eax
mov eax, dword [esi + 4]
push eax
call ecx
add esp, 8
test eax, eax
je 0x44c160
add dword [esi + 8], 1
mov esi, dword [esp + 0x20]
jmp 0x44c0b6
mov dword [esi + 8], 0xffffffff
test ebx, ebx
jne 0x44c1e5
mov esi, dword [esp + 0x20]
cmp byte [esi + 8], bl
jne 0x44c178
add dword [edi + 0x28], 1
mov byte [esi + 8], 2
cmp byte [edi + 0x11], 2
jae 0x44c186
mov byte [edi + 0x11], 2
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0x1c]
bswap eax
cmp dword [edi + 0x2c], eax
je 0x44c1bf
mov edx, dword [esp + 0x28]
mov esi, dword [edx + 0x48]
call fcn.00428350
mov ebx, eax
test ebx, ebx
jne 0x44c1e5
mov eax, dword [edi + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0x38]
mov esi, dword [esp + 0x20]
bswap eax
mov dword [edx + 0x1c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x1bc]
mov edi, dword [edi]
cmp eax, dword [edi + 0x60]
jle 0x44c1e3
cmp byte [edi + 6], 0
je 0x44c1e3
push eax
mov esi, edi
call fcn.00413390
add esp, 4
mov ebx, eax
jmp 0x44c1e5
xor ebx, ebx
test ebx, ebx
mov dword [esp + 0x10], ebx
jne 0x44c305
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 0x10]
test edi, edi
je 0x44c251
movzx ecx, byte [eax + 3]
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 4]
lea edx, [esp + 0xf4]
or ecx, 2
push edx
call fcn.00440f90
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x44c248
mov eax, dword [esi + 4]
push edi
mov dword [esi + 8], edi
mov esi, dword [esi]
push eax
mov eax, dword [esp + 0xfc]
mov ebx, 1
call fcn.004220f0
mov esi, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0x10], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x44c309
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
add eax, 4
mov eax, dword [eax]
mov ebx, dword [eax + 4]
cmp dword [ebx + 0x40], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], 1
jne 0x44c28b
mov edi, dword [ebx + 0x20]
call fcn.0040ef10
test eax, eax
mov dword [ebx + 0x40], eax
je 0x44c28b
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
add dword [ebx + 0x40], 4
xor edx, edx
cmp dword [ebx + 0x40], edx
jne 0x44c2a5
mov esi, dword [esp + 0x24]
or dword [esi + 0x1c], 4
mov eax, 7
mov dword [esp + 0x10], eax
jmp 0x44c309
cmp dword [ebx + 0x2c], edx
jne 0x44c2ae
mov dword [esp + 0x28], edx
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x34], edi
mov byte [esi + 0x44], 0xff
mov dword [esi + 0x48], edx
mov dword [esi], ecx
mov dword [esi + 4], ebx
mov byte [esi + 0x40], 1
mov byte [esi + 0x41], 0
mov eax, dword [ebx + 8]
cmp eax, edx
je 0x44c2e8
cmp dword [eax + 0x34], edi
jne 0x44c2e1
mov cl, 0x20
or byte [eax + 0x40], cl
or byte [esi + 0x40], cl
mov eax, dword [eax + 8]
cmp eax, edx
jne 0x44c2d4
mov eax, dword [ebx + 8]
mov dword [esi + 8], eax
mov dword [ebx + 8], esi
mov byte [esi + 0x42], 0
mov esi, dword [esp + 0x24]
xor eax, eax
or dword [esi + 0x1c], 4
mov dword [esp + 0x10], eax
jmp 0x44c309
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
xor ecx, ecx
cmp byte [edx + 3], 8
setne cl
add ecx, ecx
add ecx, ecx
add ecx, ecx
xor ecx, dword [esi + 0x1c]
and ecx, 8
xor dword [esi + 0x1c], ecx
jmp 0x44d983
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp + 8]
push 1
push 0xffffffffffffffff
push eax
push ecx
push edx
call fcn.00444ef0
add esp, 0x14
test eax, eax
je 0x44d3e2
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x10]
push eax
mov dword [eax + 8], edx
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.004109c0
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x44d983
mov edx, dword [ebx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx + edx*4]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov esi, ecx
add esi, 1
mov edi, edx
adc edi, 0
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], edi
mov eax, ecx
or eax, edx
je 0x44d971
jmp case.0x449e51.10
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
push 0
push 0xffffffffffffffff
push edx
push eax
push ecx
call fcn.00444ef0
add esp, 0x14
test eax, eax
je 0x44d3e2
mov edx, dword [esp + 0x1c]
mov byte [eax + 0x19], 1
mov ecx, dword [edx + 8]
or dword [eax + 0x1c], 4
mov dword [eax + 0x10], ecx
jmp 0x44d983
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x38]
mov edx, dword [ebx + 4]
mov esi, dword [eax + edx*4]
mov eax, edi
call fcn.00444b30
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov dword [edx + ecx*4], 0
jmp case.0x449e51.10
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 4]
mov edx, dword [edx + 0x38]
mov edi, dword [edx + ecx*4]
test byte [edi + 0x1c], 4
mov dword [esp + 0x38], eax
mov byte [edi + 0x19], 0
je 0x44c4cf
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
mov dl, byte [ecx + eax*8 + 8]
lea esi, [ecx + eax*8]
and dl, 0xe
cmp dl, 2
jne 0x44c43d
push 0
call fcn.0040b3d0
add esp, 4
mov edx, esi
call fcn.0040b5b0
movzx ecx, word [esi + 8]
test cl, 4
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], edx
jne 0x44c497
test cl, 8
je 0x44d971
mov ecx, dword [esi]
mov esi, dword [esi + 4]
cmp esi, edx
jg 0x44c48b
jl 0x44c473
cmp ecx, eax
jae 0x44c481
test byte [esp + 0x38], 1
jne 0x44c497
sub dword [esp + 0x38], 1
jmp 0x44c497
cmp esi, edx
jl 0x44c497
jg 0x44c48b
cmp ecx, eax
jbe 0x44c497
test byte [esp + 0x38], 1
je 0x44c497
add dword [esp + 0x38], 1
lea ecx, [esp + 0x50]
push ecx
xor esi, esi
push esi
push edx
mov edx, dword [edi]
push eax
push esi
push edx
call fcn.004426d0
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
add esp, 0x18
cmp eax, esi
mov dword [esp + 0x10], eax
mov dword [edi + 0x30], ecx
mov dword [edi + 0x34], edx
jne 0x44abb0
jmp 0x44c545
mov ecx, dword [edi + 8]
mov dx, word [ebx + 0x10]
add eax, 0xffffffff
test al, 1
sete al
mov dword [esp + 0x1a4], ecx
mov word [esp + 0x1a8], dx
mov edx, dword [esp + 0x18]
lea eax, [eax + eax - 1]
mov byte [esp + 0x1aa], al
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov dword [esp + 0x1ac], eax
test word [eax + 8], 0x4000
je 0x44c519
call fcn.00417720
mov edx, dword [edi]
lea eax, [esp + 0x50]
push eax
push 0
push 0
push 0
lea ecx, [esp + 0x1b4]
push ecx
push edx
call fcn.004426d0
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x44abb0
xor esi, esi
mov ecx, dword [esp + 0x38]
cmp ecx, 0x41
mov byte [edi + 0x1a], 0
mov dword [edi + 0x3c], esi
mov eax, dword [esp + 0x50]
jl 0x44c580
cmp eax, esi
jl 0x44c56d
jne 0x44c564
cmp ecx, 0x42
je 0x44c56d
mov dword [esp + 0x50], esi
jmp case.0x449e51.10
lea eax, [esp + 0x50]
mov dword [esp + 0x50], esi
mov ecx, dword [edi]
push eax
push ecx
call fcn.00444e30
jmp 0x44c5ad
cmp eax, esi
jg 0x44c59c
jne 0x44c58b
cmp ecx, 0x3f
je 0x44c59c
mov edx, dword [edi]
xor eax, eax
cmp byte [edx + 0x42], 1
setne al
mov dword [esp + 0x50], eax
jmp 0x44c5bc
lea ecx, [esp + 0x50]
mov dword [esp + 0x50], esi
mov edx, dword [edi]
push ecx
push edx
call fcn.00444dd0
add esp, 8
cmp eax, esi
mov dword [esp + 0x10], eax
jne 0x44abb0
cmp dword [esp + 0x50], esi
jne 0x44d971
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov esi, dword [edx + eax*4]
mov ecx, dword [esp + 0x18]
mov byte [esi + 0x19], 0
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
call fcn.0040b5b0
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
jmp case.0x449e51.10
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
mov esi, dword [ecx + edx*4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
xor edi, edi
cmp dword [ebx + 0x10], edi
lea eax, [eax + edx*8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], edi
jle 0x44c688
mov ecx, dword [esi + 8]
mov dword [esp + 0x154], ecx
mov cx, word [ebx + 0x10]
cmp cx, di
mov word [esp + 0x158], cx
mov dword [esp + 0x15c], eax
jbe 0x44c67f
xor eax, eax
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x15c]
add eax, edx
test word [eax + 8], 0x4000
je 0x44c66a
call fcn.00417720
mov cx, word [esp + 0x158]
mov eax, dword [esp + 0x28]
movzx edx, cx
add edi, 1
add eax, 0x28
cmp edi, edx
mov dword [esp + 0x28], eax
jl 0x44c64c
lea edi, [esp + 0x154]
jmp 0x44c6db
mov edi, dword [esi + 8]
push 0xbf
lea ebx, [esp + 0x50]
lea edx, [esp + 0x1e4]
call fcn.00410cf0
mov edi, eax
add esp, 4
test edi, edi
je 0x44d3e2
mov eax, dword [esp + 0x24]
test word [eax + 8], 0x4000
je 0x44c6be
call fcn.00417720
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [esi + 8]
push edi
push ecx
push edx
push eax
call fcn.0040b450
mov ebx, dword [esp + 0x2c]
add esp, 0x10
xor ecx, ecx
mov byte [edi + 6], 0
cmp byte [ebx], 0x44
mov dword [esp + 0x28], ecx
jne 0x44c713
cmp word [edi + 4], cx
jbe 0x44c713
mov eax, dword [edi + 8]
add eax, 8
test byte [eax], 1
jne 0x44c70b
movzx edx, word [edi + 4]
add ecx, 1
add eax, 0x28
cmp ecx, edx
jl 0x44c6f6
jmp 0x44c713
mov dword [esp + 0x28], 1
mov ecx, dword [esi]
lea eax, [esp + 0xdc]
push eax
push 0
push 0
push 0
push edi
push ecx
call fcn.004426d0
mov ecx, dword [esp + 0x2c]
mov edi, eax
mov eax, dword [esp + 0x64]
add esp, 0x18
mov dword [esp + 0x10], edi
call fcn.0040dcc0
test edi, edi
jne case.0x449e51.10
mov ecx, dword [esp + 0xdc]
xor eax, eax
test ecx, ecx
sete al
mov dl, 1
sub dl, al
mov dword [esi + 0xc], ecx
mov byte [esi + 0x19], dl
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], edi
cmp byte [ebx], 0x46
jne 0x44c779
test eax, eax
jne 0x44d971
jmp case.0x449e51.10
cmp dword [esp + 0x28], 0
jne 0x44d971
test eax, eax
je 0x44d971
jmp case.0x449e51.10
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [ebx + 4]
mov esi, dword [edx + eax*4]
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x18]
mov ecx, dword [esi]
lea eax, [eax + eax*4]
mov edi, dword [edx + eax*8]
mov eax, dword [edx + eax*8 + 4]
lea edx, [esp + 0x28]
push edx
push 0
push eax
push edi
push 0
push ecx
mov dword [esp + 0x40], 0
mov dword [esp + 0x184], eax
call fcn.004426d0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x184]
mov dword [esi + 0x34], eax
mov eax, dword [esp + 0x40]
add esp, 0x18
test eax, eax
mov dword [esi + 0x30], edi
mov byte [esi + 0x19], 0
mov dword [esi + 0x3c], 0
mov byte [esi + 0x1a], 0
mov dword [esi + 0xc], eax
jne 0x44d971
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
mov esi, dword [ebp + 8]
mov edx, dword [esi + 8]
lea ecx, [eax + eax*4]
test word [edx + ecx*8 + 8], 0x2460
lea eax, [edx + ecx*8]
je 0x44c826
call fcn.00414ba0
jmp 0x44c82c
mov word [eax + 8], 4
mov edx, dword [esi + 0x38]
mov ecx, dword [ebx + 4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ecx + 0x28]
mov dword [eax], edx
mov ecx, dword [ecx + 0x2c]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + edx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
mov edx, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
xor esi, esi
xor edi, edi
test word [eax + ecx*8 + 8], 0x2460
lea eax, [eax + ecx*8]
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x3c], esi
je 0x44c885
call fcn.00414ba0
jmp 0x44c88b
mov word [eax + 8], 4
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x34], eax
mov eax, dword [edx + 0x38]
mov eax, dword [eax + ecx*4]
test byte [eax + 0x1c], 2
mov dword [esp + 0x24], eax
jne 0x44c919
lea ecx, [esp + 0x3c]
mov edx, eax
mov eax, dword [edx]
push ecx
call fcn.00442b70
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x44abb0
cmp dword [esp + 0x3c], eax
je 0x44c8cf
lea edi, [eax + 1]
xor esi, esi
jmp 0x44c911
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
mov eax, esi
call fcn.00408520
mov edi, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
cmp esi, 0x7fffffff
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x10], 0
jl 0x44c90b
jg 0x44c901
cmp edi, 0xffffffff
jb 0x44c90b
mov eax, dword [esp + 0x24]
or dword [eax + 0x1c], 2
jmp 0x44c919
add edi, 1
adc esi, 0
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], edi
mov ecx, dword [esp + 0x24]
test byte [ecx + 0x1c], 2
je 0x44c9a5
mov dword [esp + 0x28], 0
nop
lea eax, [esp + 0x68]
mov ecx, 8
call fcn.00409fc0
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
lea edx, [esp + 0x3c]
push edx
and esi, 0x3fffffff
add edi, 1
push 0
adc esi, 0
push esi
push edi
push 0
push ecx
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], esi
call fcn.004426d0
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x44c9a5
cmp dword [esp + 0x3c], eax
jne 0x44c9a5
mov eax, dword [esp + 0x28]
add eax, 1
cmp eax, 0x64
mov dword [esp + 0x28], eax
jl 0x44c930
mov dword [esp + 0x10], 0xd
jmp 0x44abb0
mov eax, dword [esp + 0x24]
mov byte [eax + 0x1a], 0
mov dword [eax + 0x3c], 0
mov eax, dword [esp + 0x34]
mov dword [eax], edi
mov dword [eax + 4], esi
jmp case.0x449e51.10
cmp cl, 0x54
mov eax, dword [ebx + 8]
mov esi, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea edx, [eax + edx*8]
mov dword [esp + 0x20], edx
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0x38]
mov esi, dword [edi + esi*4]
jne 0x44c9fa
mov ecx, dword [ebx + 0xc]
lea ecx, [ecx + ecx*4]
mov edi, dword [eax + ecx*8]
mov ecx, dword [eax + ecx*8 + 4]
mov dword [esp + 0xc4], ecx
jmp 0x44ca0c
mov eax, dword [ebx + 0xc]
cdq
mov dword [esp + 0xc4], edx
mov ecx, edx
mov edx, dword [ebp + 8]
mov edi, eax
test byte [ebx + 3], 1
je 0x44ca16
add dword [edx + 0x5c], 1
test byte [ebx + 3], 2
je 0x44ca2e
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], ecx
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], ecx
mov eax, dword [esp + 0x20]
movzx ecx, word [eax + 8]
test cl, 1
je 0x44ca43
xor edx, edx
mov dword [eax + 0x10], edx
mov dword [eax + 0xc], edx
mov al, byte [ebx + 3]
test al, 0x10
je 0x44ca4f
mov edx, dword [esi + 0xc]
jmp 0x44ca51
xor edx, edx
test ecx, 0x4000
je 0x44ca61
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx]
jmp 0x44ca63
xor ecx, ecx
push edx
shr eax, 3
and eax, 1
push eax
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
push ecx
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esi]
push eax
push ecx
push edi
push 0
push edx
call fcn.004435a0
add esp, 0x24
test eax, eax
mov dword [esp + 0x10], eax
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
jne case.0x449e51.10
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je case.0x449e51.10
mov eax, dword [ebx + 0x10]
test eax, eax
je case.0x449e51.10
mov edx, dword [esp + 0xc4]
push edx
movsx edx, byte [esi + 0x18]
push edi
push eax
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0xd0]
shl edx, 4
mov edx, dword [edx + esi]
push edx
mov dl, byte [ebx + 3]
and dl, 4
neg dl
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push eax
call ecx
add esp, 0x18
jmp case.0x449e51.10
mov edi, dword [ebp + 8]
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
mov eax, dword [esi]
call fcn.00445250
test eax, eax
mov dword [esp + 0x10], eax
mov dword [esi + 0x3c], 0
jne 0x44cb68
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xd4]
test eax, eax
mov dword [esp + 0x30], eax
je 0x44cb68
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x44cb68
test byte [esi + 0x1c], 4
je 0x44cb68
mov edx, dword [esi + 0x34]
push edx
mov edx, dword [esi + 0x30]
push edx
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xd0]
push eax
movsx eax, byte [esi + 0x18]
shl eax, 4
mov eax, dword [eax + edx]
push eax
push 9
push ecx
call dword [esp + 0x48]
add esp, 0x18
test byte [ebx + 8], 1
je case.0x449e51.10
add dword [edi + 0x5c], 1
jmp case.0x449e51.10
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
mov eax, dword [esp + 0x14]
add dword [eax + 0x54], edx
mov dword [eax + 0x50], edx
mov dword [ecx + 0x5c], 0
jmp case.0x449e51.10
mov eax, dword [ebp + 8]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx + edx*4]
mov ecx, dword [ebx + 0xc]
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x18]
lea ecx, [ecx + edx*8]
mov edx, dword [ebx + 0x10]
lea esi, [esp + 0x24]
push esi
push edx
push ecx
mov dword [esp + 0x30], 0
call fcn.00427910
add esp, 0xc
cmp dword [esp + 0x24], 0
mov dword [esp + 0x10], eax
jne 0x44d971
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
mov esi, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ecx, [eax + edx*8]
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + edx*4]
call fcn.00418f30
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi + 0x38]
mov dword [esp + 0x10], eax
mov eax, dword [edx + ecx*4]
mov dword [eax + 0x3c], 0
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
lea esi, [edx + ecx*8]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov edi, dword [eax]
test byte [eax + 0x1c], 4
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], edi
mov eax, edi
jne 0x44cc6d
call fcn.00408520
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
mov ecx, dword [edi + 0x10]
mov edi, dword [edi + 0x14]
cdq
cmp edi, edx
jg 0x44a92b
jl 0x44cc65
cmp ecx, eax
ja 0x44a92b
mov eax, ecx
mov dword [esp + 0x20], eax
jmp 0x44cc86
call fcn.00408520
mov eax, dword [edi + 0x1c]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x58]
mov dword [esp + 0x20], eax
ja 0x44a92b
cmp eax, 0x20
ja 0x44cc90
mov eax, 0x20
cmp dword [esi + 0x18], eax
jge 0x44ccf5
push 0
mov edi, esi
call fcn.004165d0
add esp, 4
test eax, eax
jne 0x44d3e2
mov ebx, dword [esp + 0x1c]
mov cx, word [esi + 8]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
and cx, 0xbe10
or cx, 0x10
mov dword [esi + 0xc], eax
mov word [esi + 8], cx
test byte [edx + 0x1c], 4
jne 0x44cd02
mov eax, dword [esi + 0x10]
mov edi, dword [esp + 0x28]
push 0
push eax
mov eax, dword [esp + 0x28]
push eax
push 0
call fcn.0043ff30
mov dword [esp + 0x20], eax
add esp, 0x10
mov byte [esi + 0xa], 1
jmp case.0x449e51.10
mov edx, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], edx
jmp 0x44ccad
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x28]
push ecx
push eax
push 0
push edx
call fcn.00443a40
mov dword [esp + 0x20], eax
add esp, 0x10
mov byte [esi + 0xa], 1
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 8]
lea eax, [eax + eax*4]
test word [ecx + eax*8 + 8], 0x2460
lea eax, [ecx + eax*8]
je 0x44cd42
call fcn.00414ba0
jmp 0x44cd48
mov word [eax + 8], 4
mov edx, dword [ebx + 4]
mov edi, eax
mov eax, dword [esi + 0x38]
mov esi, dword [eax + edx*4]
cmp byte [esi + 0x19], 0
je 0x44cd64
mov word [edi + 8], 1
jmp case.0x449e51.10
cmp byte [esi + 0x1a], 0
je 0x44cd7a
mov eax, dword [esi + 0x30]
mov esi, dword [esi + 0x34]
mov dword [edi], eax
mov dword [edi + 4], esi
jmp case.0x449e51.10
mov eax, esi
call fcn.00445030
test eax, eax
mov dword [esp + 0x10], eax
jne 0x44abb0
cmp byte [esi + 0x19], al
je 0x44cd9d
mov word [edi + 8], 1
jmp case.0x449e51.10
mov esi, dword [esi]
mov eax, esi
call fcn.00408520
mov eax, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov dword [esp + 0x10], 0
mov dword [edi], eax
mov dword [edi + 4], esi
jmp case.0x449e51.10
mov ecx, dword [ebx + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov eax, dword [eax + ecx*4]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], 0
mov eax, dword [eax]
test eax, eax
je case.0x449e51.10
mov esi, eax
call fcn.0040b650
jmp case.0x449e51.10
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi]
lea ecx, [esp + 0x38]
xor edi, edi
push ecx
mov dword [esp + 0x3c], edi
call fcn.00442b70
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov byte [esi + 0x19], al
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], edi
mov edx, dword [ebx + 0xc]
add esp, 4
mov dword [esi + 0xc], edx
cmp dword [ebx + 8], edi
jle case.0x449e51.10
cmp eax, edi
jne 0x44d971
jmp case.0x449e51.10
mov eax, dword [ebp + 8]
add dword [eax + 0x74], 1
jmp 0x44ce46
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + 0x38]
mov esi, dword [edx + ecx*4]
cmp dword [esi + 0x38], 0
mov dword [esp + 0x20], 1
je 0x44ce6e
lea edi, [esp + 0x20]
mov eax, esi
call fcn.00437e10
mov dword [esp + 0x10], eax
jmp 0x44ce89
mov eax, dword [esi]
lea ebx, [esp + 0x20]
call fcn.00442bd0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
xor eax, eax
mov byte [esi + 0x1a], al
mov dword [esi + 0x3c], eax
mov eax, dword [esp + 0x20]
test eax, eax
mov byte [esi + 0x19], al
jne 0x44d971
jmp case.0x449e51.10
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + 0x38]
mov esi, dword [edx + eax*4]
mov eax, dword [esp + 0x14]
push eax
lea edi, [esp + 0x90]
mov eax, esi
mov dword [esp + 0x90], 0
call fcn.004170f0
add esp, 4
jmp 0x44cf08
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
cmp dword [eax + ecx*4], 0
je case.0x449e51.10
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x8c], ecx
mov eax, dword [esi]
mov ecx, dword [ebx + 0x10]
lea edx, [esp + 0x8c]
push edx
push eax
call ecx
add esp, 8
mov dword [esi + 0x3c], 0
cmp dword [esp + 0x8c], 0
mov dword [esp + 0x10], eax
jne 0x44cf36
mov eax, dword [ebp + 8]
mov byte [esi + 0x19], 0
movzx edx, byte [ebx + 3]
add dword [eax + edx*4 + 0x6c], 1
lea eax, [eax + edx*4 + 0x6c]
jmp case.0x449e51.14
mov byte [esi + 0x19], 1
jmp 0x44d4de
test byte [ebx + 3], 1
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 4]
mov eax, dword [ecx + 0x38]
mov edi, dword [eax + edx*4]
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea esi, [eax + edx*8]
je 0x44cf62
add dword [ecx + 0x5c], 1
test word [esi + 8], 0x4000
je 0x44cf7d
mov eax, esi
call fcn.00417720
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x449e51.10
cmp byte [ebx], 0x6e
jne 0x44cf96
push esi
mov eax, edi
call fcn.00437e60
add esp, 4
mov dword [esp + 0x10], eax
jmp case.0x449e51.10
test byte [ebx + 3], 0x10
mov eax, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
je 0x44cfa7
mov ecx, dword [edi + 0xc]
jmp 0x44cfa9
xor ecx, ecx
push ecx
mov ecx, dword [ebx + 0xc]
push ecx
push 0
push 0
cdq
push 0x46fb2c
push edx
mov edx, dword [edi]
push eax
push esi
push edx
call fcn.004435a0
add esp, 0x24
mov dword [esp + 0x10], eax
mov dword [edi + 0x3c], 0
jmp case.0x449e51.10
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [ebx + 4]
mov esi, dword [edx + eax*4]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov cx, word [ebx + 0xc]
mov dword [esp + 0x190], eax
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov word [esp + 0x194], cx
lea ecx, [eax + edx*8]
lea edx, [esp + 0x104]
push edx
push 0
push 0
push 0
lea eax, [esp + 0x1a0]
push eax
push edi
mov byte [esp + 0x1ae], 0
mov dword [esp + 0x1b0], ecx
call fcn.004426d0
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x44d051
cmp dword [esp + 0x104], eax
jne 0x44d051
mov eax, edi
call fcn.00445250
mov dword [esp + 0x10], eax
mov dword [esi + 0x3c], 0
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
mov esi, dword [ebp + 8]
mov edx, dword [esi + 8]
lea ecx, [eax + eax*4]
test word [edx + ecx*8 + 8], 0x2460
lea eax, [edx + ecx*8]
je 0x44d07c
call fcn.00414ba0
jmp 0x44d082
mov word [eax + 8], 4
mov ecx, dword [esi + 0x38]
mov edi, eax
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
mov edx, dword [esi]
mov eax, esi
mov dword [esp + 0x30], edx
mov word [edi + 8], 1
call fcn.00445030
test eax, eax
mov dword [esp + 0x10], eax
jne 0x44abb0
cmp byte [esi + 0x19], al
jne case.0x449e51.10
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xc8]
push eax
mov eax, dword [esp + 0x34]
xor esi, esi
push ecx
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], esi
call fcn.00445950
add esp, 8
cmp eax, esi
mov dword [esp + 0x10], eax
jne 0x44abb0
mov edx, dword [esp + 0xc8]
mov eax, dword [esp + 0xcc]
mov dword [edi], edx
mov dword [edi + 4], eax
mov word [edi + 8], 4
jmp case.0x449e51.10
mov edx, dword [ebx + 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 8]
cmp cl, 0x74
sbb cl, cl
mov dword [esp + 0x174], edx
mov dx, word [ebx + 0x10]
mov byte [esp + 0x17a], cl
mov ecx, dword [ebx + 0xc]
mov word [esp + 0x178], dx
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x18]
lea edx, [ecx + edx*8]
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x180], edx
lea edx, [esp + 0x178]
push edx
push ecx
mov dword [esp + 0x4c], 0
call fcn.00445840
add esp, 0xc
test byte [ebx], 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
jne 0x44d17d
neg eax
jmp 0x44d180
add eax, 1
test eax, eax
jg 0x44d971
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
mov edi, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [edi + 8]
test word [eax + edx*8 + 8], 0x2460
lea eax, [eax + edx*8]
je 0x44d1ac
call fcn.00414ba0
jmp 0x44d1b2
mov word [eax + 8], 4
mov esi, eax
mov eax, dword [esp + 0x14]
mov word [esi + 8], 1
mov ecx, dword [eax + 0xa4]
add ecx, 1
cmp dword [eax + 0x98], ecx
jle 0x44d1e0
mov dword [esp + 0x10], 6
mov byte [edi + 0x56], 2
jmp case.0x449e51.10
mov edx, dword [ebx + 0xc]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebx + 4]
shl edx, 4
mov eax, dword [edx + eax + 4]
lea edx, [esp + 0x2c]
push edx
push ecx
push eax
mov dword [esp + 0x38], 0
call fcn.00444ce0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
cdq
add esp, 0xc
mov word [esi + 8], 4
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x449e51.10
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
neg eax
sbb eax, eax
lea ecx, [esp + 0x34]
and eax, ecx
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebx + 4]
shl edx, 4
mov dword [esp + 0x38], 0
mov esi, dword [edx + ecx + 4]
call fcn.00443530
add esp, 4
cmp dword [ebx + 0xc], 0
mov dword [esp + 0x10], eax
je case.0x449e51.10
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x34]
add dword [ecx + 0x5c], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle case.0x449e51.10
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x18]
lea ecx, [ecx + edx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x449e51.10
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ebx + 4]
mov eax, dword [ecx + edx*4]
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x44d2b0
mov edx, dword [esp + 0x14]
push ecx
push edx
call fcn.00412e90
add esp, 8
jmp case.0x449e51.10
mov ecx, dword [eax]
call fcn.00444db0
mov dword [esp + 0x10], eax
jmp case.0x449e51.10
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
lea eax, [eax + eax*4]
test word [edx + eax*8 + 8], 0x2460
lea eax, [edx + eax*8]
je 0x44d2df
call fcn.00414ba0
jmp 0x44d2e5
mov word [eax + 8], 4
mov ecx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
xor ecx, ecx
cmp byte [ebx], 0x7a
mov eax, dword [eax + 4]
setne cl
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x34], 0
add ecx, 1
call fcn.00440f90
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
cdq
add esp, 4
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x14]
mov edx, dword [ebx + 0x10]
add ecx, 0x2c
push edx
mov dword [esp + 0x124], eax
mov dword [esp + 0x120], ecx
mov ecx, dword [esi + 0x10]
shl eax, 4
mov dword [esp + 0x11c], esi
mov edx, dword [eax + ecx]
push str.sqlite_master
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.0041f570
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x44d37c
mov dword [esp + 0x10], 7
jmp 0x44d3d2
push 0
lea eax, [esp + 0x11c]
push eax
push fcn.00449bf0
push edi
push esi
mov byte [esi + 0x91], 1
mov dword [esp + 0x138], 0
call fcn.0044e090
mov ebx, eax
add esp, 0x14
test ebx, ebx
mov dword [esp + 0x10], ebx
jne 0x44d3be
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x10], ecx
mov ebx, ecx
mov eax, edi
mov ecx, esi
call fcn.0040dcc0
test ebx, ebx
mov byte [esi + 0x91], 0
je 0x44d3d7
call fcn.00415cb0
cmp dword [esp + 0x10], 7
jne 0x44d983
mov edx, dword [esp + 0x14]
mov edi, dword [ebp + 8]
push str.out_of_memory
mov byte [edx + 0x41], 1
call fcn.0041f400
mov dword [esp + 0x14], 7
jmp 0x44a940
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edi, dword [esp + 0x14]
push edx
call fcn.00415c40
add esp, 4
jmp case.0x449e51.10
mov eax, dword [ebx + 0x10]
push eax
mov eax, dword [ebx + 4]
mov ebx, dword [esp + 0x18]
call fcn.004125b0
add esp, 4
jmp 0x44d983
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
test byte [ecx + edx*8 + 8], 0x20
mov eax, dword [ebx + 8]
lea esi, [ecx + edx*8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
jne 0x44d462
mov eax, esi
call fcn.00416460
test byte [esi + 8], 0x20
je 0x44d3e2
mov ebx, dword [esp + 0x1c]
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov eax, dword [esi]
push ecx
push edx
call fcn.00413af0
add esp, 8
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea edi, [ecx + eax*8]
je 0x44d4c5
mov eax, dword [edi]
lea esi, [esp + 0x110]
call fcn.00411600
test eax, eax
je 0x44d4c5
mov edx, dword [esp + 0x114]
mov ebx, dword [ebx + 0xc]
mov eax, dword [esp + 0x110]
push edx
mov edx, dword [esp + 0x1c]
lea ecx, [ebx + ebx*4]
push eax
lea eax, [edx + ecx*8]
call fcn.00416550
add esp, 8
jmp 0x44d4de
mov eax, edi
call fcn.00413100
mov ebx, dword [ebx + 8]
mov ecx, dword [esp + 0x48]
lea eax, [ebx + ebx*4]
lea edx, [ecx + eax*4 - 0x14]
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xf0]
test ecx, ecx
je 0x44d983
mov ecx, dword [ebp + 8]
mov eax, 9
mov dword [ecx + 0x50], eax
mov ecx, dword [str.interrupted]
test ecx, ecx
mov dword [esp + 0x10], eax
mov eax, str.unknown_error
je 0x44db84
mov eax, ecx
jmp 0x44db84
mov eax, dword [ebx + 4]
mov edi, dword [esp + 0x18]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 8], 0x20
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [edi + edx*8]
lea edi, [edi + eax*8]
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x30], eax
jne 0x44d556
mov eax, esi
call fcn.00416460
test byte [esi + 8], 0x20
je 0x44d3e2
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44d580
mov ecx, dword [edi + 4]
mov edx, dword [edi]
push ecx
push edx
push eax
mov eax, dword [esi]
call fcn.004139e0
add esp, 0xc
test eax, eax
jne 0x44d971
mov eax, dword [esp + 0x30]
test eax, eax
jl case.0x449e51.10
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push eax
mov eax, dword [esi]
push ecx
call fcn.00413af0
add esp, 8
jmp case.0x449e51.10
mov ecx, dword [esp + 0x14]
test dword [ecx + 0x18], 0x1000000
mov eax, dword [ebx + 8]
cdq
je 0x44d5b8
add dword [ecx + 0x1d0], eax
adc dword [ecx + 0x1d4], edx
jmp case.0x449e51.10
cmp dword [ebx + 4], 0
je 0x44d5cf
add dword [ecx + 0x1c8], eax
adc dword [ecx + 0x1cc], edx
jmp case.0x449e51.10
mov ecx, dword [ebp + 8]
add dword [ecx + 0x88], eax
adc dword [ecx + 0x8c], edx
jmp case.0x449e51.10
cmp dword [ebx + 4], 0
je 0x44d601
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x1c8]
or edx, dword [eax + 0x1cc]
jne case.0x449e51.10
jmp 0x44d61a
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x88]
or edx, dword [eax + 0x8c]
jne case.0x449e51.10
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x1d0]
or ecx, dword [eax + 0x1d4]
je 0x44d971
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 4], 0
jg 0x44d971
jl case.0x449e51.10
cmp dword [ecx + eax*8], 0
ja 0x44d971
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ecx, [eax + edx*8]
mov eax, dword [ebx + 0xc]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
cmp dword [ecx + 4], 0
jl 0x44d971
jg case.0x449e51.10
cmp dword [ecx], 0
jb 0x44d971
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
mov esi, dword [edx + ecx*8]
mov edi, dword [edx + ecx*8 + 4]
lea ecx, [edx + ecx*8]
mov eax, esi
or eax, edi
je case.0x449e51.10
mov eax, dword [ebx + 0xc]
cdq
add eax, esi
adc edx, edi
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x44d971
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
add dword [edx + ecx*8], 0xffffffff
lea eax, [edx + ecx*8]
mov ecx, dword [eax]
adc dword [eax + 4], 0xffffffff
or ecx, dword [eax + 4]
je 0x44d971
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + edx*8]
lea eax, [eax + edx*8]
mov edx, dword [eax + 4]
mov esi, ecx
add esi, 1
mov edi, edx
adc edi, 0
mov dword [eax], esi
mov dword [eax + 4], edi
mov eax, ecx
or eax, edx
je 0x44d971
jmp case.0x449e51.10
movzx ebx, byte [ebx + 3]
mov esi, dword [esp + 0x14]
lea ecx, [ebx*4 + 0x1c]
push 0
push ecx
call fcn.0040f350
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x44d3e2
mov esi, dword [esp + 0x1c]
mov dword [ecx + 8], 0
mov edx, dword [esi + 0x10]
mov dword [ecx + 4], edx
mov edx, esi
sub edx, dword [esp + 0x48]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp + 8]
mov byte [ecx + 0x1a], bl
mov dword [ecx + 0x10], eax
mov dword [ecx + 0xc], edx
mov byte [esi + 1], 0xec
mov dword [esi + 0x10], ecx
mov byte [esi], 0x90
mov ebx, esi
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x18]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
cmp dword [esi + 8], eax
mov dword [esp + 0x30], eax
je 0x44d7bd
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], eax
js 0x44d7bd
lea edx, [esi + ecx*4 + 0x1c]
mov eax, dword [ebx + 8]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx], eax
sub ecx, 1
sub edx, 4
test ecx, ecx
jge 0x44d7a2
mov eax, dword [esp + 0x30]
mov ecx, 1
add dword [eax + 0xc], ecx
mov word [esp + 0x1c0], cx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1d0], 0
mov eax, dword [esi + 4]
lea edx, [esp + 0x1b8]
mov dword [esi], edx
movzx edx, byte [esi + 0x1a]
lea ecx, [esi + 0x1c]
push ecx
push edx
mov byte [esi + 0x19], 0
mov byte [esi + 0x18], 0
mov eax, dword [eax + 0x10]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x44d84d
cmp dword [esi + 0x14], 0
je 0x44d841
lea ecx, [esp + 0x1b8]
push ecx
call fcn.0041c6f0
mov edi, dword [ebp + 8]
add esp, 4
push eax
push 0x475960
call fcn.0041f400
mov edx, dword [esi + 0x14]
mov edi, dword [esp + 0x20]
add esp, 8
mov dword [esp + 0x10], edx
lea eax, [esp + 0x1b8]
call fcn.00414da0
cmp byte [esi + 0x18], 0
je case.0x449e51.10
mov eax, dword [ebx - 0x10]
test eax, eax
je case.0x449e51.10
lea eax, [eax + eax*4]
push 0
push 1
lea eax, [edi + eax*8]
call fcn.00416550
add esp, 8
jmp case.0x449e51.10
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
mov ecx, dword [ebx + 0x10]
mov eax, esi
call fcn.0040ea00
test eax, eax
mov dword [esp + 0x10], eax
je 0x44d8b2
push esi
call fcn.0041c6f0
mov edi, dword [ebp + 8]
add esp, 4
push eax
push 0x475960
call fcn.0041f400
add esp, 8
mov ecx, esi
call fcn.004045f0
test eax, eax
jne 0x44a92b
jmp case.0x449e51.10
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x14]
or eax, 0xffffffff
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], eax
mov eax, dword [ebx + 8]
push eax
push ecx
xor esi, esi
push edx
lea eax, [esp + 0xe4]
lea ecx, [esp + 0xe0]
mov dword [esp + 0xdc], esi
call fcn.0042d1a0
add esp, 0xc
cmp eax, 5
mov dword [esp + 0x10], eax
jne 0x44d91b
mov dword [esp + 0x10], esi
mov dword [esp + 0xd0], 1
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
jmp 0x44d930
mov eax, dword [esp + esi*4 + 0xd0]
cdq
push edx
push eax
mov eax, edi
call fcn.00416550
add esi, 1
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x44d930
jmp case.0x449e51.10
cmp dword [ebx + 4], 0
jne 0x44d962
mov eax, dword [esp + 0x14]
call fcn.00404030
jmp case.0x449e51.10
mov eax, dword [ebp + 8]
or dword [eax + 0x58], 8
jmp case.0x449e51.10
cmp dword [ebx + 8], 0
je case.0x449e51.10
mov ebx, dword [ebx + 8]
mov eax, dword [esp + 0x48]
lea edx, [ebx + ebx*4]
lea ecx, [eax + edx*4 - 0x14]
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x1c]
add ebx, 0x14
cmp dword [esp + 0x10], 0
mov dword [esp + 0x1c], ebx
jne 0x44a943
mov ecx, dword [esp + 0x14]
jmp 0x449e20
mov edx, dword [ebx + 4]
test edx, edx
mov dword [edi + 0x50], edx
mov al, byte [ebx + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], esi
je 0x44da2d
mov al, byte [ebx + 3]
test al, al
je 0x44d9e9
movzx ecx, al
mov ecx, dword [ecx*4 + 0x472ce4]
test ecx, ecx
je 0x44d9eb
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x44d9eb
mov edi, dword [ebp + 8]
push eax
push ecx
push str._s_constraint_failed:__s
call fcn.0041f400
add esp, 0xc
jmp 0x44da0b
xor ecx, ecx
mov eax, dword [ebx + 0x10]
test eax, eax
mov edi, dword [ebp + 8]
je 0x44d9fd
push eax
push 0x475960
jmp 0x44da03
push ecx
push str._s_constraint_failed
call fcn.0041f400
add esp, 8
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0xa0]
mov ecx, dword [ebx + 4]
push edx
push eax
push esi
push str.abort_at__d_in___s_:__s
call fcn.0041f550
mov edi, dword [ebp + 8]
add esp, 0x10
mov esi, edi
call fcn.00448bf0
cmp eax, 5
jne 0x44da41
mov dword [edi + 0x50], eax
jmp 0x44a99b
mov eax, dword [edi + 0x50]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
jmp 0x44a99b
sub ebx, dword [esp + 0x48]
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x4c], eax
mov eax, 5
mov byte [edi + 0x3f], 0
mov dword [esi + 0x50], eax
jmp 0x44a99b
test ecx, ecx
je 0x44daaf
push 0x204
mov eax, edi
call fcn.00443c20
mov esi, dword [ebp + 8]
add esp, 4
mov byte [edi + 0x3f], 1
mov eax, edi
call fcn.0040dde0
mov eax, dword [esi + 0x50]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
jmp 0x44a99b
mov eax, dword [ebp + 8]
push 1
call fcn.00421b50
add esp, 4
test eax, eax
jne 0x44a99b
mov cl, byte [esp + 0x30]
mov esi, dword [ebp + 8]
mov byte [edi + 0x3f], cl
call fcn.00448bf0
cmp eax, 5
jne 0x44da96
sub ebx, dword [esp + 0x48]
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 1
sub cl, byte [esp + 0x30]
mov dword [esi + 0x4c], eax
mov eax, 5
mov byte [edi + 0x3f], cl
mov dword [esi + 0x50], eax
jmp 0x44a99b
mov dword [esp + 0x10], 8
mov edi, eax
jmp 0x44abb4
sub ebx, dword [esp + 0x48]
mov ecx, dword [ebp + 8]
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x4c], eax
mov eax, 5
mov dword [ecx + 0x50], eax
jmp 0x44a99b
mov eax, 0x12709
call fcn.0041f640
mov dword [esp + 0x10], eax
jmp 0x44abb0
mov edi, esi
jmp 0x44abb4
cmp dword [esp + 0x10], 0xc0a
je 0x44a947
cmp dword [esp + 0x10], 0x204
je 0x44db7f
mov ecx, dword [esp + 0x10]
mov eax, str.unknown_error
call fcn.00402120
jmp 0x44db84
mov eax, str.abort_due_to_ROLLBACK
mov edi, dword [ebp + 8]
push eax
push 0x475960
call fcn.0041f400
add esp, 8
jmp 0x44a943