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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x32c
mov eax, dword [0x56e00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, ecx
mov dword [ebp - 0x268], 0
push ebx
push esi
push edi
mov ecx, dword [edx]
xor edi, edi
mov eax, dword [edx + 4]
mov ebx, dword [edx + 8]
mov dword [ebp - 0x260], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x270], 0
mov eax, dword [eax + 0xc]
mov byte [ebp - 0x2a1], 0
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2b0], 0
mov al, byte [eax + 0x4d]
mov byte [ebp - 0x298], al
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ecx + 0x24]
mov ecx, edx
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x278], ebx
mov dword [ebp - 0x274], edi
mov dword [ebp - 0x2b8], edi
mov dword [ebp - 0x2a8], eax
call fcn.00441060
mov ecx, dword [ebp - 0x26c]
cmp dword [ecx + 0x50], 7
je 0x44cb6b
mov dword [ecx + 0x50], edi
mov dword [ecx + 0x88], edi
mov dword [ecx + 0x8c], edi
mov dword [ecx + 0x14], edi
mov ecx, dword [ebp - 0x264]
mov dword [ecx + 0x1bc], edi
cmp dword [ecx + 0xe8], edi
jne 0x44cb26
cmp dword [ecx + 0x11c], edi
je 0x446dbc
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x7c]
test eax, eax
jne 0x446dae
mov edx, dword [ecx + 0x124]
jmp 0x446db6
xor edx, edx
div dword [ecx + 0x124]
mov dword [ebp - 0x2b4], edx
mov eax, dword [ebp - 0x26c]
mov esi, dword [eax + 0x4c]
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
cmp byte [ecx + 0x40], 0
jne 0x44cb71
inc dword [ebp - 0x2b0]
lea ebx, [esi + esi*4]
test byte [edx + ebx*4 + 2], 2
mov dword [ebp - 0x27c], ebx
je 0x446e2e
mov eax, dword [edx + ebx*4 + 8]
mov edi, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, 0x2460
mov dword [ebp - 0x274], edi
test word [edi + 0x1c], ax
je 0x446e25
mov ecx, edi
call fcn.0043f480
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
mov eax, 4
mov word [edi + 0x1c], ax
mov dl, byte [edx + ebx*4]
movzx eax, dl
dec eax
cmp eax, 0x9a
ja case.default.0x446e40
jmp dword [eax*4 + 0x44cba0]
mov ecx, dword [ebp - 0x260]
mov ecx, dword [ecx + ebx*4 + 8]
jmp 0x44c33d
mov ecx, dword [ebp - 0x260]
mov edx, 4
mov eax, dword [ebp - 0x278]
mov ecx, dword [ecx + ebx*4 + 4]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 0x1c], dx
mov eax, esi
mov esi, dword [ebp - 0x278]
cdq
mov dword [esi + ecx*8 + 0x10], eax
mov eax, esi
mov dword [eax + ecx*8 + 0x14], edx
mov edx, dword [ebp - 0x260]
mov ecx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
mov edx, dword [ebp - 0x260]
mov ecx, 0x80
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
mov esi, dword [ebx + eax*8 + 0x10]
mov word [ebx + eax*8 + 0x1c], cx
inc esi
mov ecx, dword [ebp - 0x264]
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
dec eax
mov dword [ebp - 0x274], edi
cdq
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0x260]
mov dword [edi + 0x10], eax
mov eax, 4
mov word [edi + 0x1c], ax
mov eax, dword [edx + ebx*4 + 8]
test eax, eax
je 0x446f16
lea esi, [eax - 1]
inc esi
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0x278]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8 + 0x10]
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*4 + 8]
mov eax, 0x80
mov word [ebx + ecx*8 + 0x1c], ax
mov ecx, dword [ebp - 0x264]
jmp 0x446dcb
mov ecx, dword [ebp - 0x260]
mov eax, dword [ecx + ebx*4 + 4]
mov ebx, dword [ebp - 0x278]
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8 + 0x10]
mov word [ebx + esi*8 + 0x1c], ax
inc ecx
mov eax, dword [ebp - 0x268]
cdq
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov dword [ebx + esi*8 + 0x14], edx
mov edx, dword [ebp - 0x260]
mov dword [ebx + esi*8 + 0x10], eax
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
mov ecx, dword [ebp - 0x264]
je 0x44990d
jmp 0x446fc9
mov edx, dword [ebp - 0x260]
cmp dword [edx + ebx*4 + 4], 0
jne 0x44c6d7
mov eax, dword [ebp - 0x26c]
mov ecx, dword [eax + 0xb0]
test ecx, ecx
je 0x44c6d7
mov edx, dword [ebp - 0x26c]
mov eax, dword [ecx + 4]
dec dword [edx + 0xb8]
mov dword [edx + 0xb0], eax
mov eax, dword [edx + 0x5c]
mov edx, dword [ebp - 0x264]
add dword [edx + 0x54], eax
mov dword [edx + 0x50], eax
call fcn.00441ad0
mov ecx, dword [ebp - 0x264]
mov esi, eax
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x260]
cmp dword [eax + ebx*4 + 8], 4
jne 0x44705b
mov eax, dword [ebp - 0x26c]
lea ecx, [esi + esi*4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx*4 + 8]
dec ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
mov eax, dword [ebp - 0x26c]
inc esi
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x278], eax
jmp 0x446dcb
mov eax, dword [ebp - 0x260]
inc esi
mov eax, dword [eax + ebx*4 + 4]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x446dc5
mov edx, dword [ebp - 0x260]
inc esi
mov ecx, dword [edx + ebx*4 + 0x10]
mov eax, dword [ecx]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x264]
mov dword [edi + 0x14], eax
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
mov eax, 8
mov word [edi + 0x1c], ax
inc esi
mov eax, dword [edx + ebx*4 + 0x10]
movsd xmm0, qword [eax]
movsd qword [edi + 8], xmm0
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
mov ecx, dword [edx + ebx*4 + 0x10]
mov byte [edx + ebx*4], 0x1b
call fcn.00426de0
cmp byte [ebp - 0x298], 1
mov dword [edx + ebx*4 + 4], eax
je 0x44716b
push 0
push 1
mov edx, ecx
mov ecx, edi
push 0xffffffffffffffff
call fcn.0043fb90
add esp, 0xc
mov dword [ebp - 0x270], eax
cmp eax, 0x12
je 0x44c9b7
movzx edx, byte [ebp - 0x298]
mov ecx, edi
call fcn.0043f0c0
test eax, eax
jne 0x44cb6b
mov edx, dword [ebp - 0x260]
mov dword [edi + 0x24], eax
mov eax, 0x800
or word [edi + 0x1c], ax
cmp byte [edx + ebx*4 + 1], 0xff
jne 0x447158
mov edx, dword [edx + ebx*4 + 0x10]
mov ecx, dword [ebp - 0x264]
call fcn.004246f0
mov edx, dword [ebp - 0x260]
mov byte [edx + ebx*4 + 1], 0xff
mov eax, dword [edi + 4]
mov dword [edx + ebx*4 + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [edx + ebx*4 + 4], eax
mov ecx, dword [ebp - 0x264]
mov eax, dword [edx + ebx*4 + 4]
cmp eax, dword [ecx + 0x58]
jg 0x44c9bd
jmp 0x447186
mov edx, dword [ebp - 0x260]
mov eax, 0xa02
mov word [edi + 0x1c], ax
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [edi + 4], eax
mov eax, dword [edx + ebx*4 + 4]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0x298]
mov byte [edi + 0x1e], al
jmp 0x44990d
mov edx, dword [ebp - 0x260]
mov eax, 1
mov ecx, 0x101
mov esi, dword [edx + ebx*4 + 0xc]
sub esi, dword [edx + ebx*4 + 8]
cmp dword [edx + ebx*4 + 4], 0
mov ebx, dword [ebp - 0x274]
cmovne eax, ecx
movzx edi, ax
mov word [ebx + 0x1c], di
test esi, esi
jle 0x44720b
mov eax, 0x2460
add ebx, 0x28
test word [ebx + 0x1c], ax
je 0x4471f6
mov ecx, ebx
call fcn.0043f480
mov eax, 0x2460
dec esi
mov word [ebx + 0x1c], di
test esi, esi
jg 0x4471e1
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x274], ebx
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov ebx, 0xff7f
mov ax, word [edi + 0x1c]
and ax, bx
mov dword [ebp - 0x274], edi
or ax, 1
inc esi
mov word [edi + 0x1c], ax
jmp 0x446dcb
mov eax, dword [ebp - 0x260]
mov ecx, edi
push 0
push 0
push dword [eax + ebx*4 + 4]
mov edx, dword [eax + ebx*4 + 0x10]
call fcn.0043fb90
mov al, byte [ebp - 0x298]
add esp, 0xc
mov ecx, dword [ebp - 0x264]
inc esi
mov byte [edi + 0x1e], al
jmp 0x446dc5
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x3c]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.0043f9c0
test eax, eax
jne 0x44c9b7
push 0x800
lea edx, [esi - 0x28]
mov ecx, edi
call fcn.0043f9f0
mov esi, dword [ebp - 0x268]
add esp, 4
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x446dc5
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
mov edi, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, 0x80
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, 0x2460
test word [ebx + 0x1c], ax
je 0x447317
mov ecx, ebx
call fcn.0043f480
mov ecx, 0x80
movups xmm0, xmmword [esi]
mov eax, dword [ebx + 0x24]
movups xmmword [ebx], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [ebx + 0x10], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [ebx + 0x20], xmm0
add ebx, 0x28
mov word [esi + 0x1c], cx
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], eax
add esi, 0x28
sub edi, 1
jne 0x447300
mov dword [ebp - 0x274], ebx
mov esi, dword [ebp - 0x268]
mov edi, dword [ebp - 0x274]
inc esi
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x446dd1
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
mov edi, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
push 0x1000
mov edx, esi
mov dword [ebp - 0x274], ebx
mov ecx, ebx
call fcn.0043f9f0
mov eax, 0x1000
add esp, 4
test word [ebx + 0x1c], ax
je 0x4473ca
mov ecx, ebx
call fcn.0043f210
test eax, eax
jne 0x44cb6b
mov eax, edi
dec edi
test eax, eax
je 0x447351
add ebx, 0x28
add esi, 0x28
jmp 0x447399
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
push 0x1000
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, edi
mov dword [ebp - 0x274], edi
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
call fcn.0043f9f0
mov ecx, dword [ebp - 0x264]
add esp, 4
inc esi
jmp 0x446dc5
mov eax, dword [ecx + 0x11c]
test eax, eax
je 0x447445
mov edx, dword [ebp - 0x2b0]
cmp edx, dword [ebp - 0x2b4]
jb 0x447445
push dword [ecx + 0x120]
call eax
add esp, 4
test eax, eax
jne 0x44c7b9
mov ecx, dword [ebp - 0x26c]
xor edx, edx
call fcn.00442690
mov ecx, eax
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x449901
mov ecx, dword [ebp - 0x26c]
lea edx, [eax + 1]
call fcn.00442570
mov ecx, eax
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x449901
mov edx, dword [ebp - 0x26c]
xor edi, edi
mov ecx, dword [ebp - 0x260]
mov esi, dword [ebp - 0x278]
mov eax, dword [edx + 0x48]
add eax, 2
or eax, 1
mov dword [edx + 0x48], eax
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [edx + 0x14], esi
cmp dword [ecx + ebx*4 + 8], edi
jle 0x4474ea
mov eax, 0x1000
test word [esi + 0x1c], ax
je 0x4474cd
mov ecx, esi
call fcn.0043f210
test eax, eax
jne 0x44cb6b
mov ecx, esi
call fcn.0043f2d0
mov eax, dword [ebp - 0x260]
inc edi
add esi, 0x28
cmp edi, dword [eax + ebx*4 + 8]
jl 0x4474b3
mov edx, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x264]
cmp byte [ecx + 0x40], 0
jne 0x44cb71
mov eax, dword [ebp - 0x268]
mov edi, 0x64
inc eax
mov dword [edx + 0x4c], eax
jmp 0x4499af
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x27c], eax
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
mov ebx, dword [ebp - 0x27c]
lea eax, [eax + eax*4]
movzx ecx, word [ebx + 0x1c]
lea edi, [edx + eax*8]
mov al, byte [esi + 0x1c]
or al, cl
mov dword [ebp - 0x274], edi
test al, 1
je 0x447570
mov ecx, edi
call fcn.0043f890
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x446dc5
test ecx, 0x4000
je 0x447587
mov ecx, ebx
call fcn.0043f270
test eax, eax
jne 0x44cb6b
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4475a1
mov ecx, esi
call fcn.0043f270
test eax, eax
jne 0x44cb6b
test byte [ebx + 0x1c], 0x12
jne 0x4475bd
movzx edx, byte [ebp - 0x298]
mov ecx, ebx
call fcn.0043f320
test eax, eax
jne 0x44cb6b
test byte [esi + 0x1c], 0x12
jne 0x4475d9
movzx edx, byte [ebp - 0x298]
mov ecx, esi
call fcn.0043f320
test eax, eax
jne 0x44cb6b
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0x264]
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x44c9b7
jl 0x447600
cmp edi, eax
ja 0x44c9b7
mov ecx, dword [ebp - 0x274]
lea edx, [edi + 2]
xor eax, eax
cmp ecx, esi
sete al
push eax
call fcn.0043f0e0
add esp, 4
test eax, eax
jne 0x44cb6b
mov ecx, dword [ebp - 0x274]
mov edx, 0xbe02
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 2
mov word [ecx + 0x1c], ax
cmp ecx, esi
je 0x447650
push dword [esi + 0x18]
push dword [esi + 4]
push dword [ecx + 4]
call fcn.00496d40
add esp, 0xc
push dword [ebx + 0x18]
mov eax, dword [esi + 0x18]
push dword [ebx + 4]
mov ebx, dword [ebp - 0x274]
add eax, dword [ebx + 4]
push eax
call fcn.00496d40
mov eax, dword [ebx + 4]
add esp, 0xc
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov byte [edi + eax], 0
mov eax, dword [ebx + 4]
mov byte [eax + edi + 1], 0
mov eax, 0x200
or word [ebx + 0x1c], ax
inc esi
mov al, byte [ebp - 0x298]
mov dword [ebx + 0x18], edi
mov edi, ebx
mov byte [edi + 0x1e], al
jmp 0x446dc5
mov esi, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [esi + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x294], eax
call fcn.00446c50
movzx eax, ax
mov dword [ebp - 0x280], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x2a0], eax
call fcn.00446c50
mov ecx, dword [ebp - 0x294]
movzx edx, ax
mov eax, dword [esi + ebx*4 + 0xc]
mov esi, dword [ebp - 0x2a0]
mov dword [ebp - 0x27c], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x274], eax
mov al, byte [esi + 0x1c]
or al, byte [ecx + 0x1c]
test al, 1
jne 0x447954
mov al, dl
and al, byte [ebp - 0x280]
test al, 4
je 0x447828
mov eax, ecx
mov byte [ebp - 0x285], 1
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, esi
mov esi, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x2c0], esi
mov dword [ebp - 0x2bc], edi
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x44775e
jmp dword [eax*4 + 0x44ce0c]
push edx
push ecx
lea ecx, [ebp - 0x2c0]
call fcn.00427ed0
add esp, 8
test eax, eax
jne 0x447831
mov edx, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c0]
jmp 0x4477f6
push edx
push ecx
lea ecx, [ebp - 0x2c0]
call fcn.00427f70
jmp 0x447772
push edx
push ecx
lea ecx, [ebp - 0x2c0]
call fcn.00427fc0
jmp 0x447772
mov eax, ecx
or eax, edx
je 0x447954
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4477c8
test esi, esi
jne 0x4477c8
cmp edi, 0x80000000
je 0x447831
push edx
push ecx
push edi
push esi
call fcn.0051f690
jmp 0x4477f6
mov eax, ecx
or eax, edx
je 0x447954
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4477ed
mov ecx, 1
xor edx, edx
push edx
push ecx
push edi
push esi
call fcn.0051f7a0
mov edi, dword [ebp - 0x274]
mov ecx, 0xbe04
mov esi, dword [ebp - 0x268]
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [edi + 0x14], edx
mov ecx, dword [ebp - 0x264]
or ax, 4
mov word [edi + 0x1c], ax
inc esi
jmp 0x446dc5
mov byte [ebp - 0x285], 0
jmp 0x44783d
mov esi, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x294]
call fcn.0043f600
mov ecx, esi
movsd qword [ebp - 0xe0], xmm0
call fcn.0043f600
mov eax, dword [ebp - 0x260]
movaps xmm1, xmm0
movsd qword [ebp - 0x2c8], xmm1
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x44786e
jmp dword [eax*4 + 0x44ce1c]
addsd xmm1, qword [ebp - 0xe0]
jmp 0x4478fc
subsd xmm1, qword [ebp - 0xe0]
jmp 0x4478fc
mulsd xmm1, qword [ebp - 0xe0]
jmp 0x4478fc
movsd xmm0, qword [ebp - 0xe0]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x447954
divsd xmm1, xmm0
jmp 0x4478fc
movsd xmm0, qword [ebp - 0xe0]
call fcn.0052447f
movsd xmm0, qword [ebp - 0x2c8]
mov esi, eax
mov edi, edx
call fcn.0052447f
mov ecx, esi
or ecx, edi
je 0x447954
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x4478e9
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.0051f7a0
mov ecx, eax
call fcn.005245d0
movaps xmm1, xmm0
movaps xmm0, xmm1
call fcn.00426da0
test eax, eax
jne 0x447954
mov ebx, dword [ebp - 0x274]
mov ecx, 0xbe08
mov ax, word [ebx + 0x1c]
and ax, cx
movsd qword [ebx + 8], xmm1
or ax, 8
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x27c]
or al, byte [ebp - 0x280]
test al, 8
jne 0x447351
cmp byte [ebp - 0x285], 0
jne 0x447351
mov ecx, ebx
call fcn.0043f660
jmp 0x447351
mov edi, dword [ebp - 0x274]
mov ecx, edi
call fcn.0043f890
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x446dc5
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + ebx*4 + 4]
test eax, eax
je 0x44799f
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.0043f8e0
mov edx, dword [ebp - 0x260]
add esp, 8
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x446dcb
mov esi, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov edi, dword [ebp - 0x278]
movzx ecx, byte [esi + ebx*4 + 3]
mov edx, dword [eax + 0xc]
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0xd8], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x274], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
xor edi, edi
test ecx, ecx
jle 0x447a27
mov eax, 0x1000
mov dword [edx + edi*4], esi
test word [esi + 0x1c], ax
je 0x447a1f
mov ecx, esi
call fcn.0043f210
test eax, eax
jne 0x44cb6b
mov ecx, dword [ebp - 0x27c]
mov eax, 0x1000
mov edx, dword [ebp - 0xd8]
inc edi
add esi, 0x28
cmp edi, ecx
jl 0x4479f6
mov eax, dword [ebp - 0x260]
mov edi, dword [ebp - 0x274]
mov eax, dword [eax + ebx*4 + 0x10]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x1b0], eax
mov eax, 1
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x1e0], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [ebp - 0x1d0], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [ebp - 0x1c0], xmm0
mov word [edi + 0x1c], ax
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov eax, dword [ebp - 0x1c4]
mov esi, dword [ebp - 0x1e8]
and eax, 0xbe01
or eax, 1
mov byte [ebp - 0x1a3], 0
mov word [ebp - 0x1c4], ax
test byte [esi + 2], 0x20
je 0x447ac6
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 - 4]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x264]
mov edi, dword [ebp - 0x2ac]
push edx
push ecx
mov dword [eax + 0x20], edi
mov edi, dword [ebp - 0x2a8]
mov dword [eax + 0x24], edi
lea eax, [ebp - 0x1e8]
push eax
mov eax, dword [esi + 0xc]
call eax
mov esi, dword [ebp - 0x264]
add esp, 0xc
mov edi, dword [ebp - 0x274]
cmp byte [esi + 0x40], 0
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x2ac], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x2a8], eax
jne 0x44c7c9
cmp byte [ebp - 0x1a3], 0
je 0x447b7d
cmp dword [ebp - 0x1a8], 0
je 0x447b5b
mov dl, 1
lea ecx, [ebp - 0x1e0]
call fcn.0043fe10
push eax
mov eax, dword [ebp - 0x26c]
push 0x55cc88
add eax, 0x2c
push esi
push eax
call fcn.00424ac0
mov eax, dword [ebp - 0x1a8]
add esp, 0x10
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x260]
mov esi, dword [ebp - 0x268]
mov edx, esi
mov ecx, dword [ebp - 0x26c]
push dword [eax + ebx*4 + 4]
call fcn.00442ba0
add esp, 4
jmp 0x447b83
mov esi, dword [ebp - 0x268]
movzx edx, byte [ebp - 0x298]
lea ecx, [ebp - 0x1e0]
call fcn.0043f0c0
movups xmm0, xmmword [ebp - 0x1e0]
mov ecx, edi
movups xmmword [edi], xmm0
movups xmm0, xmmword [ebp - 0x1d0]
movups xmmword [edi + 0x10], xmm0
movq xmm0, qword [ebp - 0x1c0]
movq qword [edi + 0x20], xmm0
call fcn.0043f9c0
mov ecx, dword [ebp - 0x264]
test eax, eax
jne 0x44c9bd
jmp case.default.0x446e40
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [ebp - 0x274], edi
test al, 1
je 0x447c30
mov ecx, edi
call fcn.0043f890
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x446dd1
call fcn.0043f550
mov edi, edx
mov dword [ebp - 0x284], eax
mov ecx, esi
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x2fc], edi
call fcn.0043f550
mov esi, eax
mov eax, dword [ebp - 0x260]
mov cl, byte [eax + ebx*4]
cmp cl, 0x55
jne 0x447c6f
mov ecx, dword [ebp - 0x284]
and ecx, esi
and edi, edx
jmp 0x447d55
cmp cl, 0x56
jne 0x447c83
mov ecx, dword [ebp - 0x284]
or ecx, esi
or edi, edx
jmp 0x447d55
mov eax, esi
or eax, edx
je 0x447d4f
test edx, edx
jg 0x447cbb
jl 0x447c97
test esi, esi
jae 0x447cb0
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x447cbb
jg 0x447ca9
cmp esi, 0xffffffc0
jbe 0x447cbb
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x447ce5
jg 0x447cbb
cmp esi, 0x40
jb 0x447ce5
test edi, edi
jg 0x447cdc
jl 0x447cca
cmp dword [ebp - 0x284], 0
jae 0x447cdc
cmp cl, 0x57
je 0x447cdc
or eax, 0xffffffff
cdq
mov ecx, eax
mov edi, edx
jmp 0x447d55
xor eax, eax
cdq
mov ecx, eax
mov edi, edx
jmp 0x447d55
movq xmm1, qword [ebp - 0x300]
movd xmm0, esi
cmp cl, 0x57
jne 0x447d10
psllq xmm1, xmm0
movq qword [ebp - 0xe0], xmm1
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
jmp 0x447d55
psrlq xmm1, xmm0
movq qword [ebp - 0xe0], xmm1
test edi, edi
jg 0x447d02
jl 0x447d2b
cmp dword [ebp - 0x284], 0
jae 0x447d02
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.0051f1c0
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xdc]
or ecx, eax
or edi, edx
jmp 0x447d55
mov ecx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
mov dword [eax + 0x14], edi
mov edi, eax
mov dword [eax + 0x10], ecx
mov ecx, 0xbe04
mov ax, word [edi + 0x1c]
and ax, cx
mov ecx, dword [ebp - 0x264]
or ax, 4
inc esi
mov word [edi + 0x1c], ax
mov dword [ebp - 0x268], esi
jmp 0x446dd1
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0043f700
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x264]
mov eax, dword [eax + ebx*4 + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
inc esi
mov dword [ebp - 0x268], esi
jmp 0x446dd1
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x447e3e
push dword [ebp - 0x298]
mov dl, 0x63
mov ecx, esi
call fcn.00446bc0
movzx eax, word [esi + 0x1c]
add esp, 4
mov edx, dword [ebp - 0x260]
test al, 4
jne 0x447e3e
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [ebp - 0x264]
test eax, eax
je 0x44c7db
mov dword [ebp - 0x268], eax
mov esi, eax
jmp 0x446dd1
mov ecx, dword [ebp - 0x264]
and eax, 0xbe04
or eax, 4
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0x268]
inc esi
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 4
lea ecx, [ecx + eax*8]
je 0x44799f
call fcn.0043f730
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x446dc5
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x449771
push dword [ebp - 0x298]
mov eax, ecx
mov dl, 0x61
shr eax, 3
and eax, 2
or eax, ecx
mov ecx, esi
mov word [esi + 0x1c], ax
call fcn.00446bc0
mov eax, 0x4000
add esp, 4
test word [esi + 0x1c], ax
je 0x447f03
mov ecx, esi
call fcn.0043f270
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x270], eax
mov eax, 0xbfe3
and word [esi + 0x1c], ax
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov eax, 0xbfe3
mov dword [ebp - 0x270], 0
and word [esi + 0x1c], ax
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x449606
test al, 0x10
jne 0x447f91
push dword [ebp - 0x298]
mov dl, 0x61
mov ecx, esi
call fcn.00446bc0
mov ax, word [esi + 0x1c]
mov ecx, 0xbe10
mov edx, dword [ebp - 0x260]
and ax, cx
mov ecx, dword [ebp - 0x264]
or ax, 0x10
mov word [esi + 0x1c], ax
add esp, 4
mov esi, dword [ebp - 0x268]
inc esi
mov dword [ebp - 0x268], esi
jmp 0x446dd1
and eax, 0xfe10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0x268]
inc esi
jmp 0x446dcb
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0043f7b0
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x446dd1
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x44799f
call fcn.0043f700
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x446dc5
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x44799f
call fcn.0043f730
mov ecx, dword [ebp - 0x264]
inc esi
jmp 0x446dc5
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
movzx ecx, word [edx + eax*8 + 0x1c]
lea edi, [edx + eax*8]
movzx edx, word [esi + 0x1c]
mov al, cl
or al, dl
mov dword [ebp - 0x27c], edx
test al, 1
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0x260]
mov al, byte [eax + ebx*4 + 3]
je 0x448124
test al, al
jns 0x4480ad
mov eax, ecx
and eax, edx
test al, 1
je 0x4480a3
test ecx, 0x100
jne 0x4480a3
xor edx, edx
jmp 0x4481a2
mov edx, 1
jmp 0x4481a2
test al, 0x10
je 0x4480f3
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov esi, dword [ebp - 0x268]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, 0xbe01
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [ebp - 0x274], edi
mov ecx, dword [ebp - 0x264]
or ax, 1
mov word [edi + 0x1c], ax
inc esi
jmp 0x446dcb
test al, 8
je 0x449c46
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x274]
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
and al, 0x67
mov byte [ebp - 0x285], al
je 0x448166
push dword [ebp - 0x298]
mov dl, al
mov ecx, esi
call fcn.00446bc0
mov dl, byte [ebp - 0x285]
add esp, 4
mov ecx, edi
push dword [ebp - 0x298]
call fcn.00446bc0
mov ecx, dword [ebp - 0x264]
add esp, 4
cmp byte [ecx + 0x40], 0
jne 0x44cb71
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x44817d
mov ecx, esi
call fcn.0043f270
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x44818a
mov ecx, edi
call fcn.0043f270
mov eax, dword [ebp - 0x260]
mov edx, esi
mov ecx, edi
push dword [eax + ebx*4 + 0x10]
call fcn.004437e0
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x260]
movzx ecx, byte [eax + ebx*4]
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x4481b4
jmp dword [ecx*4 + 0x44ce2c]
xor eax, eax
test edx, edx
sete al
jmp 0x4481ef
xor eax, eax
test edx, edx
setne al
jmp 0x4481ef
xor eax, eax
test edx, edx
sets al
jmp 0x4481ef
xor eax, eax
test edx, edx
setle al
jmp 0x4481ef
xor eax, eax
test edx, edx
setg al
jmp 0x4481ef
xor eax, eax
test edx, edx
setns al
mov edx, dword [ebp - 0x260]
test byte [edx + ebx*4 + 3], 0x10
je 0x448235
mov ecx, dword [edx + ebx*4 + 8]
mov edx, dword [ebp - 0x278]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*8]
mov edx, 0xbe04
mov cx, word [ebx + 0x1c]
and cx, dx
mov dword [ebp - 0x274], ebx
cdq
or cx, 4
mov dword [ebx + 0x14], edx
mov edx, dword [ebp - 0x260]
mov word [ebx + 0x1c], cx
mov dword [ebx + 0x10], eax
jmp 0x448244
test eax, eax
je 0x448244
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [ebp - 0x268], eax
movzx eax, word [esi + 0x1c]
mov ebx, 0x1ff
xor ax, word [ebp - 0x27c]
mov ecx, dword [ebp - 0x264]
and ax, bx
xor word [esi + 0x1c], ax
movzx eax, word [edi + 0x1c]
xor ax, word [ebp - 0xd8]
mov esi, dword [ebp - 0x268]
and ax, bx
xor word [edi + 0x1c], ax
inc esi
mov edi, dword [ebp - 0x274]
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
inc esi
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0x2b8], eax
jmp 0x446dcb
mov esi, dword [ebp - 0x260]
mov ecx, 0
mov eax, dword [ebp - 0x2b8]
test byte [esi + ebx*4 + 3], 1
mov edx, dword [esi + ebx*4 + 0x10]
cmove eax, ecx
mov dword [ebp - 0x280], edx
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x2b8], eax
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [esi + ebx*4 + 8]
xor esi, esi
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x27c], ecx
test eax, eax
jle 0x44836d
lea edi, [edx + 0x14]
nop
mov eax, dword [ebp - 0x2b8]
test eax, eax
je 0x4482ff
mov ecx, dword [eax + esi*4]
jmp 0x448301
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x278]
push dword [edi]
movzx ebx, byte [esi + eax]
mov eax, dword [ebp - 0x27c]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0xd8]
add eax, ecx
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004437e0
add esp, 4
mov dword [ebp - 0x2d4], eax
test eax, eax
jne 0x448361
mov edx, dword [ebp - 0x280]
inc esi
add edi, 4
cmp esi, dword [ebp - 0x290]
jl 0x4482f0
mov dword [ebp - 0x2b8], eax
jmp 0x447351
test ebx, ebx
je 0x44836d
neg eax
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2b8], 0
jmp 0x447351
mov eax, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x260]
test eax, eax
jns 0x448395
mov esi, dword [edx + ebx*4 + 4]
jmp 0x446dcb
jne 0x4483a0
mov esi, dword [edx + ebx*4 + 8]
jmp 0x446dcb
mov esi, dword [edx + ebx*4 + 0xc]
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x4483cd
mov esi, 2
jmp 0x4483e5
call fcn.0043f550
or eax, edx
mov edx, dword [ebp - 0x260]
je 0x4483e3
mov esi, 1
jmp 0x4483e5
xor esi, esi
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x4483fd
mov eax, 2
jmp 0x448415
call fcn.0043f550
or eax, edx
mov edx, dword [ebp - 0x260]
je 0x448413
mov eax, 1
jmp 0x448415
xor eax, eax
cmp byte [edx + ebx*4], 0x48
lea eax, [eax + esi*2]
jne 0x448428
movzx ecx, byte [esi + eax + 0x553724]
jmp 0x448430
movzx ecx, byte [esi + eax + 0x554358]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [ebp - 0x274], ebx
cmp ecx, 2
jne 0x44846d
mov ax, word [ebx + 0x1c]
mov ecx, 0xbe01
mov esi, dword [ebp - 0x268]
and ax, cx
mov ecx, dword [ebp - 0x264]
or ax, 1
mov word [ebx + 0x1c], ax
inc esi
mov edi, ebx
jmp 0x446dcb
mov eax, ecx
mov ecx, 0xbe04
cdq
mov dword [ebx + 0x10], eax
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [ebx + 0x14], edx
or ax, 4
mov word [ebx + 0x1c], ax
jmp 0x447351
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [ebp - 0x274], ebx
je 0x4484dd
mov ecx, ebx
call fcn.0043f890
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov edi, ebx
mov dword [ebp - 0x268], esi
jmp 0x446dd1
call fcn.0043f550
or eax, edx
jne 0x448516
mov eax, 1
mov ecx, ebx
cdq
push edx
push eax
call fcn.0043f8e0
mov edi, dword [ebp - 0x274]
add esp, 8
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x446dd1
xor eax, eax
mov ecx, ebx
cdq
push edx
push eax
call fcn.0043f8e0
mov edi, dword [ebp - 0x274]
add esp, 8
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x446dd1
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [ebp - 0x274], ebx
je 0x448591
mov ecx, ebx
call fcn.0043f890
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov edi, ebx
mov dword [ebp - 0x268], esi
jmp 0x446dd1
call fcn.0043f550
not edx
not eax
push edx
push eax
mov ecx, ebx
call fcn.0043f8e0
mov edi, dword [ebp - 0x274]
add esp, 8
mov ecx, dword [ebp - 0x264]
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x446dd1
mov eax, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x260]
mov eax, dword [eax + 0xc8]
mov ecx, dword [edx + ebx*4 + 4]
cmp byte [eax + ecx], 0
je 0x4485fb
mov ecx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
mov byte [eax + ecx], 1
inc esi
mov ecx, dword [ebp - 0x264]
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
je 0x44862e
mov ecx, dword [edx + ebx*4 + 0xc]
jmp 0x44865e
call fcn.0043f600
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x448647
mov ecx, 1
jmp 0x448649
xor ecx, ecx
mov edx, dword [ebp - 0x260]
cmp byte [edx + ebx*4], 0x2d
jne 0x44865e
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
je 0x44867f
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
mov ecx, dword [ebp - 0x268]
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
mov edi, dword [ebp - 0x274]
je 0x4486c2
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
mov ecx, dword [ebp - 0x264]
jne 0x4486c2
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x446dcb
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 0xc]
mov edi, dword [ecx + ebx*4 + 8]
mov ecx, dword [ecx + ebx*4 + 4]
mov dword [ebp - 0x14c], edi
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x28c], ecx
movsx eax, word [ecx + 0x14]
add eax, 0x16
lea esi, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x2a0], esi
mov dword [ebp - 0x294], eax
call fcn.00443070
mov edx, eax
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44c8aa
mov edx, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x26c]
mov eax, dword [edx + 0x44]
cmp eax, dword [ecx + 0x48]
jne 0x448781
mov eax, dword [ebp - 0x260]
test byte [eax + ebx*4 + 3], 0x20
je 0x4488d7
cmp byte [edx + 0x19], 0
je 0x4487d3
cmp dword [ebp - 0x294], 0
jne 0x4487b4
mov eax, dword [edx + 0x10]
lea edi, [edx + 0x48]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8 + 0x18]
mov dword [edx + 0x4c], esi
mov dword [edi], esi
mov eax, dword [ecx + eax*8 + 4]
mov dword [edx + 0x54], eax
jmp 0x448852
mov ebx, dword [ebp - 0x284]
mov ecx, 0xbe01
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
jmp 0x448c1e
test byte [edx + 0x1c], 4
mov ecx, dword [ebp - 0x294]
jne 0x448811
lea edx, [ebp - 0xf8]
call fcn.00438bb0
mov ecx, dword [ebp - 0x294]
mov edx, dword [ebp - 0x28c]
lea edi, [edx + 0x48]
movzx eax, word [ecx + 0x2c]
add eax, dword [ecx + 0x20]
movzx esi, word [ecx + 0x2e]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 0xf8]
mov dword [edi], eax
jmp 0x448835
lea edi, [edx + 0x48]
mov edx, edi
call fcn.00438c40
mov ecx, dword [ebp - 0x294]
mov edx, dword [ebp - 0x28c]
movzx eax, word [ecx + 0x2c]
add eax, dword [ecx + 0x20]
movzx esi, word [ecx + 0x2e]
mov dword [edx + 0x54], eax
mov eax, dword [edi]
cmp eax, esi
ja 0x448840
mov dword [edx + 0x4c], eax
jmp 0x448843
mov dword [edx + 0x4c], esi
mov ecx, dword [ebp - 0x264]
cmp eax, dword [ecx + 0x58]
ja 0x44c9bd
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + 0x54]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x44], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x448877
movzx ecx, al
mov eax, 1
mov dword [ebp - 0x2d8], ecx
jmp 0x448891
lea edx, [ebp - 0x2d8]
call fcn.00427d00
mov ecx, dword [ebp - 0x2d8]
mov edx, dword [ebp - 0x28c]
movzx eax, al
movzx eax, al
mov dword [edx + 0x50], eax
xor eax, eax
mov word [edx + 0x16], ax
mov eax, dword [ebp - 0x2a0]
mov dword [eax], ecx
cmp esi, ecx
jae 0x4488b7
mov dword [edx + 0x54], 0
mov dword [edx + 0x4c], 0
cmp ecx, 0x18003
ja 0x448c59
cmp ecx, dword [edi]
ja 0x448c59
mov edi, dword [ebp - 0x14c]
mov esi, dword [ebp - 0x2a0]
movzx eax, word [edx + 0x16]
cmp eax, edi
jg 0x448aca
mov eax, dword [edx + 0x50]
cmp eax, dword [esi]
jae 0x448a78
mov ecx, dword [edx + 0x54]
mov dword [ebp - 0x290], ecx
test ecx, ecx
jne 0x44895b
mov ecx, dword [ebp - 0x294]
lea eax, [ebp - 0x178]
push eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x178], xmm0
movups xmmword [ebp - 0x168], xmm0
movq qword [ebp - 0x158], xmm0
mov eax, dword [edx + 0x1c]
xor edx, edx
shr eax, 2
not eax
and eax, 1
push eax
push dword [esi]
call fcn.0043fd40
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x448a55
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x290], ecx
movzx edi, word [edx + 0x16]
mov eax, dword [esi + edi*4]
mov esi, dword [edx + 0x50]
mov dword [ebp - 0x29c], eax
add esi, ecx
mov eax, dword [ebp - 0x2a0]
mov eax, dword [eax]
add eax, ecx
mov dword [ebp - 0x280], eax
nop dword [eax]
mov al, byte [esi]
cmp al, 0x80
jae 0x448992
movzx ecx, al
inc esi
mov dword [ebp - 0x2d0], ecx
jmp 0x4489b0
lea edx, [ebp - 0x2d0]
mov ecx, esi
call fcn.00427d00
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x28c]
movzx eax, al
add esi, eax
mov dword [edx + edi*4 + 0x58], ecx
call fcn.00443250
mov ecx, dword [ebp - 0x29c]
add ecx, eax
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x2d8], ecx
cmp ecx, eax
jb 0x4489ed
mov eax, dword [ebp - 0x2a0]
inc edi
mov dword [eax + edi*4], ecx
cmp edi, dword [ebp - 0x14c]
jg 0x4489f4
cmp esi, dword [ebp - 0x280]
jb 0x448980
jmp 0x4489f4
mov esi, dword [ebp - 0x280]
inc esi
mov eax, esi
mov word [edx + 0x16], di
sub eax, dword [ebp - 0x290]
cmp dword [edx + 0x54], 0
mov dword [edx + 0x50], eax
jne 0x448a2c
lea ecx, [ebp - 0x178]
call fcn.0043f4d0
mov ecx, dword [ebp - 0x29c]
mov eax, 1
mov edx, dword [ebp - 0x28c]
mov word [ebp - 0x15c], ax
mov edi, dword [ebp - 0x280]
cmp esi, edi
ja 0x448a45
mov eax, dword [edx + 0x48]
cmp ecx, eax
ja 0x448a45
cmp esi, edi
jne 0x448a6c
cmp ecx, eax
je 0x448a6c
mov ecx, 0x11121
call fcn.0048c610
mov dword [ebp - 0x270], eax
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov esi, dword [ebp - 0x2a0]
mov edi, dword [ebp - 0x14c]
movzx eax, word [edx + 0x16]
cmp eax, edi
jg 0x448aca
mov edx, dword [ebp - 0x260]
cmp byte [edx + ebx*4 + 1], 0xf8
jne 0x448aab
mov edx, dword [edx + ebx*4 + 0x10]
mov ebx, dword [ebp - 0x284]
mov ecx, ebx
push 0x800
call fcn.0043f9f0
add esp, 4
jmp 0x448c1e
mov ebx, dword [ebp - 0x284]
mov ecx, 0xbe01
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
jmp 0x448c24
mov eax, dword [edx + 0x4c]
cmp eax, dword [esi + edi*4 + 4]
jb 0x448b09
mov ebx, dword [ebp - 0x284]
mov eax, 0x2460
test word [ebx + 0x1c], ax
je 0x448af1
mov ecx, ebx
call fcn.0043f480
mov edx, dword [ebp - 0x28c]
mov ecx, dword [edx + 0x54]
add ecx, dword [esi + edi*4]
mov edx, dword [edx + edi*4 + 0x58]
push ebx
call fcn.004432f0
add esp, 4
jmp 0x448c15
mov eax, dword [ebp - 0x260]
mov ecx, dword [edx + edi*4 + 0x58]
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x2d0], ecx
mov al, byte [eax + ebx*4 + 3]
test al, 0xc0
je 0x448b35
cmp ecx, 0xc
jb 0x448b31
test cl, 1
je 0x448b40
test al, al
js 0x448b40
call fcn.00443250
mov esi, eax
test esi, esi
jne 0x448b5c
mov ebx, dword [ebp - 0x284]
lea eax, [ebp - 0xf8]
xor edx, edx
cmp ecx, 0xd
mov dword [ebp - 0x154], edx
cmova eax, edx
jmp 0x448bd5
mov ebx, dword [ebp - 0x284]
lea ecx, [ebp - 0x178]
xorps xmm0, xmm0
mov edx, ebx
movups xmmword [ebp - 0x178], xmm0
movups xmmword [ebp - 0x168], xmm0
movq qword [ebp - 0x158], xmm0
call fcn.0043fb50
mov ecx, dword [ebp - 0x28c]
lea eax, [ebp - 0x178]
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x294]
shr eax, 2
not eax
and eax, 1
push eax
mov eax, dword [ebp - 0x2a0]
push esi
mov edx, dword [eax + edi*4]
call fcn.0043fd40
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x448a55
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x27c]
mov edx, ecx
mov ecx, eax
push ebx
call fcn.004432f0
add esp, 4
cmp dword [ebp - 0x154], 0
je 0x448c15
mov ax, word [ebx + 0x1c]
mov ecx, 0xe7ff
and ax, cx
mov ecx, 0x200
or ax, cx
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x174]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x154]
mov dword [ebx + 0x24], eax
mov al, byte [ebp - 0x298]
mov byte [ebx + 0x1e], al
mov edx, dword [ebp - 0x260]
mov eax, 0x1000
test word [ebx + 0x1c], ax
je 0x44976b
mov ecx, ebx
call fcn.0043f210
mov ecx, dword [ebp - 0x264]
test eax, eax
jne 0x44cb71
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov ecx, 0x110df
jmp 0x448a4a
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
mov esi, dword [edx + ebx*4 + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
test al, al
je 0x44720b
nop word [eax + eax]
push dword [ebp - 0x298]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.00446bc0
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x448c90
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
inc esi
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
jmp 0x446dcb
mov ecx, dword [ebp - 0x260]
xor eax, eax
mov edx, dword [ebp - 0x278]
xorps xmm0, xmm0
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x294], eax
mov eax, dword [ecx + ebx*4 + 4]
mov esi, dword [ecx + ebx*4 + 0x10]
movlpd qword [ebp - 0x2c8], xmm0
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
mov dword [ebp - 0x284], edi
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [edi + eax*8]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x26c]
movzx edx, byte [eax + 0x57]
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x29c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x274], eax
test esi, esi
je 0x448d69
mov al, byte [esi]
push dword [ebp - 0x298]
mov dl, al
mov ecx, edi
call fcn.00446bc0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x448d44
mov edx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x2c4]
mov esi, dword [ebp - 0x290]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x14c], eax
mov ecx, esi
call fcn.00443140
mov ebx, eax
mov ecx, ebx
call fcn.00443250
mov edi, eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x448dc6
mov ecx, dword [ebp - 0x14c]
or ecx, dword [ebp - 0x280]
je 0x448dbb
mov ecx, esi
call fcn.0043f270
jmp 0x448dc6
mov eax, dword [esi + 0x10]
add dword [ebp - 0x294], eax
sub edi, eax
mov eax, edi
mov edi, dword [ebp - 0x280]
cdq
add dword [ebp - 0x14c], eax
adc edi, edx
mov dword [ebp - 0x280], edi
cmp ebx, 0x7f
ja 0x448de9
mov eax, 1
jmp 0x448df4
push 0
push ebx
call fcn.00427d80
add esp, 8
mov ecx, dword [ebp - 0x28c]
sub esi, 0x28
mov ebx, dword [ebp - 0x284]
add ecx, eax
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x28c], ecx
cmp esi, ebx
jae 0x448d87
cmp ecx, 0x7e
jle 0x448e4d
mov eax, ecx
cdq
push edx
push eax
call fcn.00427d80
mov esi, eax
mov eax, dword [ebp - 0x28c]
add eax, esi
mov dword [ebp - 0x28c], eax
cdq
push edx
push eax
call fcn.00427d80
mov ecx, dword [ebp - 0x28c]
add esp, 0x10
cmp esi, eax
jge 0x448e54
inc ecx
mov dword [ebp - 0x28c], ecx
mov eax, ecx
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x264]
add esi, dword [ebp - 0x14c]
mov dword [ebp - 0x27c], esi
adc ecx, edi
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x44c9b7
jl 0x448e85
cmp esi, eax
ja 0x44c9b7
mov edx, esi
mov esi, dword [ebp - 0x274]
push 0
mov ecx, esi
call fcn.0043f0e0
add esp, 4
test eax, eax
jne 0x44cb6b
mov eax, dword [ebp - 0x28c]
mov edi, dword [esi + 4]
cmp eax, 0x80
jae 0x448eba
mov byte [edi], al
mov eax, 1
jmp 0x448ec3
mov edx, eax
mov ecx, edi
call fcn.00427b50
movzx esi, al
nop word [eax + eax]
mov edx, dword [ebp - 0x29c]
mov ecx, ebx
call fcn.00443140
mov ebx, eax
cmp ebx, 0x80
jae 0x448ef1
mov byte [esi + edi], bl
mov eax, 1
jmp 0x448efb
lea ecx, [esi + edi]
mov edx, ebx
call fcn.00427b50
mov ecx, dword [ebp - 0x28c]
push ebx
mov ebx, dword [ebp - 0x284]
mov edx, ebx
movzx eax, al
lea ecx, [ecx + edi]
add esi, eax
call fcn.00443270
add dword [ebp - 0x28c], eax
add ebx, 0x28
add esp, 4
mov dword [ebp - 0x284], ebx
cmp ebx, dword [ebp - 0x290]
jbe 0x448ed0
mov ebx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x27c]
mov dword [ebx + 0x18], eax
mov eax, 0x10
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x294]
mov dword [ebx + 0x20], 0
test eax, eax
je 0x448f66
mov dword [ebx + 0x10], eax
mov eax, 0x4010
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1e], 1
jmp 0x447351
mov eax, dword [ebp - 0x260]
lea edx, [ebp - 0x308]
xorps xmm0, xmm0
movlpd qword [ebp - 0x308], xmm0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
call fcn.0043ce30
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x308]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x304]
mov dword [edi + 0x14], eax
jmp 0x449901
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0x284], eax
test eax, eax
jne 0x4490b6
cmp dword [ecx + 0x94], eax
jg 0x44c7eb
mov ecx, edi
call fcn.00426de0
mov esi, dword [ebp - 0x264]
xor edx, edx
mov ebx, eax
mov ecx, dword [esi + 0x1ec]
add ecx, dword [esi + 0x1e8]
push ecx
mov ecx, esi
call fcn.0047d640
mov edx, eax
add esp, 4
mov dword [ebp - 0x270], edx
mov ecx, esi
test edx, edx
jne 0x44c8b0
lea edx, [ebx + 0x21]
call fcn.00424920
mov esi, eax
test esi, esi
je 0x44909e
lea ecx, [ebx + 1]
push ecx
lea edx, [esi + 0x20]
push edi
push edx
mov dword [esi], edx
call fcn.00496d40
mov ecx, dword [ebp - 0x264]
add esp, 0xc
cmp byte [ecx + 0x3e], 0
je 0x449053
mov byte [ecx + 0x3e], 0
mov byte [ecx + 0x45], 1
jmp 0x449059
inc dword [ecx + 0x1e8]
mov eax, dword [ecx + 0x1e0]
mov edi, dword [ebp - 0x274]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 0x1f0]
mov dword [ecx + 0x1e0], esi
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x1f4]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x1f8]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x1fc]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0x268]
inc esi
jmp 0x446dc5
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
inc esi
mov edi, dword [ebp - 0x274]
jmp 0x446dc5
mov esi, dword [ecx + 0x1e0]
xor ebx, ebx
mov dword [ebp - 0x290], esi
test esi, esi
je 0x4490eb
push edi
push dword [esi]
call fcn.00427040
add esp, 8
test eax, eax
je 0x44911b
mov esi, dword [esi + 0x18]
inc ebx
mov dword [ebp - 0x290], esi
test esi, esi
jne 0x4490c8
mov ecx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x26c]
push edi
push str.no_such_savepoint:__s
push ecx
add eax, 0x2c
push eax
call fcn.00424ac0
mov eax, dword [ebp - 0x268]
mov edx, 1
add esp, 0x10
mov dword [ebp - 0x270], edx
inc eax
jmp 0x44992d
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x284]
cmp dword [ecx + 0x94], 0
jle 0x449139
cmp edx, 1
je 0x44c81a
cmp dword [esi + 0x18], 0
jne 0x4491a7
cmp byte [ecx + 0x45], 0
je 0x4491a7
mov dword [ebp - 0x280], 1
cmp edx, 1
jne 0x4491b1
mov ecx, dword [ebp - 0x26c]
call fcn.00442690
mov edi, eax
test edi, edi
jne 0x44cac3
mov eax, dword [ebp - 0x264]
mov edi, dword [ebp - 0x26c]
mov ecx, edi
mov byte [eax + 0x3e], 1
call fcn.00442700
mov ecx, dword [ebp - 0x264]
cmp eax, 5
je 0x44c849
mov byte [ecx + 0x45], 0
mov eax, dword [edi + 0x50]
mov edi, dword [ebp - 0x284]
mov dword [ebp - 0x270], eax
jmp 0x449275
mov dword [ebp - 0x280], 0
mov eax, dword [ecx + 0x1e8]
sub eax, ebx
dec eax
mov dword [ebp - 0x294], eax
cmp edx, 2
jne 0x449202
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
jle 0x449202
xor edi, edi
mov esi, ecx
mov ecx, dword [esi + 0x10]
mov edx, 4
mov ecx, dword [edi + ecx + 4]
call fcn.00438770
inc ebx
lea edi, [edi + 0x10]
cmp ebx, dword [esi + 0x14]
jl 0x4491d0
mov esi, dword [ebp - 0x290]
mov eax, dword [ebp - 0x294]
mov edx, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x264]
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
jle 0x44924b
xor edi, edi
nop dword [eax + eax]
mov ecx, dword [ecx + 0x10]
push eax
mov ecx, dword [edi + ecx + 4]
call fcn.00438980
mov ecx, dword [ebp - 0x264]
mov edx, eax
add esp, 4
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44c8b0
mov eax, dword [ebp - 0x294]
inc ebx
mov edx, dword [ebp - 0x284]
add edi, 0x10
cmp ebx, dword [ecx + 0x14]
jl 0x449210
mov edi, dword [ebp - 0x284]
cmp edi, 2
jne 0x44926f
test byte [ecx + 0x18], 2
je 0x44926f
call fcn.004444f0
call fcn.0045a910
mov ecx, dword [ebp - 0x264]
or dword [ecx + 0x18], edi
mov ebx, dword [ebp - 0x294]
cmp dword [ecx + 0x1e0], esi
je 0x4492a8
nop dword [eax]
mov edx, dword [ecx + 0x1e0]
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x1e0], eax
call fcn.004246f0
mov ecx, dword [ebp - 0x264]
dec dword [ecx + 0x1e8]
cmp dword [ecx + 0x1e0], esi
jne 0x449280
cmp edi, 1
jne 0x4492d4
mov eax, dword [esi + 0x18]
mov edx, esi
mov dword [ecx + 0x1e0], eax
call fcn.004246f0
cmp dword [ebp - 0x280], 0
mov ecx, dword [ebp - 0x264]
jne 0x449322
dec dword [ecx + 0x1e8]
jmp 0x449301
cmp dword [ebp - 0x280], 0
mov eax, dword [esi + 8]
mov dword [ecx + 0x1f0], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1f4], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x1f8], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x1fc], eax
jne 0x449322
push ebx
mov edx, edi
call fcn.0047d640
mov ecx, dword [ebp - 0x264]
mov edx, eax
add esp, 4
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44c8b0
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov eax, dword [ebp - 0x260]
mov edx, dword [eax + ebx*4 + 8]
test edx, edx
je 0x44934e
test dword [ecx + 0x18], 0x2000000
jne 0x44c869
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x264]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x449484
mov ecx, esi
call fcn.00437830
mov edx, eax
mov dword [ebp - 0x270], edx
cmp edx, 5
je 0x44c876
test edx, edx
jne 0x44c8aa
mov eax, dword [ebp - 0x260]
cmp dword [eax + ebx*4 + 8], edx
je 0x44944a
mov edx, dword [ebp - 0x26c]
test byte [edx + 0x58], 0x80
je 0x44944a
mov ecx, dword [ebp - 0x264]
cmp byte [ecx + 0x3e], 0
je 0x4493c2
cmp dword [ecx + 0x90], 1
jle 0x44944a
cmp dword [edx + 0x68], 0
jne 0x4493dd
mov eax, dword [ecx + 0x1e8]
inc dword [ecx + 0x1ec]
add eax, dword [ecx + 0x1ec]
mov dword [edx + 0x68], eax
mov eax, dword [edx + 0x68]
xor edx, edx
dec eax
push eax
call fcn.0047d640
mov edx, eax
add esp, 4
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44940e
mov eax, dword [ebp - 0x26c]
mov ecx, esi
mov edx, dword [eax + 0x68]
call fcn.00438930
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x26c]
mov eax, dword [ecx + 0x1f0]
mov dword [edx + 0x98], eax
mov eax, dword [ecx + 0x1f4]
mov dword [edx + 0x9c], eax
mov eax, dword [ecx + 0x1f8]
mov dword [edx + 0xa0], eax
mov eax, dword [ecx + 0x1fc]
mov dword [edx + 0xa4], eax
lea eax, [ebp - 0x2e0]
mov edx, 1
push eax
mov ecx, esi
call fcn.0043cd20
mov edx, dword [ebp - 0x260]
add esp, 4
mov eax, dword [ebp - 0x264]
mov esi, dword [ebp - 0x2e0]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x449494
mov edx, dword [ebp - 0x260]
xor esi, esi
mov dword [ebp - 0x2e0], esi
xor eax, eax
cmp byte [edx + ebx*4 + 3], 0
je 0x449771
cmp esi, dword [edx + ebx*4 + 0xc]
jne 0x4494af
cmp eax, dword [edx + ebx*4 + 0x10]
je 0x449771
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x264]
mov edx, dword [eax + 0x2c]
call fcn.004246f0
mov ecx, dword [ebp - 0x264]
mov edx, str.database_schema_has_changed
call fcn.00424a30
mov ecx, dword [ebp - 0x26c]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x260]
mov edx, dword [eax + ebx*4 + 4]
mov ecx, edx
mov ebx, dword [ebp - 0x264]
add ecx, ecx
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], esi
je 0x449502
mov ecx, ebx
call fcn.0045a8d0
mov ecx, dword [ebp - 0x26c]
mov esi, dword [ebp - 0x268]
mov dword [ebp - 0x270], 0x11
or dword [ecx + 0x58], 0x20
mov ecx, ebx
jmp case.default.0x446e40
mov edx, dword [ebp - 0x260]
lea eax, [ebp - 0x2e4]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [edx + ebx*4 + 4]
mov edx, dword [edx + ebx*4 + 0xc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0043cd20
mov eax, dword [ebp - 0x2e4]
add esp, 4
mov ecx, dword [ebp - 0x264]
inc esi
cdq
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0x260]
mov dword [edi + 0x10], eax
mov dword [ebp - 0x268], esi
jmp 0x446dd1
mov eax, dword [ebp - 0x260]
mov esi, dword [eax + ebx*4 + 4]
mov eax, dword [eax + ebx*4 + 0xc]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.0043f700
mov eax, dword [ebp - 0x260]
push dword [edi + 0x10]
mov ecx, dword [esi + 4]
mov edx, dword [eax + ebx*4 + 8]
call fcn.0043cd90
mov edx, dword [ebp - 0x260]
add esp, 4
mov dword [ebp - 0x270], eax
mov eax, dword [edx + ebx*4 + 8]
cmp eax, 1
jne 0x4495d6
mov ecx, dword [esi + 0xc]
mov eax, dword [edi + 0x10]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x264]
or dword [ecx + 0x18], 2
jmp 0x4495ea
cmp eax, 2
jne 0x4495e4
mov ecx, dword [esi + 0xc]
mov al, byte [edi + 0x10]
mov byte [ecx + 0x4c], al
mov ecx, dword [ebp - 0x264]
cmp dword [edx + ebx*4 + 4], 1
jne 0x449600
call fcn.004444f0
mov esi, dword [ebp - 0x26c]
and dword [esi + 0x58], 0xffffffdf
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
jmp 0x44990d
mov eax, dword [ebp - 0x26c]
test byte [eax + 0x58], 0x20
jne 0x44c8c9
mov eax, dword [ebp - 0x260]
xor edi, edi
mov dword [ebp - 0x290], edi
mov ecx, dword [eax + ebx*4 + 8]
mov esi, dword [eax + ebx*4 + 0xc]
mov eax, esi
mov dword [ebp - 0x280], ecx
mov ecx, dword [ebp - 0x264]
shl eax, 4
mov dword [ebp - 0x27c], esi
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0x280]
cmp dl, 0x35
jne 0x449685
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x26c]
mov dword [ebp - 0x29c], 1
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x57]
jae 0x44968b
mov byte [edx + 0x57], al
jmp 0x44968b
mov dword [ebp - 0x29c], edi
mov eax, dword [ebp - 0x260]
test byte [eax + ebx*4 + 3], 2
je 0x4496c3
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x278]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0043f700
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x280], eax
cmp eax, 2
jl 0x44c898
mov esi, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x260]
mov al, byte [ecx + ebx*4 + 1]
cmp al, 0xfa
jne 0x4496e7
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x290], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x4496ef
cmp al, 0xf2
jne 0x4496ef
mov edi, dword [ecx + ebx*4 + 0x10]
mov edx, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0x26c]
push 1
push esi
push edi
call fcn.00446a70
mov esi, eax
add esp, 0xc
test esi, esi
je 0x44cb6b
push dword [esi]
mov edi, dword [ebp - 0x290]
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0xd8]
or dword [esi + 0x1c], 8
push edi
push dword [ebp - 0x29c]
mov byte [esi + 0x19], 1
call fcn.00438a30
mov edx, dword [ebp - 0x260]
add esp, 0xc
mov dword [ebp - 0x270], eax
mov eax, dword [esi]
mov dword [esi + 8], edi
mov cl, byte [edx + ebx*4 + 3]
and cl, 1
mov byte [eax + 0x52], cl
xor eax, eax
cmp byte [edx + ebx*4 + 1], 0xfa
setne al
shl eax, 2
xor eax, dword [esi + 0x1c]
and eax, 4
xor dword [esi + 0x1c], eax
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x44990d
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
push 1
push 0xffffffffffffffff
push dword [eax + ebx*4 + 8]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00446a70
mov esi, eax
add esp, 0xc
test esi, esi
je 0x44cb6b
mov eax, dword [ebp - 0x260]
lea edi, [esi + 4]
or dword [esi + 0x1c], 1
xor edx, edx
mov byte [esi + 0x19], 1
push 0x41e
movzx eax, byte [eax + ebx*4 + 3]
or eax, 5
push eax
mov eax, dword [ebp - 0x264]
push edi
push eax
mov ecx, dword [eax]
call fcn.004368c0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x449889
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.00437830
mov ecx, eax
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x449889
mov ecx, dword [ebp - 0x260]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x27c], eax
test eax, eax
je 0x44986a
movzx eax, byte [ecx + ebx*4 + 3]
lea edx, [ebp - 0x2e8]
mov ecx, dword [edi]
or eax, 2
push eax
call fcn.0043c880
add esp, 4
mov dword [ebp - 0x270], eax
test eax, eax
jne 0x449864
push dword [esi]
mov eax, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x2e8]
mov ecx, dword [edi]
push eax
push 1
mov dword [esi + 8], eax
call fcn.00438a30
add esp, 0xc
mov dword [ebp - 0x270], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x449889
push dword [esi]
mov ecx, dword [edi]
mov edx, 1
push 0
push 1
call fcn.00438a30
add esp, 0xc
mov dword [ebp - 0x270], eax
or dword [esi + 0x1c], 4
mov edx, dword [ebp - 0x260]
xor eax, eax
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
cmp byte [edx + ebx*4 + 3], 8
setne al
shl eax, 3
xor eax, dword [esi + 0x1c]
and eax, 8
xor dword [esi + 0x1c], eax
mov esi, dword [ebp - 0x268]
jmp 0x44990d
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
push 1
push 0xffffffffffffffff
push dword [eax + ebx*4 + 8]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00446a70
add esp, 0xc
test eax, eax
je 0x44cb6b
mov ecx, dword [ebp - 0x260]
mov edx, eax
mov ecx, dword [ecx + ebx*4 + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x264]
call fcn.0044e050
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
inc esi
cmp dword [ebp - 0x270], 0
mov dword [ebp - 0x268], esi
je 0x446dd1
mov edx, dword [ebp - 0x270]
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x26c]
push dword [ecx + 0x2c]
mov dword [ecx + 0x50], edx
push dword [ecx + 0xa8]
push eax
push str.statement_aborts_at__d:___s___s
push edx
call fcn.00426530
mov ecx, dword [ebp - 0x26c]
add esp, 0x14
call fcn.00442700
cmp dword [ebp - 0x270], 0xc0a
mov ecx, dword [ebp - 0x264]
jne 0x44996f
mov byte [ecx + 0x40], 1
mov al, byte [ebp - 0x2a1]
mov edi, 1
test al, al
je 0x4499af
mov ebx, dword [ebp - 0x264]
movzx esi, al
dec esi
mov ecx, esi
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.00460590
add esp, 4
cmp esi, edi
je 0x4499ad
mov eax, dword [ebx + 0x10]
push dword [eax + 0x1c]
call fcn.00460590
add esp, 4
mov ecx, ebx
mov eax, dword [ebp - 0x2ac]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x2b0]
add dword [ecx + 0x7c], eax
call fcn.004410c0
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0048cd50
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x26c]
push 0
push 0xffffffffffffffff
push dword [eax + ebx*4 + 0xc]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00446a70
add esp, 0xc
test eax, eax
je 0x44cb6b
mov edx, dword [ebp - 0x260]
mov byte [eax + 0x19], 1
mov ecx, dword [edx + ebx*4 + 8]
or dword [eax + 0x1c], 4
inc esi
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x264]
jmp 0x446dcb
mov ecx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x260]
mov edx, dword [ecx + 0x38]
mov eax, dword [eax + ebx*4 + 4]
mov edx, dword [edx + eax*4]
call fcn.00441a40
mov edx, dword [ebp - 0x260]
inc esi
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x264]
jmp 0x446dcb
mov edi, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [edi + ebx*4]
mov dword [ebp - 0x284], edx
mov esi, dword [eax + ecx*4]
test byte [esi + 0x1c], 4
mov byte [esi + 0x19], 0
je 0x449b96
mov eax, dword [edi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00446b30
mov ecx, edi
call fcn.0043f550
mov byte [esi + 0x1a], 0
movzx ecx, word [edi + 0x1c]
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x280], edx
test cl, 4
jne 0x449b43
test cl, 8
jne 0x449b03
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x274]
mov ecx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x290]
call fcn.005245d0
movsd xmm1, qword [edi + 8]
comisd xmm0, xmm1
jbe 0x449b2c
mov eax, dword [ebp - 0x284]
test al, 1
jne 0x449b43
dec eax
jmp 0x449b3d
comisd xmm1, xmm0
jbe 0x449b43
mov eax, dword [ebp - 0x284]
test al, 1
je 0x449b43
inc eax
mov dword [ebp - 0x284], eax
mov edi, dword [ebp - 0x290]
lea eax, [ebp - 0xe4]
mov ecx, dword [esi]
xor edx, edx
push eax
push 0
push dword [ebp - 0x280]
push edi
call fcn.004395b0
mov edx, eax
add esp, 0x10
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44c8aa
cmp dword [ebp - 0xe4], eax
jne 0x449c15
mov eax, dword [ebp - 0x280]
mov byte [esi + 0x1a], 1
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], eax
jmp 0x449c15
mov ecx, dword [edi + ebx*4 + 0x10]
mov eax, dword [esi + 8]
mov dword [ebp - 0x1fc], eax
lea eax, [edx - 1]
test al, 1
mov word [ebp - 0x1f8], cx
mov ecx, dword [ebp - 0x278]
sete al
lea eax, [eax*2 - 1]
mov byte [ebp - 0x1f6], al
mov eax, dword [edi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, 0x4000
mov dword [ebp - 0x1f4], ecx
test word [ecx + 0x1c], ax
je 0x449be5
call fcn.0043f270
mov ecx, dword [esi]
lea eax, [ebp - 0xe4]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0x1fc]
call fcn.004395b0
mov edx, eax
add esp, 0x10
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44c8aa
mov byte [esi + 0x1a], al
mov eax, dword [ebp - 0x284]
mov byte [esi + 0x1b], 0
mov dword [esi + 0x44], 0
mov ecx, dword [ebp - 0xe4]
cmp eax, 0x3d
jl 0x449c8a
test ecx, ecx
js 0x449c70
jne 0x449c3c
cmp eax, 0x3e
je 0x449c70
mov dword [ebp - 0xe4], 0
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x268]
mov edi, dword [ebp - 0x274]
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xe4], 0
push eax
push dword [esi]
call fcn.00439a30
jmp 0x449cc0
test ecx, ecx
jg 0x449ca8
jne 0x449c95
cmp eax, 0x3b
je 0x449ca8
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x51], 1
setne cl
mov dword [ebp - 0xe4], ecx
jmp 0x449cd7
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xe4], 0
push eax
push dword [esi]
call fcn.00439ba0
mov edx, eax
add esp, 8
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44c8aa
mov byte [esi + 0x1a], 0
cmp dword [ebp - 0xe4], 0
je 0x449c46
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x274]
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x278]
mov byte [esi + 0x19], 0
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0043f550
mov ecx, dword [ebp - 0x264]
mov dword [esi + 0x34], edx
mov edx, dword [ebp - 0x260]
mov dword [esi + 0x30], eax
mov word [esi + 0x1a], 0x100
mov esi, dword [ebp - 0x268]
inc esi
mov dword [ebp - 0x268], esi
jmp 0x446dd1
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov esi, dword [ebp - 0x278]
mov dword [ebp - 0x29c], 0
cmp dword [edx + ebx*4 + 0x10], 0
mov eax, dword [eax + 0x38]
mov ecx, dword [edx + ebx*4 + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov dword [ebp - 0x290], ecx
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0xd8], esi
jle 0x449e1f
mov eax, dword [ecx + 8]
xor edi, edi
mov dword [ebp - 0x18c], eax
xor eax, eax
mov dx, word [edx + ebx*4 + 0x10]
mov word [ebp - 0x188], dx
mov dword [ebp - 0x184], esi
cmp ax, dx
jae 0x449e11
mov ebx, dword [ebp - 0xd8]
xor esi, esi
nop word [eax + eax]
lea ecx, [esi + ebx]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x449e00
call fcn.0043f270
mov ebx, dword [ebp - 0x184]
mov dx, word [ebp - 0x188]
inc edi
movzx eax, dx
add esi, 0x28
cmp edi, eax
jl 0x449de0
mov ebx, dword [ebp - 0x27c]
mov esi, dword [ebp - 0x290]
lea edi, [ebp - 0x18c]
jmp 0x449e5e
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0x29c]
push eax
push 0xbf
lea edx, [ebp - 0xc8]
call fcn.00443540
mov edi, eax
add esp, 8
test edi, edi
je 0x44cb6b
mov edx, dword [esi + 0x18]
push edi
push dword [esi + 4]
mov esi, dword [ebp - 0x290]
mov ecx, dword [esi + 8]
call fcn.004435b0
add esp, 8
mov eax, dword [ebp - 0x260]
mov byte [edi + 6], 0
cmp byte [eax + ebx*4], 0x40
jne 0x449ea4
movzx edx, word [ebp - 0x188]
xor ecx, ecx
test edx, edx
jle 0x449ea4
mov eax, dword [ebp - 0x184]
add eax, 0x1c
test byte [eax], 1
jne 0x449e93
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x449e84
jmp 0x449ea4
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [ebp - 0x268], eax
mov ecx, dword [esi]
lea eax, [ebp - 0x2ec]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.004395b0
mov edx, dword [ebp - 0x260]
add esp, 0x10
mov ecx, eax
mov dword [ebp - 0x270], ecx
cmp dword [edx + ebx*4 + 0x10], 0
jne 0x449eef
mov edx, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x264]
call fcn.004246f0
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x270]
test ecx, ecx
jne 0x44976b
mov eax, dword [ebp - 0x2ec]
test eax, eax
mov dword [esi + 0xc], eax
mov al, 1
sete cl
mov byte [esi + 0x1b], 0
sub al, cl
mov dword [esi + 0x44], 0
mov byte [esi + 0x19], al
cmp byte [edx + ebx*4], 0x42
jne 0x449f48
test ecx, ecx
je 0x449c4c
mov ecx, dword [edx + ebx*4 + 8]
mov edi, dword [ebp - 0x274]
dec ecx
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
test ecx, ecx
jne 0x449c4c
mov ecx, dword [edx + ebx*4 + 8]
mov edi, dword [ebp - 0x274]
dec ecx
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
mov ecx, dword [ebp - 0x260]
xor edx, edx
mov dword [ebp - 0x290], 0
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ecx + ebx*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
lea eax, [ebp - 0x290]
push eax
mov eax, dword [ebp - 0x278]
push 0
mov ecx, dword [edi]
push dword [eax + esi*8 + 0x14]
push dword [eax + esi*8 + 0x10]
call fcn.004395b0
mov ecx, dword [ebp - 0x278]
add esp, 0x10
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x270], eax
mov eax, dword [ecx + esi*8 + 0x10]
mov dword [edi + 0x38], eax
mov eax, dword [ecx + esi*8 + 0x14]
mov ecx, dword [ebp - 0x290]
test ecx, ecx
mov dword [edi + 0x3c], eax
sete al
mov byte [edi + 0x19], 0
mov byte [edi + 0x1a], al
mov dword [edi + 0x44], 0
mov byte [edi + 0x1b], 0
test ecx, ecx
je 0x44a009
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [ebp - 0x268], eax
mov esi, dword [ebp - 0x268]
mov dword [edi + 0xc], ecx
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
jmp 0x44990d
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x28]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x2c]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x264]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
inc esi
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
xorps xmm0, xmm0
mov esi, dword [ebp - 0x26c]
movlpd qword [ebp - 0xe0], xmm0
mov dword [ebp - 0x284], 0
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x28c], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x44a2cb
test byte [eax + 0x1c], 2
jne 0x44a132
lea edx, [ebp - 0x284]
call fcn.00439550
mov edx, eax
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44c8ed
cmp dword [ebp - 0x284], eax
je 0x44a0de
mov edx, dword [ebp - 0x260]
lea esi, [eax + 1]
xor edi, edi
jmp 0x44a13e
mov eax, dword [ebp - 0x28c]
lea edx, [ebp - 0xe0]
mov ecx, dword [eax]
call fcn.00438bb0
mov edi, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0x270], eax
cmp edi, 0x7fffffff
jl 0x44a124
jg 0x44a112
cmp esi, 0xffffffff
jb 0x44a124
mov eax, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x260]
or dword [eax + 0x1c], 2
jmp 0x44a13e
mov edx, dword [ebp - 0x260]
add esi, 1
adc edi, 0
jmp 0x44a13e
mov edi, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [edx + ebx*4 + 0xc]
test ecx, ecx
je 0x44a1c9
mov eax, dword [ebp - 0x26c]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x44a175
mov eax, dword [edx + 4]
test eax, eax
je 0x44a16a
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x44a161
mov eax, dword [edx + 0xc]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
jmp 0x44a181
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x278]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.0043f700
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
cmp eax, 0xffffffff
jne 0x44a19f
cmp ecx, 0x7fffffff
je 0x44c8e0
mov edx, dword [ebp - 0x28c]
test byte [edx + 0x1c], 2
jne 0x44c8e0
add eax, 1
adc ecx, 0
cmp edi, ecx
jg 0x44a1c3
jl 0x44a1bf
cmp esi, eax
jae 0x44a1c3
mov esi, eax
mov edi, ecx
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], edi
mov eax, dword [ebp - 0x28c]
test byte [eax + 0x1c], 2
je 0x44a2b6
mov edi, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x284]
mov esi, dword [ebp - 0x2ac]
and edi, 0x3fffffff
add esi, 1
push ecx
mov ecx, dword [eax]
adc edi, 0
xor ebx, ebx
mov dword [ebp - 0xe0], esi
push ebx
push edi
push esi
xor edx, edx
mov dword [ebp - 0xdc], edi
call fcn.004395b0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x44a2b0
mov eax, dword [ebp - 0x284]
test eax, eax
jne 0x44a2a4
inc ebx
cmp ebx, 0x64
jge 0x44a2a4
lea eax, [ebp - 0xe0]
push eax
push 8
call fcn.00426570
mov esi, dword [ebp - 0xe0]
add esp, 8
cmp ebx, 5
jge 0x44a25b
and esi, 0xffffff
xor edi, edi
jmp 0x44a267
mov edi, dword [ebp - 0xdc]
and edi, 0x3fffffff
add esi, 1
lea eax, [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x28c]
adc edi, 0
push 0
push edi
push esi
mov ecx, dword [eax]
xor edx, edx
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xdc], edi
call fcn.004395b0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x270], ecx
test ecx, ecx
je 0x44a225
jmp 0x44a2b0
test ecx, ecx
jne 0x44a2b0
test eax, eax
je 0x44c8e0
mov eax, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x260]
mov word [eax + 0x1a], 0
mov dword [eax + 0x44], 0
jmp 0x44a2d7
mov edi, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov dword [eax + 0x10], esi
mov esi, dword [ebp - 0x268]
mov dword [eax + 0x14], edi
mov edi, eax
jmp 0x44990d
mov edi, dword [ebp - 0x260]
mov eax, dword [edi + ebx*4 + 8]
mov ecx, dword [edi + ebx*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x280], eax
mov eax, dword [edi + ebx*4 + 0xc]
cmp dl, 0x46
jne 0x44a33b
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*8 + 0x10]
mov eax, dword [ecx + eax*8 + 0x14]
mov dword [ebp - 0x290], eax
jmp 0x44a346
cdq
mov edi, eax
mov dword [ebp - 0x290], edx
mov eax, edx
mov ecx, dword [ebp - 0x260]
test byte [ecx + ebx*4 + 3], 1
je 0x44a35c
mov edx, dword [ebp - 0x26c]
inc dword [edx + 0x5c]
test byte [ecx + ebx*4 + 3], 2
je 0x44a381
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x2ac], edi
mov dword [ebp - 0x2a8], eax
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
movzx eax, word [edx + esi*8 + 0x1c]
test al, 1
je 0x44a3a0
mov dword [edx + esi*8 + 4], 0
mov dword [edx + esi*8 + 0x18], 0
mov cl, byte [ecx + ebx*4 + 3]
mov byte [ebp - 0x285], cl
test cl, 0x10
je 0x44a3ba
mov edx, dword [ebp - 0x280]
mov edx, dword [edx + 0xc]
jmp 0x44a3bc
xor edx, edx
test eax, 0x4000
je 0x44a3cf
mov eax, dword [ebp - 0x278]
mov ecx, dword [eax + esi*8 + 0x10]
jmp 0x44a3d1
xor ecx, ecx
movzx eax, byte [ebp - 0x285]
push edx
shr eax, 3
xor edx, edx
and eax, 1
push eax
mov eax, dword [ebp - 0x278]
push ecx
push dword [eax + esi*8 + 0x18]
push dword [eax + esi*8 + 4]
mov eax, dword [ebp - 0x280]
mov esi, dword [ebp - 0x290]
push esi
push edi
mov ecx, dword [eax]
call fcn.0043c1c0
mov ecx, dword [ebp - 0x280]
mov edx, eax
add esp, 0x1c
mov dword [ebp - 0x270], edx
mov word [ecx + 0x1a], 0
mov dword [ecx + 0x44], 0
test edx, edx
jne 0x448a55
mov eax, dword [ebp - 0x264]
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x44c6b3
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x448a55
movsx ecx, byte [ecx + 0x18]
push esi
mov esi, dword [ebp - 0x264]
add ecx, ecx
push edi
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
mov eax, dword [ebp - 0x260]
mov ecx, 0x17
test byte [eax + ebx*4 + 3], 4
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [esi + 0xc4]
call edx
mov edi, dword [ebp - 0x274]
mov ecx, esi
mov esi, dword [ebp - 0x268]
add esp, 0x18
jmp case.default.0x446e40
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, esi
mov eax, dword [esi + 0x3c]
mov edi, dword [esi + 0x38]
mov dword [ebp - 0x27c], eax
call fcn.00443070
mov edx, eax
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44c8aa
mov ecx, dword [esi]
call fcn.0043c3e0
mov ecx, eax
mov dword [esi + 0x44], 0
mov dword [ebp - 0x270], ecx
test ecx, ecx
mov ecx, dword [ebp - 0x264]
jne 0x44a53e
mov edx, dword [ecx + 0xc8]
test edx, edx
je 0x44a53e
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x44a53e
test byte [esi + 0x1c], 4
je 0x44a53e
push dword [ebp - 0x27c]
movsx ecx, byte [esi + 0x18]
mov esi, dword [ebp - 0x264]
add ecx, ecx
push edi
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push 9
push dword [esi + 0xc4]
call edx
add esp, 0x18
mov ecx, esi
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x274]
test byte [edx + ebx*4 + 8], 1
je 0x449606
mov esi, dword [ebp - 0x26c]
inc dword [esi + 0x5c]
mov esi, dword [ebp - 0x268]
jmp 0x44990d
mov edx, dword [ebp - 0x26c]
mov eax, dword [edx + 0x5c]
add dword [ecx + 0x54], eax
inc esi
mov dword [ecx + 0x50], eax
mov dword [edx + 0x5c], 0
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x446dd1
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x2f0]
push eax
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
call fcn.0044ee20
mov edx, dword [ebp - 0x260]
add esp, 8
cmp dword [ebp - 0x2f0], 0
mov dword [ebp - 0x270], eax
je 0x44c6cc
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x44990d
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebp - 0x26c]
mov edx, edi
mov dword [ebp - 0x274], edi
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
call fcn.0044edb0
jmp 0x4498fb
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov esi, dword [ebp - 0x26c]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x274], eax
mov eax, dword [esi + 0x38]
mov ebx, dword [eax + ecx*4]
mov ecx, ebx
mov edi, dword [ebx]
call fcn.00443070
mov edx, eax
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44c8ed
test byte [ebx + 0x1c], 4
mov ecx, edi
jne 0x44a6c3
lea edx, [ebp - 0x310]
call fcn.00438bb0
mov ecx, dword [ebp - 0x264]
mov eax, dword [ecx + 0x58]
cdq
cmp dword [ebp - 0x30c], edx
jg 0x44c9bd
mov esi, dword [ebp - 0x310]
jl 0x44a6bb
cmp esi, eax
ja 0x44c9bd
mov dword [ebp - 0x2dc], esi
jmp 0x44a6e3
lea edx, [ebp - 0x2dc]
call fcn.00438c40
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x2dc]
cmp esi, dword [ecx + 0x58]
ja 0x44c9bd
mov ecx, dword [ebp - 0x274]
mov edx, esi
push 0
call fcn.0043f0e0
add esp, 4
test eax, eax
jne 0x44cb6b
mov ecx, dword [ebp - 0x274]
mov edx, 0xbe10
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ecx + 0x18], esi
or ax, 0x10
mov word [ecx + 0x1c], ax
test byte [ebx + 0x1c], 4
mov ebx, ecx
jne 0x44a751
push 0
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
push esi
call fcn.00438e60
add esp, 0xc
mov byte [ebx + 0x1e], 1
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp - 0x264]
mov edi, ebx
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
push dword [ebx + 4]
push esi
push 0
push edi
call fcn.00439200
add esp, 0x10
mov byte [ebx + 0x1e], 1
mov dword [ebp - 0x270], eax
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x19], 0
je 0x44a7b8
mov esi, dword [ebp - 0x268]
mov eax, 1
mov ecx, dword [ebp - 0x264]
inc esi
mov word [edi + 0x1c], ax
jmp 0x446dcb
cmp byte [esi + 0x1b], 0
je 0x44a7d5
mov eax, dword [esi + 0x30]
mov dword [ebp - 0xf0], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0xec], eax
jmp 0x44a84e
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x44a805
mov esi, dword [ecx]
lea edx, [ebp - 0xf0]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [ebp - 0x26c]
add esp, 8
mov edx, esi
mov dword [ebp - 0x270], eax
call fcn.004445b0
jmp 0x44a848
mov ecx, esi
call fcn.00443070
mov edx, eax
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44c8aa
cmp byte [esi + 0x1a], al
je 0x44a835
mov eax, dword [esi + 0x38]
mov dword [ebp - 0xf0], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0xec], eax
jmp 0x44a848
mov ecx, dword [esi]
lea edx, [ebp - 0xf0]
call fcn.00438bb0
mov dword [ebp - 0x270], eax
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0xec]
mov dword [edi + 0x14], eax
jmp 0x44990d
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov word [eax + 0x19], 1
mov dword [eax + 0x44], 0
test ecx, ecx
je 0x447217
call fcn.004356e0
mov edx, dword [ebp - 0x260]
inc esi
mov ecx, dword [ebp - 0x264]
jmp 0x446dcb
mov eax, dword [ebp - 0x260]
lea edx, [ebp - 0x294]
mov dword [ebp - 0x294], 0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.00439550
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x294]
mov byte [esi + 0x19], al
mov word [esi + 0x1a], 0
mov dword [esi + 0x44], 0
mov ecx, dword [edx + ebx*4 + 8]
test ecx, ecx
jle 0x449771
test eax, eax
je 0x449771
dec ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x44990d
mov eax, dword [ebp - 0x26c]
inc dword [eax + 0x74]
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, 1
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x2a0], eax
cmp dword [esi + 0x40], 0
je 0x44a98b
mov ecx, dword [ebp - 0x264]
lea eax, [ebp - 0x2a0]
push eax
mov edx, esi
call fcn.0044e940
mov dword [ebp - 0x270], eax
add esp, 4
mov eax, dword [ebp - 0x2a0]
jmp 0x44a9d0
mov edi, dword [esi]
mov ecx, edi
call fcn.004392f0
mov ecx, eax
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x44a9bd
cmp byte [edi + 0x51], al
jne 0x44a9aa
lea eax, [ecx + 1]
jmp 0x44a9c3
xor eax, eax
mov ecx, edi
call fcn.00439440
mov dword [ebp - 0x270], eax
xor eax, eax
jmp 0x44a9c3
mov eax, dword [ebp - 0x27c]
mov word [esi + 0x1a], 0
mov dword [esi + 0x44], 0
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x274]
mov byte [esi + 0x19], al
test eax, eax
je 0x449771
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x44990d
mov edi, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0xe8]
mov ecx, dword [ebp - 0x264]
mov edx, esi
push eax
mov dword [ebp - 0xe8], 0
call fcn.0044ec10
add esp, 4
jmp 0x44aa93
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
cmp dword [eax + ecx*4], 0
je 0x44c6cc
jmp 0x44aa61
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0xe8]
push eax
push dword [esi]
mov eax, dword [edx + ebx*4 + 0x10]
call eax
mov edi, dword [ebp - 0x260]
add esp, 8
mov dword [ebp - 0x270], eax
mov dword [esi + 0x44], 0
cmp dword [ebp - 0xe8], 0
jne 0x44aad0
mov ecx, dword [ebp - 0x26c]
mov byte [esi + 0x19], 0
mov eax, dword [edi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x268], eax
movzx eax, byte [edi + ebx*4 + 3]
inc dword [ecx + eax*4 + 0x6c]
mov byte [esi + 0x1a], 0
jmp 0x44c344
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 0
jmp 0x44c344
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
test byte [edx + ebx*4 + 3], 1
mov eax, dword [eax + 0x38]
mov ecx, dword [edx + ebx*4 + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [edi]
mov dword [ebp - 0x27c], ecx
je 0x44ab1b
mov eax, dword [ebp - 0x26c]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x44ab49
mov ecx, esi
call fcn.0043f270
mov edx, dword [ebp - 0x260]
mov ecx, eax
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x44976b
mov ecx, dword [ebp - 0x27c]
cmp dword [edi + 0x40], 0
je 0x44ab7d
mov ecx, dword [ebp - 0x264]
mov edx, edi
push esi
call fcn.0044e7e0
add esp, 4
mov dword [ebp - 0x270], eax
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
test byte [edx + ebx*4 + 3], 0x10
je 0x44ab89
mov eax, dword [edi + 0xc]
jmp 0x44ab8b
xor eax, eax
push eax
push dword [edx + ebx*4 + 0xc]
mov eax, dword [esi + 0x18]
push 0
push 0
cdq
push 0x55660a
push edx
mov edx, dword [esi + 4]
push eax
call fcn.0043c1c0
add esp, 0x1c
mov dword [edi + 0x44], 0
mov dword [ebp - 0x270], eax
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x278]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [ebp - 0x25c], eax
mov ax, word [edx + ebx*4 + 0xc]
mov word [ebp - 0x258], ax
mov eax, dword [edx + ebx*4 + 8]
lea edx, [ebp - 0x25c]
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 - 0x2f4]
push eax
push 0
push 0
push 0
call fcn.004395b0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x44ac56
cmp dword [ebp - 0x2f4], eax
jne 0x44ac56
mov ecx, edi
call fcn.0043c3e0
mov dword [ebp - 0x270], eax
mov dword [esi + 0x44], 0
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov ebx, dword [ebp - 0x274]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, 1
mov ecx, esi
mov edi, dword [esi]
mov word [ebx + 0x1c], ax
call fcn.00443070
mov edx, eax
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44c8e7
cmp byte [esi + 0x19], al
jne 0x44acfe
lea eax, [ebp - 0x2c8]
xorps xmm0, xmm0
push eax
mov edx, edi
movlpd qword [ebp - 0x2c8], xmm0
call fcn.004442f0
mov edx, eax
add esp, 4
mov dword [ebp - 0x270], edx
test edx, edx
jne 0x44c8aa
mov eax, dword [ebp - 0x2c8]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x2c4]
mov dword [ebx + 0x14], eax
mov eax, 4
mov word [ebx + 0x1c], ax
inc dword [ebp - 0x268]
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
jmp 0x446dd1
mov eax, dword [ebp - 0x260]
cmp dl, 0x70
mov edx, dword [ebp - 0x278]
mov dword [ebp - 0x280], 0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x260]
mov ax, word [eax + ebx*4 + 0x10]
mov word [ebp - 0x328], ax
sbb al, al
mov byte [ebp - 0x326], al
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x324], eax
lea edx, [ebp - 0x32c]
lea eax, [ebp - 0x280]
push eax
call fcn.00444420
mov edx, dword [ebp - 0x260]
add esp, 4
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x280]
test byte [edx + ebx*4], 1
jne 0x44adb4
neg eax
jmp 0x44adb5
inc eax
test eax, eax
jle 0x44c6cc
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x44990d
mov eax, dword [ecx + 4]
xor edx, edx
test eax, eax
je 0x44ae12
cmp dword [eax + 0x28], 0xbdf20da3
jne 0x44ae05
mov ecx, dword [eax + 0x58]
test ecx, 0x200
je 0x44ae05
and cl, 0xc
cmp cl, 8
jae 0x44ae05
cmp dword [eax + 0x4c], 0
jl 0x44ae05
inc edx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x44ade2
mov ecx, dword [ebp - 0x264]
mov eax, 1
mov word [edi + 0x1c], ax
cmp edx, eax
jg 0x44c925
mov edx, dword [ebp - 0x260]
lea edi, [ebp - 0x28c]
mov ecx, dword [ecx + 0x10]
push edi
mov dword [ebp - 0x28c], 0
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0x27c], eax
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0043ccd0
mov edi, dword [ebp - 0x274]
add esp, 4
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x270], eax
mov eax, 4
mov word [edi + 0x1c], ax
mov eax, ecx
cdq
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x270]
mov dword [edi + 0x14], edx
test eax, eax
jne 0x449901
test ecx, ecx
je 0x449901
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 4]
mov ebx, dword [ebp - 0x27c]
mov edx, ebx
push ecx
mov ecx, dword [ebp - 0x264]
call fcn.0045cb80
mov al, bl
add esp, 8
inc al
mov byte [ebp - 0x2a1], al
jmp 0x449901
mov edx, dword [ebp - 0x260]
lea eax, [ebp - 0xd8]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0xd8], 0
cmp dword [edx + ebx*4 + 0xc], 0
cmove eax, dword [ebp - 0x27c]
push eax
mov eax, dword [edx + ebx*4 + 8]
mov edx, dword [edx + ebx*4 + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0043ca60
mov edx, dword [ebp - 0x260]
add esp, 4
mov dword [ebp - 0x270], eax
cmp dword [edx + ebx*4 + 0xc], 0
je 0x44c6cc
mov ecx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0xd8]
add dword [ecx + 0x5c], eax
mov ecx, dword [edx + ebx*4 + 0xc]
test ecx, ecx
jle 0x44c6cc
mov ebx, dword [ebp - 0x278]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8 + 0x10], eax
adc dword [ebx + ecx*8 + 0x14], edx
jmp 0x449901
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x40]
test edx, edx
je 0x44af97
mov ecx, dword [ebp - 0x264]
call fcn.0044e190
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
jmp 0x446dd1
mov ecx, dword [ecx]
push 0
mov edx, dword [ecx + 0x44]
mov ecx, dword [ecx]
call fcn.0043ca60
add esp, 4
jmp 0x4498fb
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x27c], 0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x264]
shl ecx, 4
add ecx, dword [eax + 0x10]
xor eax, eax
cmp dl, 0x76
lea edx, [ebp - 0x27c]
setne al
mov ecx, dword [ecx + 4]
inc eax
push eax
call fcn.0043c880
mov dword [ebp - 0x270], eax
add esp, 4
mov eax, dword [ebp - 0x27c]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x449901
mov esi, dword [ebp - 0x260]
mov eax, str.sqlite_master
mov ecx, str.sqlite_temp_master
mov edx, dword [esi + ebx*4 + 4]
cmp edx, 1
push dword [esi + ebx*4 + 0x10]
mov ebx, dword [ebp - 0x264]
cmovne ecx, eax
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x26c]
add eax, 0x2c
mov dword [ebp - 0x194], edx
mov dword [ebp - 0x198], eax
add edx, edx
mov eax, dword [ebx + 0x10]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.004261c0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x44b070
mov dword [ebp - 0x270], 7
mov ecx, ebx
jmp 0x44b0c4
push 0
lea eax, [ebp - 0x19c]
mov byte [ebx + 0x89], 1
push eax
push fcn.0046de30
push esi
push ebx
mov dword [ebp - 0x190], 0
call fcn.0046a5c0
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, ebx
cmove eax, dword [ebp - 0x190]
mov dword [ebp - 0x270], eax
call fcn.004246f0
mov edx, dword [ebp - 0x270]
mov ecx, ebx
mov byte [ecx + 0x89], 0
test edx, edx
je 0x44b0d1
call fcn.0045a910
mov edx, dword [ebp - 0x270]
mov ecx, ebx
cmp edx, 7
je 0x44cb71
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov eax, dword [ebp - 0x260]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00458f60
jmp 0x4498fb
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.0045ab70
mov ecx, dword [ebp - 0x264]
add esp, 4
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
jmp 0x446dd1
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.0045a770
mov ecx, dword [ebp - 0x264]
add esp, 4
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
jmp 0x446dd1
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.004792f0
mov ecx, dword [ebp - 0x264]
add esp, 4
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
jmp 0x446dd1
mov esi, dword [ebp - 0x260]
mov edi, dword [esi + ebx*4 + 8]
mov dword [ebp - 0xd8], edi
lea edx, [edi*4 + 4]
call fcn.00424920
mov edx, eax
mov dword [ebp - 0x290], edx
test edx, edx
je 0x44cb6b
mov ecx, dword [esi + ebx*4 + 0xc]
lea eax, [ecx + ecx*4]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x280], eax
xor esi, esi
mov eax, dword [ebp - 0x278]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x29c], eax
test edi, edi
jle 0x44b214
mov ebx, dword [ebp - 0xd8]
mov edi, eax
nop
mov ecx, edi
call fcn.0043f550
mov edx, dword [ebp - 0x290]
add edi, 0x28
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x44b1f0
mov ebx, dword [ebp - 0x27c]
mov edi, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x278]
lea eax, [ebp - 0x2f8]
push eax
mov eax, dword [ebp - 0x280]
mov dword [edx + esi*4], 0
push dword [ecx + eax*8 + 0x10]
mov eax, dword [ebp - 0x260]
push edi
movzx eax, byte [eax + ebx*4 + 3]
mov ebx, dword [ebp - 0x264]
add eax, eax
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0043db50
mov edx, dword [ebp - 0x290]
add esp, 0xc
mov ecx, ebx
mov edi, eax
call fcn.004246f0
mov ecx, dword [ebp - 0x280]
mov ebx, dword [ebp - 0x278]
mov esi, dword [ebp - 0x2f8]
mov eax, esi
cdq
sub dword [ebx + ecx*8 + 0x10], eax
sbb dword [ebx + ecx*8 + 0x14], edx
mov ebx, dword [ebp - 0x29c]
mov ecx, ebx
call fcn.0043f890
test esi, esi
je 0x44b2af
test edi, edi
je 0x44cb6b
push fcn.00424650
push 1
push 0xffffffffffffffff
mov edx, edi
mov ecx, ebx
call fcn.0043fb90
add esp, 0xc
movzx edx, byte [ebp - 0x298]
mov ecx, ebx
call fcn.0043f0c0
inc dword [ebp - 0x268]
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
jmp 0x446dd1
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 0x20
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea edi, [eax + eax*4]
jne 0x44b315
mov ecx, esi
call fcn.0043f910
test byte [esi + 0x1c], 0x20
je 0x44cb6b
mov ebx, dword [ebp - 0x278]
mov ecx, dword [esi + 0x10]
push dword [ebx + edi*8 + 0x14]
push dword [ebx + edi*8 + 0x10]
call fcn.0042d5a0
add esp, 8
inc dword [ebp - 0x268]
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
jmp 0x446dd1
mov edi, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edi + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
je 0x44b3a9
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x318]
call fcn.0042d900
test eax, eax
je 0x44b3a9
mov eax, dword [edi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x278]
push dword [ebp - 0x314]
push dword [ebp - 0x318]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0043f8e0
add esp, 8
jmp 0x44c344
mov ecx, esi
call fcn.0043f890
mov ecx, dword [edi + ebx*4 + 8]
jmp 0x44c33d
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 0x20
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x27c], eax
jne 0x44b404
mov ecx, esi
call fcn.0043f910
test byte [esi + 0x1c], 0x20
je 0x44cb6b
mov eax, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x278]
test eax, eax
je 0x44b42d
push dword [edx + edi*8 + 0x14]
mov ecx, dword [esi + 0x10]
push dword [edx + edi*8 + 0x10]
mov edx, eax
call fcn.0042d960
add esp, 8
test eax, eax
jne 0x449adc
mov eax, dword [ebp - 0x27c]
test eax, eax
js 0x44b32e
jmp 0x44b315
mov ecx, dword [ebp - 0x260]
mov esi, dword [ebp - 0x278]
cmp byte [ecx + ebx*4 + 3], 0
mov eax, dword [ecx + ebx*4 + 0xc]
mov edx, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0xd8], edx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x27c], eax
je 0x44b490
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + 0x14]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x44b490
nop dword [eax + eax]
cmp dword [eax + 0x18], ecx
je 0x44af7a
mov eax, dword [eax + 4]
test eax, eax
jne 0x44b480
mov ecx, dword [ebp - 0x26c]
mov esi, dword [ebp - 0x264]
mov eax, dword [ecx + 0xb8]
cmp eax, dword [esi + 0x80]
jge 0x44c946
mov ebx, dword [ebp - 0x27c]
test byte [ebx + 0x1c], 0x40
jne 0x44b63e
mov ecx, dword [edx + 0xc]
mov edi, dword [edx + 8]
add edi, ecx
lea eax, [edi + edi*4]
lea ecx, [ecx + eax*2]
mov eax, dword [edx + 0x10]
lea ecx, [ecx + 0x12]
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.004248f0
mov esi, eax
test esi, esi
je 0x44cb6b
mov ecx, ebx
call fcn.0043f4d0
mov ecx, dword [ebp - 0x26c]
mov eax, 0x40
mov edx, dword [ebp - 0xd8]
mov word [ebx + 0x1c], ax
mov dword [ebx + 0x10], esi
mov dword [esi], ecx
mov dword [esi + 0x3c], edi
mov eax, dword [edx + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x268]
mov dword [esi + 0x2c], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x34], eax
mov eax, dword [ecx + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [ecx + 0x24]
mov dword [esi + 0x28], eax
mov eax, dword [ecx + 4]
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 0xc8]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0xc4]
mov dword [esi + 0x38], eax
lea eax, [edi*4 + 9]
add eax, edi
lea ecx, [esi + eax*8]
lea eax, [esi + 0x48]
cmp eax, ecx
je 0x44b580
mov edi, dword [ebp - 0x264]
mov ebx, 0x80
mov word [eax + 0x1c], bx
mov dword [eax], edi
add eax, 0x28
cmp eax, ecx
jne 0x44b573
mov ecx, dword [ebp - 0x26c]
inc dword [ecx + 0xb8]
lea ebx, [esi + 0x20]
mov eax, dword [ecx + 0xb0]
or edi, 0xffffffff
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebx], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebx + 4], eax
mov eax, dword [ecx + 0x5c]
mov dword [esi + 0x44], eax
mov dword [ecx + 0xb0], esi
mov dword [ecx + 0x5c], 0
mov dword [ecx + 8], ebx
mov eax, dword [esi + 0x3c]
mov dword [ecx + 0x1c], eax
movzx eax, word [esi + 0x40]
mov esi, dword [ebp - 0x26c]
mov dword [ecx + 0x24], eax
mov eax, dword [ecx + 0x1c]
inc eax
mov dword [ebp - 0x278], ebx
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov dword [esi + 0x38], ecx
mov eax, dword [edx]
mov dword [ebp - 0x260], eax
mov dword [esi + 4], eax
mov eax, dword [edx + 4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x24]
lea ecx, [ecx + eax*4]
mov dword [esi + 0xc8], ecx
mov eax, dword [edx + 0x10]
push eax
push 0
push ecx
mov dword [esi + 0xc4], eax
call fcn.004966c0
mov ecx, dword [ebp - 0x264]
add esp, 0xc
mov edx, dword [ebp - 0x260]
inc edi
mov dword [ebp - 0x268], edi
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
mov esi, dword [ebx + 0x10]
jmp 0x44b586
mov eax, dword [ebp - 0x26c]
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]
mov ecx, dword [ebp - 0x260]
add eax, dword [ecx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edx, [eax + ecx*8]
mov ecx, edi
call fcn.0043f9f0
mov ecx, dword [ebp - 0x264]
add esp, 4
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
jmp 0x446dd1
test dword [ecx + 0x18], 0x1000000
mov eax, dword [ebp - 0x260]
je 0x44b6d0
mov eax, dword [eax + ebx*4 + 8]
cdq
add dword [ecx + 0x1f8], eax
adc dword [ecx + 0x1fc], edx
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x446dd1
cmp dword [eax + ebx*4 + 4], 0
mov eax, dword [eax + ebx*4 + 8]
cdq
je 0x44b6fa
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x446dd1
mov ebx, dword [ebp - 0x26c]
add dword [ebx + 0x90], eax
adc dword [ebx + 0x94], edx
inc esi
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x268], esi
jmp 0x446dd1
mov edx, dword [ebp - 0x260]
cmp dword [edx + ebx*4 + 4], 0
je 0x44b75a
mov eax, dword [ecx + 0x1f0]
or eax, dword [ecx + 0x1f4]
jne 0x4486c2
mov eax, dword [ecx + 0x1f8]
or eax, dword [ecx + 0x1fc]
jne 0x4486c2
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x446dcb
mov eax, dword [ebp - 0x26c]
mov edi, dword [ebp - 0x26c]
mov eax, dword [eax + 0x90]
or eax, dword [edi + 0x94]
mov edi, dword [ebp - 0x274]
jmp 0x44b737
mov eax, dword [ebp - 0x26c]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x44b7af
mov eax, dword [edx + 4]
test eax, eax
je 0x44b79a
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x44b791
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edi, [eax + ecx*8]
jmp 0x44b7c5
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.0043f700
mov ecx, dword [ebp - 0x260]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0043f700
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
cmp dword [edi + 0x14], ecx
jg 0x44b32e
jl 0x44b803
cmp dword [edi + 0x10], eax
jae 0x44b32e
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
mov dword [edi + 0x14], ecx
mov ecx, dword [ebp - 0x264]
mov dword [edi + 0x10], eax
mov edi, dword [ebp - 0x274]
jmp 0x446dd1
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 0x14], 0
mov edi, dword [ebp - 0x274]
jl 0x4486c2
jg 0x4486bd
mov edi, dword [ebp - 0x278]
cmp dword [edi + eax*8 + 0x10], 0
mov edi, dword [ebp - 0x274]
jbe 0x4486c2
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 0x14], 0
mov edi, dword [ebp - 0x274]
jg 0x4486c2
jl 0x4486bd
mov edi, dword [ebp - 0x278]
cmp dword [edi + eax*8 + 0x10], 0
mov edi, dword [ebp - 0x274]
jae 0x4486c2
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
mov esi, dword [ebp - 0x278]
mov eax, dword [edx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ebx*4 + 0xc]
cdq
add dword [esi + ecx*8 + 0x10], eax
mov eax, dword [esi + ecx*8 + 0x10]
adc dword [esi + ecx*8 + 0x14], edx
or eax, dword [esi + ecx*8 + 0x14]
mov edx, dword [ebp - 0x260]
jne 0x44b911
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
mov ecx, dword [ebp - 0x268]
inc ecx
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x446dd1
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x278]
movzx edx, byte [eax + ebx*4 + 3]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0x26c]
mov esi, dword [eax + 0xc]
xor eax, eax
test edx, edx
jle 0x44b96b
nop dword [eax]
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x44b960
mov ecx, dword [ebp - 0x260]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x248], eax
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x218], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [ebp - 0x248]
mov word [ebp - 0x224], ax
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x214], 0
mov byte [ebp - 0x204], 0
test byte [ecx + 2], 0x20
je 0x44ba01
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 - 4]
mov dword [ebp - 0x214], eax
push esi
push edx
lea eax, [ebp - 0x248]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x208], 0
je 0x44ba52
mov dl, 1
lea ecx, [ebp - 0x240]
call fcn.0043fe10
push eax
mov eax, dword [ebp - 0x26c]
push 0x55cc88
push dword [ebp - 0x264]
add eax, 0x2c
push eax
call fcn.00424ac0
mov eax, dword [ebp - 0x208]
add esp, 0x10
mov dword [ebp - 0x270], eax
cmp byte [ebp - 0x204], 0
je 0x44ba81
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 - 0x10]
test eax, eax
je 0x44ba81
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.0043f8e0
add esp, 8
lea ecx, [ebp - 0x240]
call fcn.0043f4d0
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov edx, dword [ecx + ebx*4 + 0x10]
mov ecx, esi
call fcn.0043f3d0
mov dword [ebp - 0x270], eax
test eax, eax
je 0x44baef
mov dl, 1
mov ecx, esi
call fcn.0043fe10
push eax
mov eax, dword [ebp - 0x26c]
push 0x55cc88
push dword [ebp - 0x264]
add eax, 0x2c
push eax
call fcn.00424ac0
add esp, 0x10
movzx edx, byte [ebp - 0x298]
mov ecx, esi
call fcn.0043f0c0
mov ecx, esi
call fcn.0043f9c0
mov ecx, dword [ebp - 0x264]
test eax, eax
jne 0x44c9bd
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov esi, dword [ebp - 0x260]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd4], 0
push eax
push dword [esi + ebx*4 + 8]
mov edx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xcc], 0xffffffff
mov dword [ebp - 0xd0], 0xffffffff
call fcn.0048b2e0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x270], ecx
cmp ecx, 5
jne 0x44bb80
mov dword [ebp - 0x270], 0
mov dword [ebp - 0xd4], 1
mov eax, dword [esi + ebx*4 + 0xc]
xor esi, esi
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + esi*4 - 0xd4]
mov ecx, edi
cdq
push edx
push eax
call fcn.0043f8e0
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x44bb92
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov eax, dword [ebp - 0x260]
mov edx, dword [ebp - 0x264]
mov esi, dword [eax + ebx*4 + 0xc]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [edx + 0x10]
add ecx, ecx
cmp esi, 0xffffffff
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x27c], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
movzx ecx, byte [edi + 5]
cmove esi, ecx
mov dword [ebp - 0x280], ecx
cmp byte [edi + 0x10], 3
jae 0x44bc1a
mov eax, dword [edi + 0x40]
cmp dword [eax], 0
je 0x44bc1c
cmp dword [edi + 0x4c], 0
jl 0x44bc1c
jg 0x44bc1a
cmp dword [edi + 0x48], 0
jbe 0x44bc1c
mov esi, ecx
cmp esi, 5
jne 0x44bc55
lea edx, [esi - 4]
mov ecx, edi
call fcn.00432560
mov ecx, eax
call fcn.00426de0
test eax, eax
je 0x44bcc1
mov ecx, edi
call fcn.004328a0
test eax, eax
je 0x44bcc1
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x264]
cmp esi, ecx
je 0x44bcc7
cmp ecx, 5
je 0x44bc63
cmp esi, 5
jne 0x44bcc7
cmp byte [edx + 0x3e], 0
je 0x44c973
cmp dword [edx + 0x90], 1
jg 0x44c973
cmp ecx, 5
jne 0x44bc94
mov ecx, edi
call fcn.00432a50
mov dword [ebp - 0x270], eax
test eax, eax
jne 0x44bcc1
mov edx, esi
jmp 0x44bc9c
cmp ecx, 4
jne 0x44bca3
lea edx, [ecx - 2]
mov ecx, edi
call fcn.00432760
mov ecx, dword [ebp - 0x27c]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.0043e310
mov dword [ebp - 0x270], eax
test eax, eax
je 0x44bcc7
mov esi, dword [ebp - 0x280]
mov edx, esi
mov ecx, edi
call fcn.00432760
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x278]
mov ecx, dword [ecx + ebx*4 + 8]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*8]
mov ecx, 0xa02
mov dword [ebp - 0x274], ebx
mov word [ebx + 0x1c], cx
cmp eax, 6
jne 0x44bcfe
xor ecx, ecx
jmp 0x44bd05
mov ecx, dword [eax*4 + 0x553ac8]
mov dword [ebx + 4], ecx
call fcn.00426de0
movzx edx, byte [ebp - 0x298]
mov ecx, ebx
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1e], 1
call fcn.0043f0c0
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x264]
lea ecx, [ecx + 0x2c]
call fcn.0047c1b0
jmp 0x4498fb
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x264]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00438260
mov edx, dword [ebp - 0x260]
mov ecx, eax
mov dword [ebp - 0x270], ecx
cmp ecx, 0x65
jne 0x44c6cc
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp 0x44990d
mov edx, dword [ebp - 0x260]
cmp dword [edx + ebx*4 + 4], 0
jne 0x44bdc5
call fcn.004444f0
inc esi
jmp 0x446dcb
mov eax, dword [ebp - 0x26c]
or dword [eax + 0x58], 0x20
inc esi
jmp 0x446dcb
mov edx, dword [ebp - 0x260]
mov al, byte [edx + ebx*4 + 0xc]
mov byte [ebp - 0x2cc], al
test al, al
jne 0x44bdf6
test dword [ecx + 0x18], 0x4000
jne 0x44990d
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
push dword [ebp - 0x2cc]
mov edx, dword [edx + ebx*4 + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0043e230
mov ecx, eax
add esp, 4
mov dword [ebp - 0x270], ecx
cmp cl, 6
jne 0x449901
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [ebp - 0x26c]
push str.database_table_is_locked:__s
push dword [ebp - 0x264]
add eax, 0x2c
push eax
call fcn.00424ac0
add esp, 0x10
jmp 0x449901
mov eax, dword [ebp - 0x260]
mov esi, dword [eax + ebx*4 + 0x10]
mov edx, esi
call fcn.0047d550
mov dword [ebp - 0x270], eax
test esi, esi
je 0x447f16
mov edx, dword [esi + 8]
mov ecx, dword [ebp - 0x26c]
call fcn.004445b0
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov eax, dword [ebp - 0x26c]
add eax, 0x2c
push eax
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.0047d0d0
add esp, 8
jmp 0x4498fb
mov edx, dword [ebp - 0x26c]
mov eax, dword [edx + 0x58]
and eax, 0xfffffffb
or eax, 8
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.0047d3a0
mov ecx, dword [ebp - 0x26c]
add esp, 4
and dword [ecx + 0x58], 0xfffffff3
jmp 0x4498fb
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x14c], 0
mov eax, dword [eax + ebx*4 + 0x10]
mov esi, dword [eax + 8]
lea eax, [ebp - 0x14c]
push eax
push esi
mov edi, dword [esi]
mov eax, dword [edi + 0x18]
call eax
mov ecx, dword [ebp - 0x26c]
add esp, 8
mov edx, esi
mov dword [ebp - 0x270], eax
call fcn.004445b0
cmp dword [ebp - 0x270], 0
jne 0x448a55
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x26c]
push 0
push 0xffffffffffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x260]
push 0
mov edx, dword [eax + ebx*4 + 4]
call fcn.00446a70
add esp, 0xc
test eax, eax
je 0x44bf8b
mov ecx, dword [ebp - 0x14c]
inc dword [ebp - 0x268]
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x264]
jmp 0x446dd1
mov eax, dword [ebp - 0x264]
push dword [ebp - 0x14c]
mov byte [eax + 0x40], 1
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov ecx, dword [ebp - 0x260]
mov edi, dword [ebp - 0x278]
add edi, 0x28
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ecx + ebx*4 + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x26c]
mov esi, dword [edi + edx*8 + 0x10]
lea edi, [edi + edx*8]
movd xmm0, edi
mov dword [ebp - 0xd8], edi
mov eax, dword [eax + 0x38]
pshufd xmm3, xmm0, 0
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x284], eax
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x280], eax
mov eax, dword [eax]
mov dword [ebp - 0x14c], eax
mov eax, dword [eax]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x278]
mov eax, dword [eax + edx*8 + 0x10]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x26c]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x27c], edx
test esi, esi
jle 0x44c0e1
cmp esi, 8
jb 0x44c0c9
cmp dword [0x5720f0], 2
jl 0x44c0c9
movaps xmm2, xmmword [0x5610c0]
mov eax, esi
and eax, 0x80000007
jns 0x44c069
dec eax
or eax, 0xfffffff8
inc eax
movaps xmm1, xmmword [0x5610d0]
mov edi, esi
sub edi, eax
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x20]
paddd xmm0, xmm2
add ecx, 8
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x20], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x10], xmm0
cmp ecx, edi
jl 0x44c074
mov edx, dword [ebp - 0x27c]
mov edi, dword [ebp - 0xd8]
cmp ecx, esi
jge 0x44c0e1
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x44c0d6
mov ecx, dword [ebp - 0x26c]
mov edi, dword [ebp - 0x29c]
push edx
push esi
mov eax, dword [ecx + 0x58]
mov esi, dword [ebp - 0x280]
and eax, 0xfffffff7
or eax, 4
mov dword [ecx + 0x58], eax
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [edi + 0x20]
push dword [ebp - 0x290]
push esi
call eax
mov edx, dword [ebp - 0x14c]
add esp, 0x14
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.004445b0
cmp dword [ebp - 0x270], 0
jne 0x44c160
mov eax, dword [edi + 0x28]
push esi
call eax
mov edx, dword [ebp - 0x260]
add esp, 4
test eax, eax
je 0x44c166
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [ebp - 0x268], eax
jmp 0x44c166
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x284]
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
mov byte [eax + 0x19], 0
jmp 0x44990d
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [ebp - 0x278]
mov dword [ebp - 0xd8], ecx
cmp byte [ecx + 0x19], 0
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x27c], eax
je 0x44c1e3
mov ecx, eax
call fcn.0043f890
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
jmp 0x446dd1
mov eax, dword [ecx + 0x20]
push 0x48
push 0
mov edi, dword [eax]
lea eax, [ebp - 0x148]
push eax
mov esi, dword [edi]
call fcn.004966c0
mov edx, dword [ebp - 0x27c]
lea ecx, [ebp - 0x140]
add esp, 0xc
call fcn.0043fb50
mov eax, dword [ebp - 0x124]
and eax, 0xbe01
or eax, 1
mov word [ebp - 0x124], ax
mov eax, dword [ebp - 0x260]
push dword [eax + ebx*4 + 8]
lea eax, [ebp - 0x148]
push eax
mov eax, dword [ebp - 0xd8]
push dword [eax + 0x20]
mov eax, dword [esi + 0x2c]
call eax
mov ecx, dword [ebp - 0x26c]
add esp, 0xc
mov edx, edi
mov ebx, eax
call fcn.004445b0
mov eax, dword [ebp - 0x108]
lea ecx, [ebp - 0x140]
movzx edx, byte [ebp - 0x298]
test eax, eax
cmovne ebx, eax
mov dword [ebp - 0x270], ebx
call fcn.0043f0c0
mov ecx, dword [ebp - 0x27c]
lea edx, [ebp - 0x140]
call fcn.0043fb50
mov ecx, dword [ebp - 0x27c]
call fcn.0043f9c0
mov ecx, dword [ebp - 0x264]
test eax, eax
jne 0x44c9bd
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x44c6c6
mov eax, dword [edi + 0x20]
mov edx, dword [ebp - 0x26c]
mov esi, dword [eax]
mov eax, dword [edx + 0x58]
and eax, 0xfffffff7
or eax, 4
mov ecx, dword [esi]
mov dword [edx + 0x58], eax
push dword [edi + 0x20]
mov dword [ebp - 0x27c], ecx
mov eax, dword [ecx + 0x24]
call eax
mov dword [ebp - 0x270], eax
add esp, 4
mov eax, dword [ebp - 0x26c]
mov edx, esi
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.004445b0
cmp dword [ebp - 0x270], 0
jne 0x44c333
mov eax, dword [ebp - 0x27c]
push dword [edi + 0x20]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x44c344
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + ebx*4 + 8]
dec ecx
mov dword [ebp - 0x268], ecx
mov ebx, dword [ebp - 0x264]
cmp dword [ebx + 0xe8], 0
jne 0x44cb28
mov ecx, dword [ebx + 0x11c]
test ecx, ecx
je 0x44c398
mov edi, dword [ebp - 0x2b0]
cmp edi, dword [ebp - 0x2b4]
jb 0x44c398
mov esi, dword [ebx + 0x124]
xor edx, edx
mov eax, edi
div esi
push dword [ebx + 0x120]
sub esi, edx
add esi, edi
mov dword [ebp - 0x2b4], esi
call ecx
add esp, 4
test eax, eax
jne 0x44c7b9
mov edi, dword [ebp - 0x274]
mov ecx, ebx
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov ecx, dword [ebp - 0x260]
mov edx, 1
mov eax, dword [ecx + ebx*4 + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0x278]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.0043f0c0
mov ecx, eax
mov dword [ebp - 0x270], ecx
test ecx, ecx
jne 0x448a55
mov eax, dword [esi]
push dword [edi + 4]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [ebp - 0x270], eax
mov edx, esi
mov esi, dword [ebp - 0x26c]
mov ecx, esi
call fcn.004445b0
and dword [esi + 0x58], 0xffffffdf
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov esi, dword [ebp - 0x260]
mov eax, dword [esi + ebx*4 + 0x10]
mov esi, dword [esi + ebx*4 + 8]
mov edx, dword [eax + 8]
mov dword [ebp - 0xd8], edx
mov eax, dword [edx]
mov dword [ebp - 0x27c], eax
cmp dword [eax + 0x34], 0
je 0x447f1c
mov al, byte [ecx + 0x44]
mov ecx, dword [ebp - 0x278]
mov byte [ebp - 0x285], al
mov eax, dword [ebp - 0x26c]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x44c48b
nop dword [eax]
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x44c480
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x264]
mov al, byte [eax + ebx*4 + 3]
mov byte [ecx + 0x44], al
lea eax, [ebp - 0x100]
push eax
mov eax, dword [ebp - 0x27c]
push edi
push esi
push edx
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [ebp - 0x264]
add esp, 0x10
mov esi, dword [ebp - 0x26c]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x270], eax
mov al, byte [ebp - 0x285]
mov byte [ecx + 0x44], al
mov ecx, esi
call fcn.004445b0
cmp dword [ebp - 0x270], 0
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x264]
jne 0x44c518
cmp dword [edx + ebx*4 + 4], 0
je 0x44c518
mov eax, dword [ebp - 0x100]
mov edi, dword [ebp - 0xfc]
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2a8], edi
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edi
mov eax, dword [ebp - 0x270]
cmp al, 0x13
jne 0x44c582
mov eax, dword [edx + ebx*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x44c582
mov al, byte [edx + ebx*4 + 3]
cmp al, 4
jne 0x44c54e
mov esi, dword [ebp - 0x268]
xor eax, eax
mov edi, dword [ebp - 0x274]
inc esi
mov dword [ebp - 0x270], eax
jmp 0x446dcb
cmp al, 5
jne 0x44c56b
mov edi, dword [ebp - 0x274]
mov eax, 2
mov byte [esi + 0x56], al
mov esi, dword [ebp - 0x268]
jmp 0x44990d
mov edi, dword [ebp - 0x274]
movzx eax, al
mov byte [esi + 0x56], al
mov esi, dword [ebp - 0x268]
jmp 0x44990d
inc dword [esi + 0x5c]
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x268]
jmp 0x44990d
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x264]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [ebp - 0x264]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0
jmp 0x446dd1
mov esi, dword [ebp - 0x260]
xor edx, edx
mov eax, dword [ebp - 0x264]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov esi, dword [esi + ebx*4 + 0xc]
mov ecx, dword [eax + ecx*8 + 4]
test esi, esi
je 0x44c604
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.00437360
inc dword [ebp - 0x268]
mov esi, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
cdq
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0x260]
mov dword [edi + 0x10], eax
jmp 0x446dd1
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + ebx*4 + 8]
test eax, eax
je 0x44c644
lea esi, [eax - 1]
mov dword [ebp - 0x268], esi
cmp dword [ecx + 0xa4], 0
je 0x44990d
mov eax, dword [ebp - 0x26c]
test dword [eax + 0x58], 0x800
jne 0x44990d
mov edx, dword [edx + ebx*4 + 0x10]
mov ebx, eax
test edx, edx
jne 0x44c67c
mov edx, dword [ebx + 0xa8]
test edx, edx
je case.default.0x446e40
mov ecx, ebx
call fcn.004465f0
mov ebx, dword [ebp - 0x264]
mov esi, eax
push esi
push dword [ebx + 0xa8]
mov ecx, dword [ebx + 0xa4]
call ecx
add esp, 8
mov edx, esi
mov ecx, ebx
call fcn.004246f0
mov esi, dword [ebp - 0x268]
mov ecx, ebx
jmp case.default.0x446e40
mov edi, dword [ebp - 0x274]
mov ecx, eax
mov esi, dword [ebp - 0x268]
jmp case.default.0x446e40
mov edi, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x264]
jmp 0x44990d
mov edi, dword [ebp - 0x26c]
mov ecx, dword [edx + ebx*4 + 4]
mov dword [edi + 0x50], ecx
mov al, byte [edx + ebx*4 + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], esi
test ecx, ecx
je 0x44c77e
mov al, byte [edx + ebx*4 + 3]
test al, al
je 0x44c72f
movzx eax, al
mov eax, dword [eax*4 + 0x55305c]
test eax, eax
je 0x44c731
mov ecx, dword [edx + ebx*4 + 0x10]
test ecx, ecx
je 0x44c731
push ecx
push eax
push str._s_constraint_failed:__s
push dword [ebp - 0x264]
lea esi, [edi + 0x2c]
push esi
call fcn.00424ac0
add esp, 0x14
jmp 0x44c759
xor eax, eax
mov ecx, dword [edx + ebx*4 + 0x10]
lea esi, [edi + 0x2c]
test ecx, ecx
je 0x44c744
push ecx
push 0x55cc88
jmp 0x44c74a
push eax
push str._s_constraint_failed
push dword [ebp - 0x264]
push esi
call fcn.00424ac0
add esp, 0x10
push dword [esi]
mov eax, dword [ebp - 0x260]
push dword [edi + 0xa8]
push dword [ebp - 0x268]
push str.abort_at__d_in___s_:__s
push dword [eax + ebx*4 + 4]
call fcn.00426530
add esp, 0x14
mov ecx, edi
call fcn.00442700
mov ecx, dword [ebp - 0x264]
cmp eax, 5
mov eax, dword [ebp - 0x26c]
jne 0x44c7a3
mov edi, 5
mov dword [eax + 0x50], edi
jmp 0x4499af
cmp dword [eax + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x4499af
mov edx, 9
mov dword [ebp - 0x270], edx
jmp 0x449927
lea ecx, [ebp - 0x1e0]
call fcn.0043f4d0
mov ecx, esi
jmp 0x44cb71
mov edx, 0x14
mov dword [ebp - 0x270], edx
jmp 0x44c8b0
mov eax, dword [ebp - 0x26c]
push str.cannot_open_savepoint___SQL_statements_in_progress
push ecx
add eax, 0x2c
push eax
call fcn.00424ac0
add esp, 0xc
mov edx, 5
inc esi
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x268], esi
jmp 0x449927
mov eax, dword [ebp - 0x26c]
push str.cannot_release_savepoint___SQL_statements_in_progress
push ecx
add eax, 0x2c
push eax
call fcn.00424ac0
mov eax, dword [ebp - 0x268]
mov edx, 5
add esp, 0xc
mov dword [ebp - 0x270], edx
inc eax
jmp 0x44992d
mov eax, dword [ebp - 0x268]
mov dword [edi + 0x4c], eax
mov edi, 5
mov eax, dword [ebp - 0x26c]
mov byte [ecx + 0x3e], 0
mov dword [eax + 0x50], edi
jmp 0x4499af
mov edx, 8
mov dword [ebp - 0x270], edx
jmp 0x44c8b0
mov ecx, dword [ebp - 0x26c]
mov edi, 5
mov eax, dword [ebp - 0x268]
mov dword [ecx + 0x4c], eax
mov dword [ecx + 0x50], edi
mov ecx, dword [ebp - 0x264]
jmp 0x4499af
mov ecx, 0x1144c
call fcn.0048c610
mov edx, eax
mov dword [ebp - 0x270], edx
mov ecx, dword [ebp - 0x264]
mov esi, dword [ebp - 0x26c]
cmp byte [ecx + 0x40], 0
je 0x44c8f5
mov edx, 7
mov dword [ebp - 0x270], edx
jmp 0x44c901
mov edx, 4
inc esi
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x268], esi
jmp 0x449927
mov edx, 0xd
jmp 0x44c8a4
mov esi, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x264]
jmp 0x44c8b6
cmp edx, 0xc0a
je 0x449927
mov ecx, edx
call fcn.0048a8e0
push eax
push 0x55cc88
push dword [ebp - 0x264]
lea eax, [esi + 0x2c]
push eax
call fcn.00424ac0
add esp, 0x10
jmp 0x449921
mov eax, dword [ebp - 0x26c]
mov edx, 6
inc esi
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x268], esi
mov byte [eax + 0x56], 2
jmp 0x449927
push str.too_many_levels_of_trigger_recursion
lea eax, [ecx + 0x2c]
mov dword [ebp - 0x270], 1
push esi
push eax
call fcn.00424ac0
mov eax, dword [ebp - 0x268]
add esp, 0xc
inc eax
mov edx, 1
jmp 0x44992d
mov ecx, str.out_of
mov dword [ebp - 0x270], 1
cmp esi, 5
mov eax, str.into
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x26c]
push str.cannot_change__s_wal_mode_from_within_a_transaction
push edx
add eax, 0x2c
push eax
call fcn.00424ac0
mov eax, dword [ebp - 0x268]
add esp, 0x10
inc eax
mov edx, 1
jmp 0x44992d
mov ecx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x26c]
push str.string_or_blob_too_big
push ecx
add eax, 0x2c
push eax
call fcn.00424ac0
mov edx, 0x12
add esp, 0xc
mov dword [ebp - 0x270], edx
jmp 0x449927
mov eax, dword [ebp - 0x260]
mov esi, dword [ebp - 0x264]
mov ecx, dword [eax + ebx*4 + 4]
mov edx, dword [eax + ebx*4 + 8]
mov dword [ebp - 0x2cc], ecx
test ecx, ecx
je 0x44ca44
cmp byte [esi + 0x3e], 0
jne 0x44ca44
test edx, edx
jne 0x44ca44
cmp dword [esi + 0x94], edx
jle 0x44ca44
mov eax, dword [ebp - 0x26c]
push str.cannot_commit_transaction___SQL_statements_in_progress
add eax, 0x2c
push esi
push eax
call fcn.00424ac0
mov eax, dword [ebp - 0x268]
mov edx, 5
add esp, 0xc
mov dword [ebp - 0x270], edx
inc eax
jmp 0x44992d
movzx eax, byte [esi + 0x3e]
cmp ecx, eax
jne 0x44ca91
test ecx, ecx
jne 0x44ca57
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x44ca66
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
mov eax, dword [ebp - 0x26c]
add eax, 0x2c
push esi
push eax
call fcn.00424ac0
mov eax, dword [ebp - 0x268]
mov edx, 1
add esp, 0xc
mov dword [ebp - 0x270], edx
inc eax
jmp 0x44992d
test edx, edx
je 0x44cace
mov edx, 0x204
mov ecx, esi
call fcn.0048a7c0
mov byte [esi + 0x3e], 1
mov ecx, esi
call fcn.0048a020
mov eax, dword [ebp - 0x26c]
mov edi, 1
mov ecx, 0x65
cmp dword [eax + 0x50], 0
cmove edi, ecx
mov ecx, dword [ebp - 0x264]
jmp 0x4499af
mov ecx, dword [ebp - 0x26c]
mov edx, 1
call fcn.00442690
mov edi, eax
test edi, edi
jne 0x44cac3
mov ebx, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x26c]
mov byte [esi + 0x3e], bl
call fcn.00442700
cmp eax, 5
jne 0x44caa5
mov edx, dword [ebp - 0x26c]
mov edi, 5
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov dword [edx + 0x4c], eax
mov al, 1
sub al, bl
mov byte [ecx + 0x3e], al
mov dword [edx + 0x50], edi
jmp 0x4499af
mov ebx, ecx
mov eax, dword [str.interrupted]
mov ecx, str.unknown_error
mov edx, dword [ebp - 0x26c]
test eax, eax
mov dword [ebp - 0x270], 9
cmovne ecx, eax
push ecx
push 0x55cc88
lea eax, [edx + 0x2c]
mov dword [edx + 0x50], 9
push ebx
push eax
call fcn.00424ac0
add esp, 0x10
mov edx, 9
jmp 0x449927
mov ecx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x26c]
push str.out_of_memory
push ecx
add eax, 0x2c
mov byte [ecx + 0x40], 1
push eax
call fcn.00424ac0
mov edx, 7
add esp, 0xc
mov dword [ebp - 0x270], edx
jmp 0x449927