Function at 0x44d210
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2e4
mov eax, dword [0x564690]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x178], edi
cmp dword [edi + 0x50], 0xbdf20da3
mov esi, dword [edi]
mov dword [ebp - 0x170], 0
mov eax, dword [esi + 4]
mov dword [ebp - 0x188], esi
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x1f8], 0
mov al, byte [eax + 0x79]
mov byte [ebp - 0x1ac], al
je 0x44d277
pop edi
mov eax, 0x15
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50b4
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x178]
mov edi, dword [edi + 0x2c]
cmp dword [eax + 0x80], 7
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
je 0x451dfe
mov dword [eax + 0x80], 0
mov eax, dword [eax + 0x22c]
test eax, eax
je 0x44d2db
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0044d1d0
mov eax, dword [ebp - 0x178]
mov edi, dword [ebp - 0x180]
add esp, 8
mov dword [eax + 0x22c], 0
mov dword [ebp - 0x184], edi
jmp 0x44d2e1
mov eax, dword [ebp - 0x178]
mov byte [eax + 0x234], 0
cmp dword [esi + 0x98], 0
mov dword [esi + 0x11c], 0
jne 0x451da0
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x194], eax
call fcn.0044c600
test eax, eax
jne 0x451df8
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x188]
lea esi, [eax + eax*4]
cmp dword [ecx + 0xa8], 0
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x17c], esi
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x174], eax
je 0x44d3c0
mov edx, dword [ebp - 0x1f8]
cmp dword [ecx + 0xb0], edx
jne 0x44d3ba
push ecx
call fcn.0044c840
add esp, 4
test eax, eax
jne 0x45139a
mov eax, dword [ebp - 0x188]
push dword [eax + 0xac]
mov eax, dword [eax + 0xa8]
call eax
add esp, 4
push dword [ebp - 0x188]
test eax, eax
je 0x44d39a
call fcn.0044c880
mov eax, 4
add esp, 4
mov dword [ebp - 0x170], eax
jmp 0x451b0a
mov dword [ebp - 0x1f8], 0
call fcn.0044c880
add esp, 4
test eax, eax
jne 0x45139a
mov eax, dword [ebp - 0x174]
inc dword [ebp - 0x1f8]
mov dl, byte [eax + esi*4]
movzx ecx, dl
mov byte [ebp - 0x1c1], dl
lea eax, [ecx - 1]
mov dword [ebp - 0x1b8], ecx
cmp eax, 0x8e
ja case.0x44d3e0.13
jmp dword [eax*4 + 0x451e50]
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x98], 0
jne 0x451d9e
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
mov edx, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x194]
mov eax, dword [edx + 0x220]
inc ecx
mov dword [edx + eax*4 + 0x90], ecx
mov eax, dword [ebp - 0x174]
inc dword [edx + 0x220]
mov eax, dword [eax + esi*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
mov ecx, dword [ebp - 0x178]
dec dword [ecx + 0x220]
mov eax, dword [ecx + 0x220]
mov eax, dword [ecx + eax*4 + 0x90]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
add edi, 0x40
mov eax, 4
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x180], edi
mov eax, dword [eax + esi*4 + 4]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x451afe
add edi, 0x40
mov eax, 0xa2
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x184], edi
mov ecx, dword [eax + esi*4 + 0xc]
mov dword [ebp - 0x180], edi
mov dword [edi + 0x10], ecx
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44d4c0
sub ecx, edx
mov dword [edi + 0x14], ecx
push edi
mov byte [edi + 0x1b], 1
call fcn.00455800
mov dword [edi], eax
add esp, 4
mov dword [edi + 4], edx
or word [edi + 0x18], 4
jmp case.0x44d3e0.13
add edi, 0x40
mov eax, 0xa2
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x184], edi
mov ecx, dword [eax + esi*4 + 0xc]
mov dword [ebp - 0x180], edi
mov dword [edi + 0x10], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44d510
sub ecx, edx
mov dword [edi + 0x14], ecx
push edi
mov byte [edi + 0x1b], 1
call fcn.00455ff0
fstp qword [edi + 8]
movzx eax, byte [ebp - 0x1ac]
or word [edi + 0x18], 8
push eax
push edi
call fcn.004557d0
add esp, 0xc
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov edx, dword [eax + esi*4 + 0xc]
mov ecx, edx
mov byte [eax + esi*4], 0x1a
lea eax, [ecx + 1]
mov dword [ebp - 0x190], eax
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44d560
sub ecx, dword [ebp - 0x190]
cmp byte [ebp - 0x1ac], 1
mov eax, dword [ebp - 0x174]
mov dword [eax + esi*4 + 4], ecx
je case.0x44d3e0.26
push 0
push 1
push 0xffffffffffffffff
add edi, 0x40
push edx
push edi
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
call fcn.00455e20
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.004557d0
add esp, 0x1c
test eax, eax
jne 0x451df8
push edi
call fcn.00455910
add esp, 4
test eax, eax
jne 0x451df8
mov ax, word [edi + 0x18]
mov ecx, 0xffbf
and ax, cx
mov ecx, 0x80
or ax, cx
mov ecx, dword [ebp - 0x174]
mov word [edi + 0x18], ax
cmp dword [ecx + esi*4 + 0x10], 0xffffffff
jne 0x44d601
push dword [ecx + esi*4 + 0xc]
call fcn.0044c220
mov ecx, dword [ebp - 0x174]
add esp, 4
mov dword [ecx + esi*4 + 0x10], 0xffffffff
mov eax, dword [edi + 0x10]
mov dword [ecx + esi*4 + 0xc], eax
mov eax, dword [edi + 0x14]
mov dword [ecx + esi*4 + 4], eax
jmp case.0x44d3e0.13
mov ecx, dword [ebp - 0x174]
add edi, 0x40
mov eax, 0xa2
mov word [edi + 0x18], ax
mov eax, dword [ecx + esi*4 + 0xc]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + esi*4 + 4]
mov dword [edi + 0x14], eax
mov al, byte [ebp - 0x1ac]
mov dword [ebp - 0x180], edi
mov byte [edi + 0x1b], al
jmp 0x451afe
add edi, 0x40
mov eax, 1
mov word [edi + 0x18], ax
mov dword [ebp - 0x180], edi
mov dword [edi + 0x14], 0
jmp 0x451afe
mov eax, dword [ebp - 0x174]
mov edx, dword [eax + esi*4 + 0xc]
mov ecx, edx
mov byte [eax + esi*4], 0x7a
lea eax, [ecx + 1]
mov dword [ebp - 0x190], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44d687
sub ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x174]
shr ecx, 1
mov dword [eax + esi*4 + 4], ecx
je 0x44d6f4
push edx
call fcn.0044c420
mov esi, eax
add esp, 4
test esi, esi
je 0x451df8
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
cmp dword [ecx + eax*4 + 0x10], 0xffffffff
jne 0x44d6e0
push dword [ecx + eax*4 + 0xc]
call fcn.0044c220
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
add esp, 4
mov dword [ecx + eax*4 + 0xc], esi
mov esi, dword [ebp - 0x17c]
mov dword [ecx + esi*4 + 0x10], 0xffffffff
jmp 0x44d724
mov ecx, eax
cmp dword [ecx + esi*4 + 0x10], 0xffffffff
jne 0x44d70c
push edx
call fcn.0044c220
mov ecx, dword [ebp - 0x174]
add esp, 4
mov dword [ecx + esi*4 + 0x10], 0xfffffffe
mov dword [ecx + esi*4 + 0xc], 0x518f58
jmp 0x44d724
mov ecx, dword [ebp - 0x174]
push 0
push 0
push dword [ecx + esi*4 + 4]
add edi, 0x40
push dword [ecx + esi*4 + 0xc]
mov dword [ebp - 0x184], edi
push edi
mov dword [ebp - 0x180], edi
call fcn.00455e20
add esp, 0x14
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
push 0x80
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
shl ecx, 6
mov eax, dword [eax + 0x44]
add eax, 0xffffffc0
add eax, ecx
add edi, 0x40
push eax
push edi
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
call fcn.00455f30
add esp, 0xc
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 4]
jmp 0x451ae9
mov eax, dword [ebp - 0x174]
mov ecx, edi
mov eax, dword [eax + esi*4 + 4]
shl eax, 6
sub ecx, eax
push 0x100
add edi, 0x40
push ecx
push edi
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
call fcn.00455f30
mov eax, dword [ebp - 0x174]
add esp, 0xc
cmp dword [eax + esi*4 + 8], 0
je case.0x44d3e0.13
mov eax, 0x100
test word [edi + 0x18], ax
je case.0x44d3e0.13
push edi
call fcn.00455b30
add esp, 4
test eax, eax
jne 0x451df8
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov edx, edi
mov eax, dword [eax + esi*4 + 4]
shl eax, 6
sub edx, eax
mov ecx, 0x10
mov esi, edx
lea edi, [ebp - 0x2e4]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x184]
mov eax, 0x100
mov dword [ebp - 0x190], edx
test word [edi + 0x18], ax
je 0x44d84d
push edi
call fcn.00455b30
add esp, 4
test eax, eax
jne 0x451df8
mov edx, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x17c]
mov esi, dword [ebp - 0x174]
xor eax, eax
mov dword [ebp - 0x1a0], eax
cmp dword [esi + ecx*4 + 4], eax
jle 0x44d8e3
add edx, 0x40
mov dword [ebp - 0x18c], edx
mov ecx, 0x100
test word [edx + 0x18], cx
je 0x44d898
push edx
call fcn.00455b30
add esp, 4
test eax, eax
jne 0x451df2
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x1a0]
lea edi, [edx - 0x40]
mov ecx, 0x10
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x200
test word [edx - 0x28], cx
je 0x44d8bb
lea eax, [edx - 0x20]
mov dword [edx - 0x30], eax
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x17c]
mov esi, dword [ebp - 0x174]
inc eax
add edx, 0x40
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x18c], edx
cmp eax, dword [esi + ecx*4 + 4]
jl 0x44d870
mov edi, dword [ebp - 0x184]
mov ecx, 0x10
lea esi, [ebp - 0x2e4]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x184]
mov eax, 0x200
test word [edi + 0x18], ax
je case.0x44d3e0.13
lea eax, [edi + 0x20]
mov dword [edi + 0x10], eax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
push edi
mov ecx, dword [eax + esi*4 + 4]
shl ecx, 6
mov eax, edi
sub eax, ecx
push eax
call fcn.00455bb0
add esp, 8
sub edi, 0x40
mov dword [ebp - 0x180], edi
jmp 0x451afe
mov eax, dword [ebp - 0x174]
xor edx, edx
mov eax, dword [eax + esi*4 + 4]
add eax, 2
mov ecx, eax
mov dword [ebp - 0x1bc], eax
shl ecx, 6
mov eax, edi
sub eax, ecx
add eax, 0x40
xor ecx, ecx
mov dword [ebp - 0x190], eax
mov esi, eax
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x1a0], ecx
cmp dword [ebp - 0x1bc], ecx
jle 0x44d9da
jmp 0x44d980
movzx eax, word [esi + 0x18]
test al, 1
jne 0x44dac4
test al, 0x12
jne 0x44d9b5
movzx eax, byte [ebp - 0x1ac]
push eax
push esi
call fcn.00455f80
add esp, 8
test eax, eax
jne 0x451df8
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x18c]
add edx, dword [esi + 0x14]
mov eax, dword [ebp - 0x1bc]
inc ecx
add esi, 0x40
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x1a0], ecx
cmp ecx, eax
jl 0x44d980
test edx, edx
js 0x44daca
lea eax, [edx + 2]
push 1
push eax
call fcn.0044c620
mov ecx, eax
add esp, 8
mov dword [ebp - 0x19c], ecx
test ecx, ecx
je 0x451df8
mov edx, dword [ebp - 0x1bc]
xor eax, eax
mov dword [ebp - 0x1a0], eax
test edx, edx
jle 0x44da56
mov edi, dword [ebp - 0x190]
add edi, 0x10
mov dword [ebp - 0x18c], edx
lea esp, [esp]
mov esi, dword [edi + 4]
push esi
push dword [edi]
add eax, ecx
push eax
call fcn.004e5510
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
add eax, esi
add esp, 0xc
dec dword [ebp - 0x18c]
mov dword [ebp - 0x1a0], eax
lea edi, [edi + 0x40]
jne 0x44da20
mov edi, dword [ebp - 0x184]
mov edx, dword [ebp - 0x174]
mov esi, dword [ebp - 0x17c]
mov word [eax + ecx], 0
cmp dword [edx + esi*4 + 8], 0
mov edx, dword [ebp - 0x1bc]
jne 0x44da97
push edx
lea eax, [ebp - 0x180]
push eax
call fcn.0044d1d0
mov edi, dword [ebp - 0x180]
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
add esp, 8
add edi, 0x40
mov dword [ebp - 0x180], edi
mov dword [edi + 0x14], eax
mov eax, 0x62
mov word [edi + 0x18], ax
mov al, byte [ebp - 0x1ac]
mov dword [edi + 0x1c], 0
mov byte [edi + 0x1b], al
mov dword [edi + 0x10], ecx
jmp 0x451afe
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
cmp dword [edx + ecx*4 + 8], 0
jne 0x44daf3
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0044d1d0
add esp, 8
mov edi, dword [ebp - 0x180]
add edi, 0x40
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
mov eax, 1
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
movzx eax, word [edi + 0x18]
movzx edx, word [edi - 0x28]
lea esi, [edi - 0x40]
mov dword [ebp - 0x1c0], eax
mov eax, edx
or dword [ebp - 0x1c0], eax
test byte [ebp - 0x1c0], 1
movzx eax, word [edi + 0x18]
mov dword [ebp - 0x19c], esi
je 0x44db74
test al, 0x40
je 0x44db49
push edi
call fcn.00455d10
add esp, 4
mov edi, esi
mov dword [ebp - 0x184], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x180], edi
je 0x44db66
push edi
call fcn.00455d10
add esp, 4
mov eax, 1
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
and al, dl
test al, 4
je 0x44dc6e
mov edx, dword [ebp - 0x19c]
mov esi, dword [edi + 4]
mov eax, dword [edx]
mov edx, dword [edx + 4]
add ecx, 0xffffffb1
mov dword [ebp - 0x17c], edx
mov edx, dword [edi]
mov dword [ebp - 0x198], eax
cmp ecx, 3
ja case.default.0x44dba2
jmp dword [ecx*4 + 0x45208c]
add eax, edx
adc dword [ebp - 0x17c], esi
mov dword [ebp - 0x198], eax
mov esi, eax
jmp 0x44dc23
sub eax, edx
sbb dword [ebp - 0x17c], esi
mov dword [ebp - 0x198], eax
mov esi, eax
jmp 0x44dc23
push esi
push edx
push dword [ebp - 0x17c]
push eax
call fcn.004ea5a0
jmp 0x44dc1b
mov eax, edx
or eax, esi
je 0x44dda4
push esi
mov esi, dword [ebp - 0x198]
push edx
push dword [ebp - 0x17c]
push esi
call fcn.004ea960
jmp 0x44dc1b
mov eax, edx
or eax, esi
je 0x44dda4
push esi
mov esi, dword [ebp - 0x198]
push edx
push dword [ebp - 0x17c]
push esi
call fcn.004eb140
mov esi, eax
mov dword [ebp - 0x17c], edx
movzx eax, word [edi + 0x18]
test al, 0x40
je 0x44dc34
push edi
call fcn.00455d10
add esp, 4
mov edi, dword [ebp - 0x19c]
mov dword [ebp - 0x184], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x180], edi
je 0x44dc55
push edi
call fcn.00455d10
add esp, 4
mov eax, dword [ebp - 0x17c]
mov dword [edi], esi
mov dword [edi + 4], eax
mov eax, 4
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
push edi
call fcn.00455ff0
fstp qword [ebp - 0x1a8]
push esi
call fcn.00455ff0
fstp qword [ebp - 0x1e0]
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
add esp, 8
movzx eax, byte [ecx + eax*4]
add eax, 0xffffffb1
cmp eax, 3
ja case.default.0x44dca1
jmp dword [eax*4 + 0x45209c]
movsd xmm0, qword [ebp - 0x1e0]
addsd xmm0, qword [ebp - 0x1a8]
jmp 0x44dd40
movsd xmm0, qword [ebp - 0x1e0]
subsd xmm0, qword [ebp - 0x1a8]
jmp 0x44dd40
movsd xmm0, qword [ebp - 0x1e0]
mulsd xmm0, qword [ebp - 0x1a8]
jmp 0x44dd40
movsd xmm1, qword [ebp - 0x1a8]
ucomisd xmm1, qword [0x520988]
lahf
test ah, 0x44
jnp 0x44ddaa
movsd xmm0, qword [ebp - 0x1e0]
divsd xmm0, xmm1
jmp 0x44dd40
cvttsd2si ecx, qword [ebp - 0x1a8]
cvttsd2si edx, qword [ebp - 0x1e0]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm0, qword [0x520988]
lahf
test ah, 0x44
jnp 0x44ddaa
mov eax, edx
cdq
idiv ecx
movd xmm0, edx
cvtdq2pd xmm0, xmm0
test byte [edi + 0x18], 0x40
movsd qword [ebp - 0x1a8], xmm0
je 0x44dd57
push edi
call fcn.00455d10
add esp, 4
mov edi, esi
mov dword [ebp - 0x184], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x180], edi
je 0x44dd74
push edi
call fcn.00455d10
add esp, 4
movsd xmm0, qword [ebp - 0x1a8]
mov eax, 8
movsd qword [edi + 8], xmm0
mov word [edi + 0x18], ax
test byte [ebp - 0x1c0], al
jne case.0x44d3e0.13
push edi
call fcn.00455870
add esp, 4
jmp case.0x44d3e0.13
mov esi, dword [ebp - 0x19c]
test byte [edi + 0x18], 0x40
jmp 0x44db3e
mov eax, dword [ebp - 0x174]
mov edx, edi
mov ecx, dword [eax + esi*4 + 8]
mov eax, dword [ebp - 0x178]
xor esi, esi
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x18c], eax
mov eax, ecx
shl eax, 6
sub edx, eax
add edx, 0x40
mov dword [ebp - 0x1a0], ecx
test ecx, ecx
jle 0x44de06
mov edi, ecx
mov eax, dword [ebp - 0x18c]
push edx
mov dword [eax + esi*4], edx
call fcn.0044d050
inc esi
add esp, 4
add edx, 0x40
cmp esi, edi
jl 0x44dde6
mov edi, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
cmp dword [edx + ecx*4 + 0x10], 0xfffffffb
mov eax, dword [edx + ecx*4 + 0xc]
jne 0x44de29
mov dword [ebp - 0xd0], 0
jmp 0x44de31
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov esi, 1
mov dword [ebp - 0xd4], eax
mov word [ebp - 0xb4], si
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb0], 0
mov byte [ebp - 0x88], 0
cmp byte [eax + 3], 0
je 0x44de6e
mov eax, dword [edx + ecx*4 - 8]
mov dword [ebp - 0x84], eax
push dword [ebp - 0x188]
call fcn.0044c840
add esp, 4
test eax, eax
jne 0x45139a
push dword [ebp - 0x18c]
mov esi, dword [ebp - 0x1a0]
lea eax, [ebp - 0xd4]
push esi
push eax
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x10]
call eax
push dword [ebp - 0x188]
call fcn.0044c880
add esp, 0x10
test eax, eax
jne 0x45139a
call fcn.0044c600
test eax, eax
jne 0x451df8
lea eax, [ebp - 0x180]
push esi
push eax
call fcn.0044d1d0
mov eax, dword [ebp - 0xd0]
add esp, 8
test eax, eax
je 0x44df0b
mov esi, dword [ebp - 0x17c]
mov edi, dword [ebp - 0x174]
push dword [edi + esi*4 + 4]
push eax
call fcn.00453a30
mov eax, dword [ebp - 0xd0]
add esp, 8
mov dword [edi + esi*4 + 0xc], eax
mov dword [edi + esi*4 + 0x10], 0xfffffff9
cmp byte [ebp - 0x88], 0
je 0x44df44
lea eax, [ebp - 0xcc]
push 0
push eax
call fcn.00452e80
add esp, 4
push eax
mov eax, dword [ebp - 0x178]
add eax, 0x230
push eax
call fcn.0044c8c0
add esp, 0xc
mov dword [ebp - 0x170], 1
movzx eax, byte [ebp - 0x1ac]
push eax
lea eax, [ebp - 0xcc]
push eax
call fcn.004557d0
mov edi, dword [ebp - 0x180]
add edi, 0x40
xor eax, eax
mov word [edi + 0x18], ax
lea eax, [ebp - 0xcc]
push eax
push edi
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
call fcn.00455bb0
add esp, 0x10
jmp case.0x44d3e0.13
mov al, byte [edi - 0x28]
or al, byte [edi + 0x18]
lea ecx, [edi - 0x40]
mov dword [ebp - 0x190], ecx
test al, 1
je 0x44dfa2
push 2
jmp 0x44dade
push ecx
call fcn.00455800
mov esi, eax
mov eax, edx
push edi
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x224], eax
call fcn.00455800
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x17c]
add esp, 8
movzx eax, byte [ecx + eax*4]
mov ecx, dword [ebp - 0x18c]
add eax, 0xffffffb5
cmp eax, 3
ja case.default.0x44dfeb
jmp dword [eax*4 + 0x4520ac]
and esi, ecx
and dword [ebp - 0x198], edx
jmp case.default.0x44dfeb
or esi, ecx
or dword [ebp - 0x198], edx
jmp case.default.0x44dfeb
movq xmm1, qword [ebp - 0x228]
movd xmm0, ecx
psllq xmm1, xmm0
movq qword [ebp - 0x228], xmm1
mov eax, dword [ebp - 0x224]
mov esi, dword [ebp - 0x228]
mov dword [ebp - 0x198], eax
jmp case.default.0x44dfeb
mov edx, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x18c]
mov eax, esi
call fcn.004eb200
mov esi, eax
mov dword [ebp - 0x198], edx
test byte [edi + 0x18], 0x40
je 0x44e05c
push edi
call fcn.00455d10
add esp, 4
mov edi, dword [ebp - 0x190]
mov dword [ebp - 0x184], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x180], edi
je 0x44e07d
push edi
call fcn.00455d10
add esp, 4
mov ecx, dword [ebp - 0x198]
mov dword [edi], esi
mov eax, 4
mov dword [edi + 4], ecx
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
push edi
call fcn.00455b00
mov eax, dword [ebp - 0x174]
add esp, 4
mov eax, dword [eax + esi*4 + 4]
cdq
add dword [edi], eax
adc dword [edi + 4], edx
jmp case.0x44d3e0.13
push dword [ebp - 0x1ac]
push 0x63
push edi
call fcn.0044d0e0
lea eax, [edi + 0x18]
mov dword [ebp - 0x18c], eax
movzx eax, word [eax]
add esp, 0xc
test al, 0xc
jne 0x44e101
test al, 0x40
je 0x44e0e2
push edi
call fcn.00455d10
add esp, 4
mov eax, dword [ebp - 0x174]
sub edi, 0x40
mov eax, dword [eax + esi*4 + 8]
dec eax
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x194], eax
jmp 0x451afe
test al, 4
je 0x44e158
mov eax, dword [ebp - 0x174]
cmp dword [eax + esi*4 + 4], 0
je 0x44e12d
mov esi, dword [edi]
mov ecx, dword [edi + 4]
mov eax, 1
xor edx, edx
add esi, eax
adc ecx, edx
mov dword [ebp - 0x19c], ecx
jmp 0x44e20c
mov esi, dword [edi]
mov ecx, dword [edi + 4]
xorps xmm0, xmm0
movlpd qword [ebp - 0x26c], xmm0
mov eax, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x268]
add esi, eax
adc ecx, edx
mov dword [ebp - 0x19c], ecx
jmp 0x44e20c
push edi
call fcn.00455ce0
movsd xmm0, qword [edi + 8]
cvttsd2si eax, xmm0
add esp, 4
cdq
mov esi, eax
mov ecx, edx
mov dword [ebp - 0x21c], esi
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x19c], edx
fild qword [ebp - 0x21c]
fstp qword [ebp - 0x1a8]
fld qword [ebp - 0x1a8]
fstp qword [ebp - 0x1a8]
comisd xmm0, xmmword [ebp - 0x1a8]
jbe 0x44e1bb
add esi, 1
adc ecx, 0
mov dword [ebp - 0x21c], esi
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x218], ecx
mov eax, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
cmp dword [edx + eax*4 + 4], 0
je 0x44e200
fild qword [ebp - 0x21c]
fstp qword [ebp - 0x1a8]
fld qword [ebp - 0x1a8]
fstp qword [ebp - 0x1a8]
ucomisd xmm0, qword [ebp - 0x1a8]
lahf
test ah, 0x44
jp 0x44e200
add esi, 1
adc ecx, 0
mov dword [ebp - 0x19c], ecx
mov edi, dword [ebp - 0x180]
mov dword [ebp - 0x184], edi
mov eax, dword [ebp - 0x18c]
test byte [eax], 0x40
je 0x44e220
push edi
call fcn.00455d10
add esp, 4
mov eax, dword [ebp - 0x19c]
mov dword [edi], esi
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x18c]
mov ecx, 4
mov word [eax], cx
jmp case.0x44d3e0.13
push dword [ebp - 0x1ac]
push 0x63
push edi
call fcn.0044d0e0
movzx eax, word [edi + 0x18]
add esp, 0xc
test al, 4
jne 0x44e2a2
mov eax, dword [ebp - 0x174]
cmp dword [eax + esi*4 + 8], 0
je 0x451b1d
cmp dword [eax + esi*4 + 4], 0
je 0x44e292
lea eax, [ebp - 0x180]
push 1
push eax
call fcn.0044d1d0
mov edi, dword [ebp - 0x180]
mov eax, dword [ebp - 0x174]
add esp, 8
mov dword [ebp - 0x184], edi
mov eax, dword [eax + esi*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
test al, 0x40
je 0x44e2af
push edi
call fcn.00455d10
add esp, 4
mov eax, 4
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
test byte [edi + 0x18], 4
je case.0x44d3e0.13
push edi
call fcn.00455ce0
add esp, 4
jmp case.0x44d3e0.13
movzx ecx, word [edi + 0x18]
test cl, 1
jne case.0x44d3e0.13
push dword [ebp - 0x1ac]
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
push 0x61
push edi
mov word [edi + 0x18], ax
call fcn.0044d0e0
mov eax, 0xffe3
add esp, 0xc
and word [edi + 0x18], ax
jmp case.0x44d3e0.13
movzx eax, word [edi + 0x18]
test al, 1
jne case.0x44d3e0.13
test al, 0x10
jne 0x44e335
push dword [ebp - 0x1ac]
push 0x61
push edi
call fcn.0044d0e0
add esp, 0xc
or word [edi + 0x18], 0x10
mov eax, 0xfff1
and word [edi + 0x18], ax
jmp case.0x44d3e0.13
test byte [edi + 0x18], 1
jne case.0x44d3e0.13
push edi
call fcn.00455cc0
add esp, 4
jmp case.0x44d3e0.13
test byte [edi + 0x18], 1
jne case.0x44d3e0.13
push edi
call fcn.00455b00
add esp, 4
jmp case.0x44d3e0.13
test byte [edi + 0x18], 1
jne case.0x44d3e0.13
push edi
call fcn.00455ce0
add esp, 4
jmp case.0x44d3e0.13
movzx ecx, word [edi + 0x18]
mov al, byte [edi - 0x28]
lea esi, [edi - 0x40]
or al, cl
test al, 1
je 0x44e3da
mov eax, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
test dword [edx + eax*4 + 4], 0x200
je 0x44e458
not ecx
and ecx, 1
mov eax, ecx
cdq
push edx
push eax
push edi
call fcn.00455dc0
movzx eax, word [esi + 0x18]
not eax
and eax, 1
cdq
push edx
push eax
push esi
call fcn.00455dc0
add esp, 0x18
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov al, byte [ecx + eax*4 + 4]
mov byte [ebp - 0x23c], al
test al, al
je 0x44e423
push dword [ebp - 0x1ac]
mov esi, dword [ebp - 0x23c]
lea eax, [edi - 0x40]
push esi
push eax
call fcn.0044d0e0
push dword [ebp - 0x1ac]
push esi
push edi
call fcn.0044d0e0
mov ecx, dword [ebp - 0x174]
add esp, 0x18
lea esi, [edi - 0x40]
mov eax, dword [ebp - 0x17c]
push dword [ecx + eax*4 + 0xc]
push edi
push esi
call fcn.004552d0
mov esi, dword [ebp - 0x17c]
mov edi, dword [ebp - 0x174]
mov ecx, eax
movzx eax, byte [edi + esi*4]
add eax, 0xffffffbc
add esp, 0xc
cmp eax, 4
ja case.default.0x44e451
jmp dword [eax*4 + 0x4520bc]
lea eax, [ebp - 0x180]
push 2
push eax
call fcn.0044d1d0
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
add esp, 8
mov eax, dword [edx + ecx*4 + 8]
test eax, eax
je 0x44daed
test dword [edx + ecx*4 + 4], 0x100
je 0x451af8
dec eax
mov dword [ebp - 0x194], eax
jmp 0x451af8
xor eax, eax
test ecx, ecx
sete al
jmp 0x44e4cf
xor eax, eax
test ecx, ecx
setne al
jmp 0x44e4cf
xor eax, eax
test ecx, ecx
sets al
jmp 0x44e4cf
xor eax, eax
test ecx, ecx
setle al
jmp 0x44e4cf
xor eax, eax
test ecx, ecx
setg al
jmp 0x44e4cf
xor eax, eax
test ecx, ecx
setns al
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x180]
push 2
push eax
call fcn.0044d1d0
mov eax, dword [edi + esi*4 + 8]
add esp, 8
test eax, eax
je 0x44e4f7
cmp dword [ebp - 0x198], 0
jmp 0x44e489
mov edi, dword [ebp - 0x180]
add edi, 0x40
mov eax, 4
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x198]
cdq
mov dword [edi], eax
mov dword [ebp - 0x180], edi
mov dword [edi + 4], edx
jmp 0x451afe
test byte [edi + 0x18], 1
lea eax, [edi - 0x40]
mov dword [ebp - 0x190], eax
je 0x44e536
mov esi, 2
jmp 0x44e54d
push edi
call fcn.00455b00
mov eax, dword [edi]
add esp, 4
or eax, dword [edi + 4]
jne 0x44e54b
lea esi, [eax + 1]
jmp 0x44e54d
xor esi, esi
mov edi, dword [ebp - 0x190]
test byte [edi + 0x18], 1
je 0x44e560
mov eax, 2
jmp 0x44e579
push edi
call fcn.00455b00
mov eax, dword [edi]
add esp, 4
or eax, dword [edi + 4]
jne 0x44e577
mov eax, 1
jmp 0x44e579
xor eax, eax
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
lea eax, [eax + esi*2]
cmp byte [edx + ecx*4], 0x3e
jne 0x44e598
movzx esi, byte [esi + eax + 0x5207cc]
jmp 0x44e5a0
movzx esi, byte [esi + eax + 0x5207d8]
lea eax, [ebp - 0x180]
push 2
push eax
call fcn.0044d1d0
mov edi, dword [ebp - 0x180]
add edi, 0x40
add esp, 8
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
cmp esi, 2
je 0x44db02
xor eax, eax
test esi, esi
sete al
cdq
mov dword [edi], eax
mov eax, 4
mov dword [edi + 4], edx
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
movzx eax, word [edi + 0x18]
test al, 8
jne 0x44e64c
test al, 4
je 0x44e63b
test al, 0x40
je 0x44e603
push edi
call fcn.00455d10
add esp, 4
mov eax, dword [ebp - 0x174]
cmp byte [eax + esi*4], 0x56
je 0x44e61c
cmp dword [edi + 4], 0
jg 0x44e62d
jl 0x44e61c
cmp dword [edi], 0
jae 0x44e62d
mov ecx, dword [edi]
mov eax, dword [edi + 4]
neg ecx
adc eax, 0
neg eax
mov dword [edi], ecx
mov dword [edi + 4], eax
mov eax, 4
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
test al, 1
jne case.0x44d3e0.13
push edi
call fcn.00455cc0
add esp, 4
test byte [edi + 0x18], 0x40
je 0x44e65b
push edi
call fcn.00455d10
add esp, 4
mov eax, dword [ebp - 0x174]
cmp byte [eax + esi*4], 0x56
je 0x44e671
xorps xmm0, xmm0
comisd xmm0, xmmword [edi + 8]
jbe 0x44e683
movsd xmm0, qword [edi + 8]
xorpd xmm0, xmmword [0x51afa0]
movsd qword [edi + 8], xmm0
mov eax, 8
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
test byte [edi + 0x18], 1
jne case.0x44d3e0.13
push edi
call fcn.00455b00
mov eax, dword [edi]
add esp, 4
or eax, dword [edi + 4]
jne 0x44e6c4
mov eax, 1
cdq
mov dword [edi], eax
mov eax, 4
mov dword [edi + 4], edx
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
xor eax, eax
cdq
mov dword [edi], eax
mov eax, 4
mov dword [edi + 4], edx
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
test byte [edi + 0x18], 1
jne case.0x44d3e0.13
push edi
call fcn.00455b00
not dword [edi]
not dword [edi + 4]
mov eax, 4
add esp, 4
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
test byte [edi + 0x18], 1
je 0x44e712
mov eax, dword [ebp - 0x174]
mov esi, dword [eax + esi*4 + 4]
jmp 0x44e75b
push edi
call fcn.00455ff0
fstp qword [ebp - 0x1a8]
movsd xmm0, qword [ebp - 0x1a8]
add esp, 4
ucomisd xmm0, qword [0x520988]
lahf
test ah, 0x44
jnp 0x44e73e
mov esi, 1
jmp 0x44e740
xor esi, esi
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
cmp byte [ecx + eax*4], 0x55
jne 0x44e75b
xor eax, eax
test esi, esi
sete al
mov esi, eax
test byte [edi + 0x18], 0x40
je 0x44e76a
push edi
call fcn.00455d10
add esp, 4
sub edi, 0x40
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
test esi, esi
je case.0x44d3e0.13
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
test byte [edi + 0x18], 1
je 0x44e7da
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + esi*4 + 8]
mov eax, dword [eax + esi*4 + 4]
dec ecx
mov dword [ebp - 0x194], ecx
test eax, eax
jns 0x44e7da
neg eax
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0044d1d0
mov edi, dword [ebp - 0x180]
add esp, 8
mov dword [ebp - 0x184], edi
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
jle case.0x44d3e0.13
push eax
jmp 0x451ae9
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi*4 + 4]
mov esi, eax
mov dword [ebp - 0x190], eax
test esi, esi
jns 0x44e80a
neg esi
xor edx, edx
test esi, esi
jle 0x44e833
mov eax, esi
shl eax, 6
mov ecx, edi
sub ecx, eax
add ecx, 0x58
lea esp, [esp]
test byte [ecx], 1
jne 0x44e82f
inc edx
add ecx, 0x40
cmp edx, esi
jl 0x44e820
jmp 0x44e833
cmp edx, esi
jl 0x44e84a
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x190], 0
jle case.0x44d3e0.13
push esi
jmp 0x451ae9
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
mov ecx, dword [edx + esi*4 + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + esi*4 + 8]
mov dword [ecx + 0x50], eax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
add edi, 0x40
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [eax + esi*4 + 8]
mov dword [ebp - 0x18c], eax
xor eax, eax
mov word [ebp - 0x154], ax
mov eax, 1
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x184], edi
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x180], edi
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x198], edx
cmp dword [edx], 0
je 0x44e968
push edx
call fcn.004538e0
add esp, 4
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x4513aa
mov edx, dword [ebp - 0x198]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [edx]
mov dword [ebp - 0x1c0], ecx
cmp byte [edx + 0x1c], al
je 0x44e90a
mov dword [ebp - 0x1d0], eax
jmp 0x44e995
mov esi, dword [ebp - 0x178]
mov eax, dword [edx + 0x68]
cmp eax, dword [esi + 0x60]
jne 0x44e926
mov eax, dword [edx + 0x6c]
mov dword [ebp - 0x1d0], eax
mov eax, dword [edx + 0x78]
jmp 0x44e98f
cmp byte [edx + 0x21], 0
je 0x44e950
lea eax, [ebp - 0x2a4]
push eax
push ecx
call fcn.004278f0
mov eax, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x198]
mov dword [ebp - 0x1d0], eax
add esp, 8
jmp 0x44e995
lea eax, [ebp - 0x1d0]
push eax
push ecx
call fcn.00426df0
mov edx, dword [ebp - 0x198]
add esp, 8
jmp 0x44e995
cmp byte [edx + 0x1e], 0
je 0x44ed11
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x1d0], eax
mov eax, dword [edx + 0x38]
mov dword [edx + 0x68], 0
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1d0], 0
mov ecx, dword [edx + 0x50]
mov dword [ebp - 0x1c8], ecx
je case.0x44d3e0.13
mov esi, dword [ebp - 0x178]
mov eax, dword [edx + 0x68]
cmp eax, dword [esi + 0x60]
mov esi, dword [ebp - 0x17c]
jne 0x44e9d6
mov ecx, dword [edx + 0x70]
mov eax, dword [edx + 0x74]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x1a0], eax
jmp 0x44ec1d
mov eax, dword [edx + 0x70]
mov dword [ebp - 0x19c], eax
test eax, eax
jne 0x44ea0c
lea eax, [ecx*8]
push 1
push eax
call fcn.0044c620
mov edx, dword [ebp - 0x198]
add esp, 8
mov dword [ebp - 0x19c], eax
mov dword [edx + 0x70], eax
test eax, eax
je 0x451df8
mov ecx, dword [ebp - 0x1c8]
lea eax, [eax + ecx*4]
mov dword [edx + 0x74], eax
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x178]
mov dword [edx + 0x6c], ecx
mov eax, dword [eax + 0x60]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 0x1bc]
test eax, eax
je 0x44ea41
mov esi, eax
jmp 0x44ea8b
cmp byte [edx + 0x21], 0
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x1c0]
je 0x44ea5b
call fcn.004278d0
jmp 0x44ea60
call fcn.00426dd0
mov esi, eax
mov eax, dword [ebp - 0x204]
add esp, 8
cmp eax, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x198]
jb 0x44ea84
mov dword [ebp - 0x1bc], esi
mov dword [eax + 0x78], esi
jmp 0x44ea8b
mov dword [eax + 0x78], 0
movzx ecx, byte [esi]
mov dword [ebp - 0x1d4], ecx
cmp ecx, 0x7f
ja 0x44eaa5
mov dword [ebp - 0x1b8], 1
jmp 0x44eac1
lea eax, [ebp - 0x1d4]
push eax
push esi
call fcn.0044c3a0
mov ecx, dword [ebp - 0x1d4]
add esp, 8
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1bc], 0
jne 0x44eb0f
cmp dword [ebp - 0x204], ecx
jae 0x44eb0f
lea eax, [ebp - 0x16c]
push eax
mov eax, dword [ebp - 0x198]
movzx eax, byte [eax + 0x21]
push eax
push ecx
push 0
push dword [ebp - 0x1c0]
call fcn.00455a20
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x451b0a
mov esi, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1c8]
lea eax, [ecx + esi]
add esi, dword [ebp - 0x1b8]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x170], esi
test edx, edx
je 0x44ebc9
mov esi, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1a0]
mov edi, dword [ebp - 0x170]
sub eax, esi
mov dword [ebp - 0x1b8], eax
lea esp, [esp]
cmp edi, dword [ebp - 0x190]
jae 0x44eb9e
mov dword [eax + esi], ecx
movzx eax, byte [edi]
mov dword [esi], eax
cmp eax, 0x7f
ja 0x44eb6c
mov eax, 1
jmp 0x44eb76
push esi
push edi
call fcn.0044c3a0
add esp, 8
push dword [esi]
add edi, eax
call fcn.00454ba0
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1c8]
add esp, 4
add ecx, eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1d4], ecx
jmp 0x44ebab
mov dword [eax + esi], 0
mov ecx, dword [ebp - 0x1d4]
add esi, 4
dec edx
mov dword [ebp - 0x1c8], edx
jne 0x44eb50
mov dword [ebp - 0x170], edi
mov edi, dword [ebp - 0x184]
mov esi, dword [ebp - 0x170]
test byte [ebp - 0x154], 0x40
je 0x44ebe7
lea eax, [ebp - 0x16c]
push eax
call fcn.00455d10
mov ecx, dword [ebp - 0x1d4]
add esp, 4
mov eax, 1
mov word [ebp - 0x154], ax
cmp esi, dword [ebp - 0x190]
ja 0x44ed01
cmp ecx, dword [ebp - 0x1d0]
ja 0x44ed01
mov esi, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x18c]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x44eca6
mov edx, dword [ebp - 0x1bc]
mov esi, dword [ebp - 0x18c]
test edx, edx
je 0x44ec42
add eax, edx
jmp 0x44ec88
push dword [ecx + esi*4]
call fcn.00454ba0
lea ecx, [ebp - 0x16c]
push ecx
mov ecx, dword [ebp - 0x198]
movzx ecx, byte [ecx + 0x21]
push ecx
push eax
mov eax, dword [ebp - 0x1a0]
push dword [eax + esi*4]
push dword [ebp - 0x1c0]
call fcn.00455a20
add esp, 0x18
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x451b0a
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x19c]
push edi
push dword [ecx + esi*4]
push eax
call fcn.004547d0
mov al, byte [ebp - 0x1ac]
add esp, 0xc
mov byte [edi + 0x1b], al
jmp 0x44ecd0
mov eax, dword [ebp - 0x174]
cmp dword [eax + esi*4 + 0x10], 0xfffffff8
jne 0x44ecc7
push 0x80
push dword [eax + esi*4 + 0xc]
push edi
call fcn.00455f30
add esp, 0xc
jmp 0x44ecd0
mov eax, 1
mov word [edi + 0x18], ax
test byte [ebp - 0x154], 0x40
je 0x44eced
mov ax, word [edi + 0x18]
mov ecx, 0xfeff
and ax, cx
or ax, 0x60
mov word [edi + 0x18], ax
push edi
call fcn.00455b30
add esp, 4
mov dword [ebp - 0x170], eax
jmp 0x451b0a
mov eax, 0xb
mov dword [ebp - 0x170], eax
jmp 0x451b0a
mov dword [ebp - 0x1d0], 0
jmp case.0x44d3e0.13
mov ecx, dword [ebp - 0x174]
xor edx, edx
mov eax, dword [ecx + esi*4 + 4]
test eax, eax
sets dl
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x1b8], edx
xor edx, edx
cmp dword [ebp - 0x1b8], edx
sete dl
lea edx, [edx*2 - 1]
imul edx, eax
mov eax, dword [ecx + esi*4 + 8]
mov dword [ebp - 0x1a4], eax
xor eax, eax
cmp byte [ecx + esi*4], 0x36
mov ecx, dword [ecx + esi*4 + 0xc]
sete al
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x1c8], eax
mov eax, edx
shl eax, 6
mov edx, edi
sub edx, eax
mov dword [ebp - 0x174], edx
lea eax, [edx + 0x40]
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x1c0], eax
movzx edx, byte [edx + 0x239]
mov dword [ebp - 0x1a0], edx
mov esi, eax
mov dword [ebp - 0x190], eax
cmp eax, edi
ja 0x44ee75
mov dword [ebp - 0x18c], 0xffffffe8
sub dword [ebp - 0x18c], eax
test ecx, ecx
je 0x44ee14
mov eax, dword [ebp - 0x18c]
push dword [ebp - 0x1ac]
add eax, 0x18
add eax, esi
sar eax, 6
movzx eax, byte [eax + ecx]
push eax
push esi
call fcn.0044d0e0
mov edx, dword [ebp - 0x1a0]
add esp, 0xc
test byte [esi + 0x18], 1
mov eax, dword [ebp - 0x198]
mov ecx, 1
push edx
cmovne eax, ecx
push esi
mov dword [ebp - 0x198], eax
call fcn.00454ab0
mov esi, eax
push esi
call fcn.00454ba0
add dword [ebp - 0x19c], eax
push 0
push esi
call fcn.0044cad0
mov esi, dword [ebp - 0x190]
add dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x1a0]
add esi, 0x40
add esp, 0x14
mov dword [ebp - 0x190], esi
cmp esi, edi
jbe 0x44ede8
cmp dword [ebp - 0x1c8], 0
je 0x44eec1
mov esi, dword [ebp - 0x174]
push esi
mov dword [ebp - 0x1bc], esi
call fcn.00455b00
push 0
push esi
call fcn.00454ab0
mov esi, eax
push esi
call fcn.00454ba0
add dword [ebp - 0x19c], eax
push 0
push esi
call fcn.0044cad0
mov ecx, dword [ebp - 0x17c]
add esp, 0x18
add ecx, eax
mov dword [ebp - 0x17c], ecx
jmp 0x44eec7
mov ecx, dword [ebp - 0x17c]
mov eax, ecx
cdq
push edx
push eax
call fcn.0044cad0
mov esi, eax
mov eax, dword [ebp - 0x17c]
add eax, esi
mov dword [ebp - 0x17c], eax
cdq
push edx
push eax
call fcn.0044cad0
add esp, 0x10
cmp esi, eax
mov esi, dword [ebp - 0x17c]
jge 0x44eef7
inc esi
mov eax, dword [ebp - 0x19c]
add eax, esi
mov dword [ebp - 0x19c], eax
cmp eax, 0x20
jbe 0x44ef27
push 1
push eax
call fcn.0044c620
mov ecx, eax
add esp, 8
mov dword [ebp - 0x18c], eax
test ecx, ecx
je 0x451df8
jmp 0x44ef30
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x18c], ecx
mov eax, esi
cdq
push edx
push eax
push ecx
call fcn.0044c680
mov ecx, dword [ebp - 0x1c0]
mov esi, eax
add esi, dword [ebp - 0x18c]
add esp, 0xc
mov eax, ecx
mov dword [ebp - 0x190], ecx
cmp ecx, edi
ja 0x44ef8d
jmp 0x44ef60
push dword [ebp - 0x1a0]
push eax
call fcn.00454ab0
push 0
push eax
push esi
call fcn.0044c680
add esi, eax
mov eax, dword [ebp - 0x190]
add eax, 0x40
add esp, 0x14
mov dword [ebp - 0x190], eax
cmp eax, edi
jbe 0x44ef60
cmp dword [ebp - 0x1c8], 0
je 0x44efb1
push 0
push dword [ebp - 0x1bc]
call fcn.00454ab0
push 0
push eax
push esi
call fcn.0044c680
add esp, 0x14
add esi, eax
mov eax, dword [ebp - 0x1c0]
cmp eax, edi
ja 0x44efe5
jmp 0x44efc0
push dword [ebp - 0x1a0]
push eax
push esi
call fcn.00454a30
add esi, eax
mov eax, dword [ebp - 0x1c0]
add eax, 0x40
add esp, 0xc
mov dword [ebp - 0x1c0], eax
cmp eax, edi
jbe 0x44efc0
mov eax, dword [ebp - 0x1c8]
test eax, eax
je 0x44f006
push 0
push dword [ebp - 0x1bc]
push esi
call fcn.00454a30
mov eax, dword [ebp - 0x1c8]
add esp, 0xc
cmp dword [ebp - 0x1b8], 0
jne 0x44f02b
add eax, dword [ebp - 0x1dc]
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0044d1d0
mov edi, dword [ebp - 0x180]
add esp, 8
mov ecx, dword [ebp - 0x19c]
add edi, 0x40
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
mov dword [edi + 0x14], ecx
cmp ecx, 0x20
ja 0x44f067
push ecx
lea ecx, [ebp - 0x24]
lea eax, [edi + 0x20]
push ecx
push eax
mov dword [edi + 0x10], eax
call fcn.004e5510
mov eax, 0x210
add esp, 0xc
mov word [edi + 0x18], ax
jmp 0x44f080
mov eax, dword [ebp - 0x18c]
mov dword [edi + 0x10], eax
mov eax, 0x50
mov word [edi + 0x18], ax
mov dword [edi + 0x1c], 0
mov eax, dword [ebp - 0x1a4]
mov byte [edi + 0x1b], 1
test eax, eax
je case.0x44d3e0.13
cmp dword [ebp - 0x198], 0
je case.0x44d3e0.13
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
js case.0x44d3e0.13
mov esi, dword [ebp - 0x188]
cmp eax, dword [esi]
jge case.0x44d3e0.13
lea ecx, [eax + eax*2]
mov eax, dword [esi + 4]
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je case.0x44d3e0.13
mov eax, dword [ebp - 0x188]
cmp byte [eax + 0x14], 0
jne case.0x44d3e0.13
push esi
call fcn.00427840
add esp, 4
test eax, eax
jne case.0x44d3e0.13
push esi
call fcn.004265b0
add esp, 4
mov dword [ebp - 0x170], eax
jmp 0x451b0a
mov edx, dword [ebp - 0x174]
mov al, byte [edx + esi*4 + 4]
mov cl, byte [edx + esi*4 + 8]
mov esi, dword [ebp - 0x188]
mov byte [ebp - 0x1c1], al
cmp dword [esi + 0x54], 1
jle 0x44f184
test al, al
je 0x44f184
mov edx, esi
cmp byte [edx + 0x14], 0
mov edx, dword [ebp - 0x174]
jne 0x44f184
push 0
test cl, cl
mov ecx, str.commit
push str._transaction___SQL_statements_in_progress
mov eax, str.rollback
cmove eax, ecx
push eax
mov eax, dword [ebp - 0x178]
add eax, 0x230
push str.cannot
push eax
call fcn.0044c8c0
mov eax, 1
add esp, 0x14
mov dword [ebp - 0x170], eax
jmp 0x451b0a
cmp al, byte [esi + 0x14]
mov esi, dword [ebp - 0x17c]
jne 0x451b31
test al, al
jne 0x44f19e
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x44f1ad
test cl, cl
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push 0
push eax
mov eax, dword [ebp - 0x178]
add eax, 0x230
push eax
call fcn.0044c8c0
mov eax, 1
add esp, 0xc
mov dword [ebp - 0x170], eax
jmp 0x451b0a
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + esi*4 + 4]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8 + 4]
test eax, eax
je case.0x44d3e0.13
push dword [edx + esi*4 + 8]
push eax
call fcn.00426600
add esp, 8
mov dword [ebp - 0x170], eax
cmp eax, 5
je 0x451bb9
test eax, eax
je 0x451b0a
cmp eax, 8
jne 0x4513aa
jmp 0x451b0a
mov ecx, dword [ebp - 0x174]
lea eax, [ebp - 0x240]
push eax
mov eax, dword [ecx + esi*4 + 8]
inc eax
push eax
mov eax, dword [ecx + esi*4 + 4]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 4]
push dword [eax + ecx*8 + 4]
call fcn.00427380
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x240]
cdq
add esp, 0xc
add edi, 0x40
mov dword [ebp - 0x184], edi
mov dword [edi], eax
mov eax, 4
mov dword [edi + 4], edx
mov dword [ebp - 0x180], edi
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
push edi
mov eax, dword [eax + esi*4 + 4]
lea esi, [eax + eax*2]
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18c], eax
call fcn.00455b00
mov ecx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x17c]
push dword [edi]
mov eax, dword [ecx + eax*4 + 8]
inc eax
push eax
mov eax, dword [ebp - 0x18c]
push dword [eax + esi*8 + 4]
call fcn.00428410
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x174]
add esp, 0x10
mov eax, dword [eax + edx*4 + 8]
test eax, eax
jne 0x44f302
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax + esi*8 + 0x14]
mov eax, dword [edi]
mov esi, dword [ebp - 0x188]
mov dword [ecx], eax
or dword [esi + 8], 0x10
jmp 0x44f31c
cmp eax, 1
jne 0x44f316
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax + esi*8 + 0x14]
mov al, byte [edi]
mov byte [ecx + 0x78], al
mov esi, dword [ebp - 0x188]
mov eax, dword [ebp - 0x174]
sub edi, 0x40
cmp dword [eax + edx*4 + 4], 1
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
jne case.0x44d3e0.13
push esi
call fcn.00453540
add esp, 4
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi*4 + 4]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8 + 4]
test eax, eax
je 0x44f390
lea ecx, [ebp - 0x214]
push ecx
push 1
push eax
call fcn.00427380
add esp, 0xc
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x451b0a
mov eax, dword [ebp - 0x214]
jmp 0x44f3a2
xor eax, eax
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x174]
cmp eax, dword [ecx + esi*4 + 8]
je case.0x44d3e0.13
mov eax, dword [ebp - 0x178]
push 0
add eax, 0x230
push str.database_schema_has_changed
push eax
call fcn.0044c8c0
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 4]
mov esi, dword [ebp - 0x188]
push esi
call fcn.0042b390
push esi
call fcn.00453540
mov eax, 0x11
add esp, 0x18
mov dword [ebp - 0x170], eax
jmp 0x451b0a
mov ecx, dword [ebp - 0x174]
push edi
mov eax, dword [ecx + esi*4 + 4]
mov esi, dword [ecx + esi*4 + 8]
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x18c], esi
call fcn.00455b00
mov eax, dword [edi]
mov ecx, dword [ebp - 0x188]
mov esi, dword [ebp - 0x174]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x1a4], eax
lea eax, [eax + eax*2]
sub edi, 0x40
mov edx, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x1b8], edx
mov edx, dword [ebp - 0x17c]
add esp, 4
cmp byte [esi + edx*4], 9
mov esi, dword [ebp - 0x18c]
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
jne 0x44f488
mov eax, dword [ecx + eax*8 + 0x14]
mov ecx, dword [ebp - 0x178]
mov al, byte [eax + 0x78]
mov dword [ebp - 0x190], 1
cmp al, byte [ecx + 0x239]
jae 0x44f492
mov byte [ecx + 0x239], al
jmp 0x44f492
mov dword [ebp - 0x190], 0
test esi, esi
jg 0x44f4b6
push edi
call fcn.00455b00
mov eax, dword [edi]
add esp, 4
sub edi, 0x40
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
push dword [ebp - 0x1a4]
push dword [ebp - 0x1dc]
push dword [ebp - 0x178]
call fcn.0044d090
mov esi, eax
add esp, 0xc
test esi, esi
je 0x451df8
mov eax, dword [ebp - 0x1b8]
mov byte [esi + 0x1c], 1
test eax, eax
je case.0x44d3e0.13
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
push esi
push dword [edx + ecx*4 + 0xc]
push fcn.00454390
push dword [ebp - 0x190]
push dword [ebp - 0x18c]
push eax
call fcn.00426c70
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
add esp, 0x18
cmp dword [edx + ecx*4 + 0x10], 0xfffffffa
mov dword [ebp - 0x170], eax
jne 0x44f559
mov eax, dword [edx + ecx*4 + 0xc]
mov dword [esi + 0x4c], eax
mov ecx, dword [esi + 0x4c]
inc eax
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [ecx], al
mov ecx, dword [ebp - 0x17c]
jmp 0x44f566
lea eax, [esi + 0x22]
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x44f5a2
cmp eax, 5
je 0x451bea
cmp eax, 0x10
jne 0x4513aa
cmp dword [edx + ecx*4 + 0x10], 0xfffffffa
setne al
test al, al
mov byte [esi + 0x20], al
sete al
mov byte [esi + 0x21], al
xor eax, eax
mov dword [ebp - 0x170], eax
jmp 0x451b0a
push dword [esi]
call fcn.004272f0
mov ecx, eax
add esp, 4
test cl, 0xf0
jne 0x44f5f9
and eax, 7
cmp eax, 5
je 0x44f5c0
cmp eax, 2
jne 0x44f5f9
mov edx, dword [ebp - 0x174]
mov al, cl
and al, 1
shr ecx, 1
and cl, 1
mov byte [esi + 0x20], al
test al, al
mov eax, dword [ebp - 0x17c]
mov byte [esi + 0x21], cl
je 0x44f5e6
cmp dword [edx + eax*4 + 0x10], 0xfffffffa
je 0x44f5f9
test cl, cl
je case.0x44d3e0.13
cmp dword [edx + eax*4 + 0x10], 0xfffffffa
je case.0x44d3e0.13
mov dword [ebp - 0x170], 0xb
mov eax, 0xb
jmp 0x4513aa
mov eax, dword [ebp - 0x174]
push 0xffffffffffffffff
push dword [eax + esi*4 + 4]
push dword [ebp - 0x178]
call fcn.0044d090
mov esi, eax
add esp, 0xc
test esi, esi
je 0x451df8
lea eax, [esi + 0x30]
push eax
push 0x1f4
push 1
push 0
push dword [ebp - 0x188]
mov byte [esi + 0x1c], 1
call fcn.0043a810
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f734
push 1
push dword [esi + 0x30]
call fcn.00426600
add esp, 8
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f734
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
cmp dword [ecx + eax*4 + 0xc], 0
je 0x44f710
push 2
lea eax, [ebp - 0x248]
push eax
push dword [esi + 0x30]
call fcn.00426a50
add esp, 0xc
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f70a
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
push esi
push dword [ecx + eax*4 + 0xc]
push fcn.00454390
push 1
push dword [ebp - 0x248]
push dword [esi + 0x30]
call fcn.00426c70
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x17c]
add esp, 0x18
mov ecx, dword [ecx + eax*4 + 0xc]
mov eax, dword [ebp - 0x178]
mov dword [esi + 0x4c], ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [ecx], al
mov eax, dword [esi + 0x4c]
inc eax
mov dword [esi + 0x48], eax
mov byte [esi + 0x20], 0
jmp 0x44f734
push esi
push 0
push 0
push 1
push 1
push dword [esi + 0x30]
call fcn.00426c70
mov dword [ebp - 0x170], eax
lea eax, [esi + 0x22]
add esp, 0x18
mov byte [esi + 0x20], 1
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
cmp byte [esi + 0x20], 0
mov eax, dword [ecx + eax*4 + 8]
mov dword [esi + 0x50], eax
sete al
mov byte [esi + 0x21], al
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
push 0xffffffffffffffff
push dword [eax + esi*4 + 4]
push dword [ebp - 0x178]
call fcn.0044d090
add esp, 0xc
test eax, eax
je 0x451df8
lea ecx, [eax + 0x22]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x1e], 1
mov dword [eax + 0x48], ecx
mov word [eax + 0x20], 1
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov esi, dword [eax + esi*4 + 4]
test esi, esi
js case.0x44d3e0.13
mov edx, dword [ebp - 0x178]
cmp esi, dword [edx + 0x38]
jge case.0x44d3e0.13
mov eax, dword [edx + 0x3c]
push dword [eax + esi*4]
push edx
call fcn.00453ad0
mov eax, dword [ebp - 0x178]
add esp, 8
mov eax, dword [eax + 0x3c]
mov dword [eax + esi*4], 0
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x190], esi
cmp dword [esi], 0
je 0x44f98e
mov eax, dword [ebp - 0x1b8]
mov byte [esi + 0x1c], 0
cmp eax, 7
je 0x44f813
cmp eax, 0x4a
je 0x44f813
xor ecx, ecx
jmp 0x44f818
mov ecx, 1
mov eax, dword [esi + 0x48]
mov byte [eax], cl
cmp byte [esi + 0x20], 0
je 0x44f8b5
push edi
call fcn.00455b00
mov esi, dword [ebp - 0x174]
mov edx, dword [ebp - 0x17c]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
add esp, 4
cmp dword [esi + edx*4 + 8], 0
mov esi, dword [ebp - 0x190]
jne 0x44f878
mov esi, dword [ebp - 0x174]
cmp byte [esi + edx*4], 0x7d
mov esi, dword [ebp - 0x190]
jne 0x44f878
sub edi, 0x40
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov byte [esi + 0x1f], 1
mov dword [ebp - 0x180], edi
jmp 0x451afe
lea edx, [ebp - 0x1cc]
push edx
push ecx
push eax
push 0
push dword [esi]
call fcn.004279d0
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x4513aa
mov eax, dword [edi]
cmp dword [ebp - 0x1cc], 0
mov dword [esi + 8], eax
mov eax, dword [edi + 4]
mov dword [esi + 0xc], eax
sete al
mov byte [esi + 0x19], al
jmp 0x44f8e0
lea eax, [ebp - 0x1cc]
push eax
mov eax, dword [edi + 0x14]
cdq
push edx
push eax
push dword [edi + 0x10]
push dword [esi]
call fcn.004279d0
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x4513aa
mov byte [esi + 0x19], al
mov eax, dword [esi + 0x48]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
mov byte [eax], 0
mov eax, dword [ebp - 0x1b8]
cmp eax, 0x7d
je 0x44f92c
cmp eax, 7
je 0x44f92c
cmp dword [ebp - 0x1cc], 0
jl 0x44f91a
lea eax, [ebp - 0x1cc]
push eax
push dword [esi]
call fcn.00428080
jmp 0x44f943
push dword [esi]
call fcn.00427290
add esp, 4
mov dword [ebp - 0x1cc], eax
jmp 0x44f958
cmp dword [ebp - 0x1cc], 0
jge 0x44f984
lea eax, [ebp - 0x1cc]
push eax
push dword [esi]
call fcn.00427c80
add esp, 8
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x4513aa
mov byte [esi + 0x19], 0
cmp dword [ebp - 0x1cc], 0
je 0x44f98e
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 8]
test eax, eax
jle 0x44f97e
dec eax
mov dword [ebp - 0x194], eax
jmp 0x44f98e
mov byte [esi + 0x1c], 1
jmp 0x44f98e
mov dword [ebp - 0x1cc], 0
test byte [edi + 0x18], 0x40
je 0x44f99d
push edi
call fcn.00455d10
add esp, 4
sub edi, 0x40
mov dword [ebp - 0x180], edi
jmp 0x451afe
mov eax, dword [ebp - 0x174]
xor edx, edx
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
cmp dword [esi], edx
je 0x44fa1e
test byte [edi + 0x18], 0x12
jne 0x44f9e6
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00455f80
add esp, 8
test eax, eax
jne 0x451df8
lea eax, [ebp - 0x250]
push eax
mov eax, dword [edi + 0x14]
cdq
push edx
push eax
push dword [edi + 0x10]
push dword [esi]
call fcn.004279d0
add esp, 0x14
test eax, eax
jne 0x44fa11
cmp dword [ebp - 0x250], eax
jne 0x44fa11
lea edx, [eax + 1]
jmp 0x44fa13
xor edx, edx
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
mov ecx, dword [ebp - 0x17c]
mov esi, dword [ebp - 0x174]
mov al, byte [esi + ecx*4]
cmp al, 0x85
jne 0x44fa37
test edx, edx
je 0x44fa46
jmp 0x44fa3b
test edx, edx
jne 0x44fa46
mov ecx, dword [esi + ecx*4 + 8]
dec ecx
mov dword [ebp - 0x194], ecx
cmp al, 0x6f
je case.0x44d3e0.13
jmp 0x44f98e
mov eax, dword [ebp - 0x174]
push edi
mov esi, dword [eax + esi*4 + 4]
lea eax, [edi - 0x40]
mov dword [ebp - 0x190], eax
call fcn.00455b00
mov eax, dword [edi]
mov ecx, dword [ebp - 0x190]
mov dword [ebp - 0x1a4], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x178]
mov edi, ecx
mov eax, dword [eax + 0x3c]
add esp, 4
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x1b8], eax
mov eax, dword [eax]
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x18c], eax
test eax, eax
je case.0x44d3e0.13
test byte [ecx + 0x18], 0x12
jne 0x44fad7
movzx eax, byte [ebp - 0x1ac]
push eax
push ecx
call fcn.00455f80
add esp, 8
test eax, eax
jne 0x451df8
mov ecx, edi
mov eax, dword [ecx + 0x10]
mov esi, dword [ecx + 0x14]
push eax
mov dword [ebp - 0x190], eax
call fcn.00453f80
sub esi, eax
mov eax, dword [ebp - 0x1b8]
mov dword [eax + 0x68], 0
lea eax, [ebp - 0x1ec]
push eax
mov eax, esi
cdq
push edx
push eax
push dword [ebp - 0x190]
push dword [ebp - 0x18c]
call fcn.004279d0
add esp, 0x18
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x4513aa
cmp dword [ebp - 0x1ec], eax
jge 0x44fb6e
lea eax, [ebp - 0x1ec]
push eax
push dword [ebp - 0x18c]
call fcn.00427c80
add esp, 8
cmp dword [ebp - 0x1ec], 0
mov dword [ebp - 0x170], eax
je 0x44fb6e
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
lea eax, [ebp - 0x1ec]
push eax
push dword [ebp - 0x190]
push esi
push dword [ebp - 0x1b8]
call fcn.00453df0
add esp, 0x10
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x4513aa
cmp dword [ebp - 0x1ec], eax
jle 0x44fbbc
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
lea eax, [ebp - 0x258]
push eax
push dword [ebp - 0x18c]
call fcn.00453ea0
add esp, 8
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x4513aa
mov eax, dword [ebp - 0x258]
cmp eax, dword [ebp - 0x1a4]
jne 0x44fc17
mov ecx, dword [ebp - 0x1dc]
cmp dword [ebp - 0x254], ecx
jne 0x44fc17
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
add edi, 0x40
mov dword [ebp - 0x184], edi
mov dword [edi], eax
mov eax, dword [ebp - 0x254]
mov dword [edi + 4], eax
mov eax, 4
mov dword [ebp - 0x180], edi
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi]
test eax, eax
je 0x44f98e
lea ecx, [ebp - 0x25c]
push ecx
push dword [edi + 4]
push dword [edi]
push 0
push eax
call fcn.004279d0
mov ecx, dword [ebp - 0x25c]
mov dword [ebp - 0x170], eax
mov eax, dword [edi]
mov dword [esi + 8], eax
mov eax, dword [edi + 4]
add esp, 0x14
test ecx, ecx
mov dword [esi + 0xc], eax
sete al
mov byte [esi + 0x19], al
mov byte [esi + 0x1c], 0
mov dword [esi + 0x68], 0
test ecx, ecx
je 0x44f98e
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
mov byte [esi + 0x19], 0
jmp 0x44f98e
mov eax, dword [ebp - 0x174]
add edi, 0x40
mov edx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x184], edi
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x180], edi
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx + 0x58]
mov dword [edi], eax
mov eax, dword [ecx + 0x5c]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + edx*4]
add dword [eax + 0x58], 1
adc dword [eax + 0x5c], 0
mov eax, 4
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
xorps xmm0, xmm0
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
movlpd qword [ebp - 0x1b4], xmm0
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x17c], eax
mov eax, dword [eax]
test eax, eax
je 0x450014
push eax
call fcn.004272f0
and al, 3
add esp, 4
cmp al, 1
jne 0x44f5f9
mov edx, dword [ebp - 0x17c]
cmp byte [edx + 0x1b], 0
jne 0x44fee4
cmp byte [edx + 0x1d], 0
je 0x44fd85
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x1b4], ecx
mov eax, dword [edx + 0x14]
jmp 0x44fe04
lea eax, [ebp - 0x1fc]
push eax
push dword [edx]
call fcn.00427950
add esp, 8
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x4513aa
cmp dword [ebp - 0x1fc], eax
je 0x44fdb1
lea ecx, [eax + 1]
jmp 0x44fdfe
lea eax, [ebp - 0x1b4]
push eax
mov eax, dword [ebp - 0x17c]
push dword [eax]
call fcn.004278f0
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b0]
add esp, 8
cmp ecx, 0xffffffff
jne 0x44fdf8
cmp eax, 0x7fffffff
jne 0x44fdf8
mov eax, dword [ebp - 0x17c]
mov byte [eax + 0x1b], 1
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1b4]
jmp 0x44fe0a
add ecx, 1
adc eax, 0
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x1b0], eax
mov edx, dword [ebp - 0x174]
mov esi, dword [edx + esi*4 + 8]
test esi, esi
je 0x44fe9e
mov eax, dword [ebp - 0x178]
shl esi, 6
add esi, dword [eax + 0x58]
push esi
call fcn.00455b00
mov edx, dword [esi]
mov ecx, dword [esi + 4]
add esp, 4
cmp edx, 0xffffffff
jne 0x44fe47
cmp ecx, 0x7fffffff
je 0x451c2a
mov eax, dword [ebp - 0x17c]
cmp byte [eax + 0x1b], 0
jne 0x451c2a
add edx, 1
adc ecx, 0
cmp dword [ebp - 0x1b0], ecx
jg 0x44fe81
jl 0x44fe71
mov eax, dword [ebp - 0x1b4]
cmp eax, edx
jae 0x44fe87
mov eax, edx
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], ecx
jmp 0x44fe87
mov eax, dword [ebp - 0x1b4]
mov dword [esi], eax
mov eax, dword [ebp - 0x1b0]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1b4]
cmp eax, 0x7fffffff
ja 0x44fed0
jb 0x44feac
cmp ecx, 0xffffffff
jae 0x44fed0
mov edx, dword [ebp - 0x17c]
mov byte [edx + 0x1d], 1
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b0]
add ecx, 1
adc eax, 0
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], eax
jmp 0x44feda
mov edx, dword [ebp - 0x17c]
mov byte [edx + 0x1d], 0
cmp byte [edx + 0x1b], 0
je 0x450005
mov eax, dword [ebp - 0x188]
xor edx, edx
mov ecx, dword [eax + 0x28]
mov esi, dword [eax + 0x2c]
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x1b0], esi
mov dword [ebp - 0x1a0], edx
mov edi, edx
or ecx, esi
je 0x44ff4d
cmp edx, 2
jg 0x44ff4d
lea eax, [ebp - 0x1d5]
push eax
push 1
call fcn.00444ba0
movzx eax, byte [ebp - 0x1d5]
mov ecx, dword [ebp - 0x1b4]
mov esi, dword [ebp - 0x1b0]
inc eax
cdq
add esp, 8
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x1a0]
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x1b0], esi
jmp 0x44ff8b
lea eax, [ebp - 0x1b4]
push eax
push 8
call fcn.00444ba0
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x1b4]
add esp, 8
cmp edx, 5
jge 0x44ff85
and ecx, 0xffffff
xor esi, esi
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x1b0], esi
jmp 0x44ff8b
mov esi, dword [ebp - 0x1b0]
mov eax, ecx
or eax, esi
je 0x44ffc7
lea eax, [ebp - 0x1fc]
push eax
mov eax, dword [ebp - 0x17c]
push esi
push ecx
push 0
push dword [eax]
call fcn.004279d0
mov edx, dword [ebp - 0x1a0]
mov esi, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1b4]
add esp, 0x14
inc edx
mov edi, eax
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x1fc]
cmp edx, 0x3e8
jge 0x44ffe1
test edi, edi
jne 0x44ffe1
test eax, eax
je 0x44ff06
mov edx, dword [ebp - 0x188]
test edi, edi
mov edi, dword [ebp - 0x184]
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], esi
jne 0x44ffff
test eax, eax
je 0x451c2a
mov edx, dword [ebp - 0x17c]
mov byte [edx + 0x19], 0
mov byte [edx + 0x1f], 0
mov dword [edx + 0x68], 0
mov eax, dword [ebp - 0x1b4]
add edi, 0x40
mov dword [ebp - 0x184], edi
mov dword [edi], eax
mov eax, dword [ebp - 0x1b0]
mov dword [edi + 4], eax
mov eax, 4
mov dword [ebp - 0x180], edi
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
cmp dword [esi], 0
jne 0x450067
cmp byte [esi + 0x1e], 0
je 0x45022b
mov ecx, dword [edi - 0x40]
mov eax, dword [ebp - 0x17c]
mov edx, dword [edi - 0x3c]
mov dword [ebp - 0x19c], ecx
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x18c], edx
test byte [ecx + eax*4 + 8], 1
mov ecx, dword [ebp - 0x19c]
je 0x4500a4
mov ecx, dword [ebp - 0x178]
inc dword [ecx + 0x23c]
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x174]
test byte [edx + eax*4 + 8], 2
mov edx, dword [ebp - 0x18c]
je 0x4500cf
mov ecx, dword [ebp - 0x188]
mov eax, dword [edi - 0x40]
mov dword [ecx + 0x20], eax
mov eax, dword [edi - 0x3c]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x19c]
cmp byte [esi + 0x1d], 0
je 0x4500eb
mov eax, dword [edi - 0x3c]
cmp eax, dword [esi + 0x14]
jl 0x4500eb
jg 0x4500e7
mov eax, dword [edi - 0x40]
cmp eax, dword [esi + 0x10]
jb 0x4500eb
mov byte [esi + 0x1d], 0
test byte [edi + 0x18], 1
je 0x4500ff
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp byte [esi + 0x1e], 0
je 0x450199
push dword [esi + 0x38]
call fcn.0044c220
mov eax, dword [ebp - 0x19c]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x18c]
mov dword [esi + 0x44], eax
mov eax, dword [edi + 0x14]
add esp, 4
mov dword [esi + 0x34], eax
test byte [edi + 0x18], 0x40
je 0x450150
mov eax, dword [edi + 0x10]
mov dword [esi + 0x38], eax
mov eax, 1
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x170]
mov byte [esi + 0x1c], 0
jmp 0x4501b3
add eax, 2
push 1
push eax
call fcn.0044c620
add esp, 8
mov dword [esi + 0x38], eax
test eax, eax
je 0x451df8
push dword [esi + 0x34]
push dword [edi + 0x10]
push eax
call fcn.004e5510
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x38]
add esp, 0xc
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x34]
mov byte [ecx + eax + 1], 0
mov eax, dword [ebp - 0x170]
mov byte [esi + 0x1c], 0
jmp 0x4501b3
push dword [edi + 0x14]
push dword [edi + 0x10]
push edx
push ecx
push 0
push dword [esi]
call fcn.00427410
add esp, 0x18
mov dword [ebp - 0x170], eax
mov byte [esi + 0x19], 0
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
test eax, eax
jne 0x45022b
mov eax, dword [ebp - 0x188]
mov edx, dword [eax + 0x7c]
test edx, edx
je 0x45022b
mov edi, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + edi*4 + 0xc]
test eax, eax
je 0x45022b
push dword [ebp - 0x18c]
push dword [ebp - 0x19c]
push eax
mov eax, dword [esi + 4]
mov esi, dword [ebp - 0x188]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 4]
push dword [eax + ecx*8]
mov eax, dword [ebp - 0x174]
mov ecx, 0x17
test byte [eax + edi*4 + 8], 4
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [esi + 0x78]
call edx
add esp, 0x18
push 2
jmp 0x451ae9
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi]
test eax, eax
je 0x450329
mov ecx, dword [ebp - 0x188]
cmp dword [ecx + 0x7c], 0
je 0x4502a9
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
cmp dword [edx + ecx*4 + 0xc], 0
je 0x4502a9
cmp byte [esi + 0x19], 0
je 0x45028b
mov eax, dword [esi + 8]
mov dword [ebp - 0x234], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x230], eax
jmp 0x4502a9
lea ecx, [ebp - 0x234]
push ecx
push eax
call fcn.004278f0
add esp, 8
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x4513aa
push esi
call fcn.004538e0
add esp, 4
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x4513aa
push dword [esi]
call fcn.00426e50
add esp, 4
mov dword [ebp - 0x170], eax
mov byte [esi + 0x1d], 0
mov dword [esi + 0x68], 0
test eax, eax
jne 0x450329
mov eax, dword [ebp - 0x188]
mov edx, dword [eax + 0x7c]
test edx, edx
je 0x450329
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 0xc]
test eax, eax
je 0x450329
push dword [ebp - 0x230]
push dword [ebp - 0x234]
push eax
mov eax, dword [esi + 4]
mov esi, dword [ebp - 0x188]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 4]
push dword [eax + ecx*8]
push 9
push dword [esi + 0x78]
call edx
add esp, 0x18
mov eax, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
test byte [edx + eax*4 + 8], 1
je case.0x44d3e0.13
mov eax, dword [ebp - 0x178]
inc dword [eax + 0x23c]
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
cmp dword [eax + esi*4 + 4], 0
je 0x450378
mov eax, dword [ebp - 0x178]
push dword [eax + 0x23c]
push dword [ebp - 0x188]
call fcn.00454bc0
add esp, 8
mov eax, dword [ebp - 0x178]
mov dword [eax + 0x23c], 0
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
add edi, 0x40
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x184], edi
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x180], edi
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x1c], 0
jne 0x4504d4
mov eax, dword [esi]
mov dword [ebp - 0x1a0], eax
test eax, eax
je 0x4504b0
push esi
call fcn.004538e0
add esp, 4
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x4513aa
cmp byte [esi + 0x1c], al
je 0x4503f6
mov ecx, 1
mov word [edi + 0x18], cx
jmp 0x451b0a
cmp byte [esi + 0x21], 0
je 0x45041c
lea eax, [ebp - 0x29c]
push eax
push dword [ebp - 0x1a0]
call fcn.004278f0
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x1e4], eax
jmp 0x450434
lea eax, [ebp - 0x1e4]
push eax
push dword [ebp - 0x1a0]
call fcn.00426df0
mov eax, dword [ebp - 0x1e4]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x1e4]
add esp, 8
cmp eax, 0x20
ja 0x450453
mov eax, 0x210
mov word [edi + 0x18], ax
lea eax, [edi + 0x20]
jmp 0x450476
push 1
push eax
call fcn.0044c620
add esp, 8
test eax, eax
je 0x451df8
mov ecx, 0x50
mov word [edi + 0x18], cx
mov dword [edi + 0x1c], 0
push eax
mov dword [edi + 0x10], eax
cmp byte [esi + 0x21], 0
push dword [ebp - 0x1e4]
push 0
push dword [ebp - 0x1a0]
je 0x45049f
call fcn.00427880
add esp, 0x10
mov byte [edi + 0x1b], 1
jmp case.0x44d3e0.13
call fcn.00426d90
add esp, 0x10
mov byte [edi + 0x1b], 1
jmp case.0x44d3e0.13
cmp byte [esi + 0x1e], 0
je 0x4504d4
mov eax, dword [esi + 0x34]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x38]
mov dword [edi + 0x10], eax
mov eax, pe_nt_image_headers32
mov word [edi + 0x18], ax
mov byte [edi + 0x1b], 1
jmp case.0x44d3e0.13
mov eax, 1
mov word [edi + 0x18], ax
mov byte [edi + 0x1b], al
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
push esi
call fcn.004538e0
add esp, 4
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x4513aa
add edi, 0x40
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
cmp byte [esi + 0x19], al
je 0x450551
mov ecx, dword [esi + 8]
mov dword [ebp - 0x210], ecx
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x20c], eax
mov dword [edi], ecx
mov eax, dword [ebp - 0x20c]
mov dword [edi + 4], eax
mov eax, 4
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
cmp byte [esi + 0x1e], 0
je 0x450582
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0x210], ecx
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x20c], eax
mov dword [edi], ecx
mov eax, dword [ebp - 0x20c]
mov dword [edi + 4], eax
mov eax, 4
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
cmp byte [esi + 0x1c], 0
jne 0x4505c3
mov eax, dword [esi]
test eax, eax
je 0x4505bd
lea ecx, [ebp - 0x210]
push ecx
push eax
call fcn.004278f0
mov ecx, dword [ebp - 0x210]
mov dword [edi], ecx
mov eax, dword [ebp - 0x20c]
mov dword [edi + 4], eax
mov eax, 4
add esp, 8
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x170]
mov ecx, 1
mov word [edi + 0x18], cx
jmp 0x451b0a
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi]
test eax, eax
je 0x450666
lea ecx, [ebp - 0x24c]
push ecx
push eax
call fcn.00427950
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x24c]
add esp, 8
mov byte [esi + 0x1c], al
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
test eax, eax
je case.0x44d3e0.13
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 8]
test eax, eax
jle case.0x44d3e0.13
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
mov byte [esi + 0x1c], 0
jmp case.0x44d3e0.13
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
mov ecx, dword [edx + esi*4 + 4]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi]
test eax, eax
je 0x4506c7
lea ecx, [ebp - 0x1f4]
push ecx
push eax
call fcn.004272b0
mov edx, dword [ebp - 0x174]
add esp, 8
cmp dword [ebp - 0x1f4], 0
mov dword [ebp - 0x170], eax
sete al
mov byte [esi + 0x1a], al
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
mov eax, dword [ebp - 0x1f4]
jmp 0x4506d2
mov eax, 1
mov dword [ebp - 0x1f4], eax
mov byte [esi + 0x1c], al
cmp dword [ebp - 0x1f4], 0
je case.0x44d3e0.13
mov eax, dword [ebp - 0x17c]
mov eax, dword [edx + eax*4 + 8]
test eax, eax
jle case.0x44d3e0.13
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x98], 0
jne 0x451d9e
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi]
test eax, eax
je 0x4507a2
cmp byte [esi + 0x1c], 0
je 0x45074c
mov dword [ebp - 0x200], 1
mov byte [esi + 0x19], 0
jmp case.0x44d3e0.13
lea ecx, [ebp - 0x200]
push ecx
push eax
cmp dl, 0x6d
jne 0x450760
call fcn.00427c80
jmp 0x450765
call fcn.00428080
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x200]
add esp, 8
mov byte [esi + 0x1c], al
mov dword [esi + 0x68], 0
test eax, eax
jne 0x4507a6
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
mov byte [esi + 0x19], 0
jmp case.0x44d3e0.13
mov byte [esi + 0x1c], 1
mov byte [esi + 0x19], 0
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
test ecx, ecx
je 0x44f98e
mov eax, dword [edi + 0x14]
push 0
push 0x518f58
cdq
push edx
push eax
push dword [edi + 0x10]
push ecx
call fcn.00427410
add esp, 0x18
mov dword [ebp - 0x170], eax
mov dword [esi + 0x68], 0
jmp 0x44f98e
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1a4], eax
mov esi, dword [eax]
test esi, esi
je 0x44f98e
lea eax, [ebp - 0x238]
push eax
mov eax, dword [edi + 0x14]
cdq
push edx
push eax
push dword [edi + 0x10]
push esi
call fcn.004279d0
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0x170], ecx
test ecx, ecx
jne 0x45085c
cmp dword [ebp - 0x238], eax
jne 0x45085c
push esi
call fcn.00426e50
add esp, 4
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x1a4]
mov dword [eax + 0x68], 0
jmp 0x44f98e
mov eax, dword [ebp - 0x174]
add edi, 0x40
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov esi, 1
mov word [edi + 0x18], si
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x184], edi
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x180], edi
mov ecx, dword [eax]
test ecx, ecx
je case.0x44d3e0.13
cmp byte [eax + 0x1c], 0
je 0x4508b5
mov word [edi + 0x18], si
jmp case.0x44d3e0.13
lea eax, [ebp - 0x274]
push eax
push ecx
call fcn.00453ea0
add esp, 8
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x4513aa
mov eax, 4
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x274]
mov dword [edi], eax
mov eax, dword [ebp - 0x270]
mov dword [edi + 4], eax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
cmp dword [esi], 0
je 0x44f98e
test byte [edi + 0x18], 0x12
jne 0x450930
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00455f80
add esp, 8
test eax, eax
jne 0x451df8
mov ecx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x17c]
cmp dword [ecx + eax*4 + 0xc], 0
mov eax, dword [esi + 0x48]
setne cl
mov byte [eax], cl
lea eax, [ebp - 0x1e8]
push eax
push dword [edi + 0x10]
push dword [edi + 0x14]
push esi
call fcn.00453df0
mov dword [ebp - 0x170], eax
mov eax, dword [esi + 0x48]
add esp, 0x10
mov byte [eax], 0
mov eax, dword [ebp - 0x170]
test eax, eax
jne 0x451b0a
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
mov al, byte [edx + ecx*4]
cmp al, 0x26
jne 0x450996
mov eax, dword [ebp - 0x1e8]
neg eax
jmp 0x4509a1
cmp al, 0x3f
mov eax, dword [ebp - 0x1e8]
jne 0x4509a7
inc eax
mov dword [ebp - 0x1e8], eax
test eax, eax
jle 0x44f98e
mov eax, dword [edx + ecx*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp 0x44f98e
mov edx, dword [ebp - 0x188]
xor ecx, ecx
mov eax, dword [edx + 0x50]
test eax, eax
je 0x450a05
mov edi, edi
cmp dword [eax + 0x50], 0xbdf20da3
jne 0x4509e9
cmp byte [eax + 0x23a], 2
jae 0x4509e9
cmp dword [eax + 0x7c], 0
jl 0x4509e9
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x4509d0
cmp ecx, 1
jle 0x450a05
mov eax, 6
mov dword [ebp - 0x170], eax
jmp 0x451b0a
lea eax, [ebp - 0x220]
push eax
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 4]
mov eax, dword [eax + esi*4 + 8]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 4]
push dword [eax + ecx*8 + 4]
call fcn.004270a0
add edi, 0x40
mov dword [ebp - 0x170], eax
mov eax, 4
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x220]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x170]
add esp, 0xc
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
mov dword [edi + 4], edx
test eax, eax
jne 0x451b0a
mov eax, dword [ebp - 0x220]
test eax, eax
je case.0x44d3e0.13
mov ecx, dword [ebp - 0x174]
push dword [ecx + esi*4 + 4]
push eax
mov eax, dword [ecx + esi*4 + 8]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 4]
lea eax, [eax + ecx*8]
push eax
call fcn.0042b580
add esp, 0xc
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 4]
mov eax, dword [eax + esi*4 + 8]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 4]
push dword [eax + ecx*8 + 4]
call fcn.00426700
add esp, 8
mov dword [ebp - 0x170], eax
jmp 0x451b0a
mov eax, dword [ebp - 0x174]
cmp byte [ebp - 0x1c1], 0x33
mov eax, dword [eax + esi*4 + 4]
mov esi, 5
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 4]
mov eax, 2
cmove eax, esi
push eax
lea eax, [ebp - 0x244]
push eax
push dword [ecx + edx*8 + 4]
call fcn.00426a50
add edi, 0x40
add esp, 0xc
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
test eax, eax
jne 0x4503e8
mov eax, dword [ebp - 0x244]
cdq
mov dword [edi], eax
mov eax, 4
mov dword [edi + 4], edx
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
cmp dword [eax + esi*4 + 8], 0
mov edx, dword [eax + esi*4 + 4]
jne 0x450b6f
mov eax, dword [ebp - 0x188]
lea ecx, [edx + edx*2]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8 + 0x14]
test byte [eax + 0x7a], 1
je case.0x44d3e0.13
cmp edx, 1
mov eax, str.sqlite_master
mov ecx, str.sqlite_temp_master
cmovne ecx, eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x178]
add eax, 0x230
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x290], edx
push dword [eax + esi*4 + 0xc]
mov eax, dword [ebp - 0x188]
push ecx
mov eax, dword [eax + 4]
lea ecx, [edx + edx*2]
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
call fcn.004438e0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x451df8
push dword [ebp - 0x188]
call fcn.0044c840
mov eax, dword [ebp - 0x188]
push 0
lea ecx, [ebp - 0x294]
push ecx
push fcn.00442d20
push esi
push eax
mov byte [eax + 0x44], 1
call fcn.00439fe0
cmp eax, 4
cmove eax, dword [ebp - 0x288]
push esi
mov dword [ebp - 0x170], eax
call fcn.0044c220
mov eax, dword [ebp - 0x188]
push eax
mov byte [eax + 0x44], 0
call fcn.0044c880
mov eax, dword [ebp - 0x170]
add esp, 0x20
cmp eax, 7
jne 0x451b0a
call fcn.0044c0d0
jmp 0x451df8
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 4]
push dword [ebp - 0x188]
call fcn.004217f0
add esp, 8
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 0xc]
push dword [eax + esi*4 + 4]
push dword [ebp - 0x188]
call fcn.0042bd80
add esp, 0xc
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 0xc]
push dword [eax + esi*4 + 4]
push dword [ebp - 0x188]
call fcn.0042bce0
add esp, 0xc
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 0xc]
push dword [eax + esi*4 + 4]
push dword [ebp - 0x188]
call fcn.0044a400
add esp, 0xc
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x178]
xor esi, esi
mov edx, dword [eax + 0x28]
cmp edi, edx
jb 0x450ce4
mov ecx, edi
test byte [ecx + 0x18], 4
je 0x450ce4
inc esi
mov eax, esi
shl eax, 6
mov ecx, edi
sub ecx, eax
cmp ecx, edx
jae 0x450cd0
lea eax, [esi*4 + 4]
push 1
push eax
call fcn.0044c620
mov edx, eax
add esp, 8
mov dword [ebp - 0x190], edx
test edx, edx
je 0x451df8
mov ecx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x17c]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, dword [ebp - 0x178]
shl eax, 6
add eax, dword [ecx + 0x58]
xor ecx, ecx
mov dword [ebp - 0x18c], eax
test esi, esi
jle 0x450d3d
mov edi, edi
mov eax, dword [edi]
mov dword [edx + ecx*4], eax
inc ecx
lea edi, [edi - 0x40]
cmp ecx, esi
jl 0x450d30
lea eax, [ebp - 0x180]
push esi
push eax
mov dword [edx + ecx*4], 0
call fcn.0044d1d0
mov ecx, dword [ebp - 0x174]
mov edi, dword [ebp - 0x180]
lea eax, [ebp - 0x22c]
push eax
mov eax, dword [ebp - 0x18c]
add edi, 0x40
push dword [eax]
mov eax, dword [ebp - 0x17c]
push esi
mov eax, dword [ecx + eax*4 + 8]
mov esi, dword [ebp - 0x190]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x188]
push esi
mov eax, dword [eax + 4]
mov dword [ebp - 0x184], edi
push dword [eax + ecx*8 + 4]
mov dword [ebp - 0x180], edi
call fcn.004275c0
mov esi, dword [ebp - 0x18c]
mov ecx, eax
mov eax, dword [ebp - 0x22c]
cdq
add esp, 0x1c
sub dword [esi], eax
mov eax, esi
mov esi, dword [ebp - 0x190]
sbb dword [eax + 4], edx
cmp dword [ebp - 0x22c], 0
jne 0x450dd5
mov eax, 1
mov word [edi + 0x18], ax
jmp 0x450dfc
mov dword [edi + 0x10], ecx
lea edx, [ecx + 1]
jmp 0x450de0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450de0
sub ecx, edx
mov dword [edi + 0x14], ecx
mov eax, 0x62
mov word [edi + 0x18], ax
mov dword [edi + 0x1c], 0
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
mov byte [edi + 0x1b], 1
call fcn.004557d0
push esi
call fcn.0044c220
add esp, 0xc
jmp case.0x44d3e0.13
push edi
call fcn.00455b00
push dword [edi + 4]
mov eax, dword [ebp - 0x178]
push dword [edi]
add eax, 0x64
push eax
call fcn.00455260
add esp, 0x10
sub edi, 0x40
mov dword [ebp - 0x180], edi
jmp 0x451afe
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x98], 0
jne 0x451d9e
lea eax, [ebp - 0x264]
push eax
mov eax, dword [ebp - 0x178]
add eax, 0x64
push eax
call fcn.00455200
add esp, 8
cmp eax, 0x65
jne 0x450e8e
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x264]
add edi, 0x40
mov dword [ebp - 0x184], edi
mov dword [edi], eax
mov eax, dword [ebp - 0x260]
mov dword [edi + 4], eax
mov eax, 4
mov dword [ebp - 0x180], edi
mov word [edi + 0x18], ax
jmp case.0x44d3e0.13
mov edx, dword [ebp - 0x178]
mov eax, dword [edx + 0x70]
mov dword [ebp - 0x1a4], eax
lea ecx, [eax + 1]
mov dword [edx + 0x70], ecx
cmp eax, dword [edx + 0x74]
jl 0x450f04
lea eax, [eax + eax*2]
add eax, 3
shl eax, 3
lea esi, [edx + 0x78]
push eax
push esi
mov dword [edx + 0x74], ecx
call fcn.0044c7d0
add esp, 8
cmp dword [esi], 0
je 0x451df8
mov eax, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x178]
mov edx, dword [edx + 0x78]
mov ecx, dword [ebp - 0x188]
lea esi, [eax + eax*2]
mov eax, dword [ecx + 0x20]
mov dword [edx + esi*8], eax
mov eax, dword [ecx + 0x24]
mov ecx, dword [ebp - 0x178]
mov dword [edx + esi*8 + 4], eax
mov eax, dword [ecx + 0x23c]
add ecx, 0x64
mov dword [edx + esi*8 + 8], eax
movq xmm0, qword [ecx]
movq qword [edx + esi*8 + 0xc], xmm0
mov eax, dword [ecx + 8]
push ecx
mov dword [edx + esi*8 + 0x14], eax
call fcn.004551e0
add esp, 4
jmp case.0x44d3e0.13
mov edx, dword [ebp - 0x178]
mov esi, dword [ebp - 0x188]
dec dword [edx + 0x70]
mov eax, dword [edx + 0x70]
mov edi, dword [edx + 0x78]
lea ecx, [eax + eax*2]
mov dword [ebp - 0x1a4], ecx
mov eax, dword [edi + ecx*8]
mov dword [esi + 0x20], eax
mov eax, dword [edi + ecx*8 + 4]
mov dword [esi + 0x24], eax
mov eax, dword [edi + ecx*8 + 8]
lea esi, [edx + 0x64]
push esi
mov dword [edx + 0x23c], eax
call fcn.004551b0
mov eax, dword [ebp - 0x1a4]
add esp, 4
movq xmm0, qword [edi + eax*8 + 0xc]
movq qword [esi], xmm0
mov eax, dword [edi + eax*8 + 0x14]
mov edi, dword [ebp - 0x184]
mov dword [esi + 8], eax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x178]
mov eax, dword [eax + esi*4 + 4]
shl eax, 6
add eax, dword [ecx + 0x58]
push edi
push eax
call fcn.00455bb0
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x174]
sub edi, 0x40
add esp, 8
cmp dword [eax + esi*4 + 8], 0
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
jne case.0x44d3e0.13
jmp 0x451000
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi*4 + 4]
mov ecx, dword [ebp - 0x178]
shl eax, 6
add eax, dword [ecx + 0x58]
push 0x100
add edi, 0x40
push eax
push edi
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
call fcn.00455f30
add esp, 0xc
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov esi, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
shl esi, 6
add esi, dword [eax + 0x58]
push esi
call fcn.00455b00
push edi
call fcn.00455b00
mov ecx, dword [edi + 4]
mov eax, dword [edi]
add esp, 8
cmp dword [esi + 4], ecx
jg case.0x44d3e0.13
jl 0x451070
cmp dword [esi], eax
jae case.0x44d3e0.13
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov edx, dword [ebp - 0x178]
mov ecx, dword [eax + esi*4 + 8]
mov eax, dword [eax + esi*4 + 4]
shl ecx, 6
add ecx, dword [edx + 0x58]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x44d3e0.13
mov edx, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x178]
mov eax, dword [edx + esi*4 + 4]
mov ecx, dword [ecx + 0x58]
shl eax, 6
cmp dword [eax + ecx + 4], 0
jl case.0x44d3e0.13
jg 0x4510cc
cmp dword [eax + ecx], 0
jbe case.0x44d3e0.13
mov eax, dword [edx + esi*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
mov edx, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x178]
mov eax, dword [edx + esi*4 + 4]
mov ecx, dword [ecx + 0x58]
shl eax, 6
cmp dword [eax + ecx + 4], 0
jg case.0x44d3e0.13
jl 0x4510cc
cmp dword [eax + ecx], 0
jae case.0x44d3e0.13
mov eax, dword [edx + esi*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov edx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 0x178]
shl edx, 6
mov ecx, dword [eax + 0x58]
mov eax, dword [edx + ecx]
or eax, dword [edx + ecx + 4]
jne case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x178]
mov eax, dword [eax + esi*4 + 4]
shl eax, 6
add eax, dword [ecx + 0x58]
push eax
call fcn.00455df0
add esp, 4
jmp case.0x44d3e0.13
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + esi*4 + 4]
cdq
push edx
push eax
mov eax, dword [ecx + esi*4 + 8]
mov ecx, dword [ebp - 0x178]
shl eax, 6
add eax, dword [ecx + 0x58]
push eax
call fcn.00455dc0
add esp, 0xc
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
mov ecx, dword [eax + 0x58]
mov eax, dword [edx + esi*4 + 8]
shl eax, 6
add eax, ecx
push eax
mov eax, dword [edx + esi*4 + 4]
shl eax, 6
add eax, ecx
push eax
call fcn.00455bb0
add esp, 8
mov dword [ebp - 0x170], eax
jmp 0x451b0a
mov eax, dword [ebp - 0x174]
xor edx, edx
mov esi, dword [eax + esi*4 + 8]
mov eax, esi
shl eax, 6
sub edi, eax
mov eax, dword [ebp - 0x178]
add edi, 0x40
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x190], ecx
test esi, esi
jle 0x45121a
push edi
mov dword [ecx + edx*4], edi
call fcn.0044d050
mov ecx, dword [ebp - 0x190]
inc edx
add esp, 4
add edi, 0x40
cmp edx, esi
jl 0x451200
mov edx, dword [ebp - 0x174]
mov edi, dword [ebp - 0x17c]
mov eax, dword [edx + edi*4 + 0xc]
mov dword [ebp - 0x12c], eax
mov eax, dword [edx + edi*4 + 4]
mov edx, dword [ebp - 0x178]
shl eax, 6
add eax, dword [edx + 0x58]
mov dword [ebp - 0xe4], eax
inc dword [eax + 0x14]
mov edx, dword [ebp - 0x12c]
mov eax, 1
mov word [ebp - 0x10c], ax
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x108], 0
mov byte [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
cmp byte [edx + 3], 0
je 0x451296
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + edi*4 - 8]
mov dword [ebp - 0xdc], eax
push ecx
lea eax, [ebp - 0x12c]
push esi
push eax
mov eax, dword [edx + 0x14]
call eax
lea eax, [ebp - 0x180]
push esi
push eax
call fcn.0044d1d0
add esp, 0x14
cmp byte [ebp - 0xe0], 0
je 0x4512ed
lea eax, [ebp - 0x124]
push 0
push eax
call fcn.00452e80
add esp, 4
push eax
mov eax, dword [ebp - 0x178]
add eax, 0x230
push eax
call fcn.0044c8c0
add esp, 0xc
mov dword [ebp - 0x170], 1
lea eax, [ebp - 0x124]
push eax
call fcn.00455d10
add esp, 4
jmp 0x451af8
mov ecx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
mov esi, dword [ecx + esi*4 + 4]
shl esi, 6
add esi, dword [eax + 0x58]
mov eax, dword [ebp - 0x17c]
push dword [ecx + eax*4 + 0xc]
push esi
call fcn.00455980
add esp, 8
mov dword [ebp - 0x170], eax
cmp eax, 1
jne 0x451b0a
push 0
push esi
call fcn.00452e80
add esp, 4
push eax
mov eax, dword [ebp - 0x178]
add eax, 0x230
push eax
call fcn.0044c8c0
add esp, 0xc
jmp case.0x44d3e0.13
mov esi, dword [ebp - 0x188]
push esi
call fcn.0044c840
add esp, 4
test eax, eax
jne 0x45139a
mov eax, dword [ebp - 0x178]
add eax, 0x230
push esi
push eax
call fcn.0044cd00
push esi
mov dword [ebp - 0x170], eax
call fcn.0044c880
add esp, 0xc
test eax, eax
je case.0x44d3e0.13
mov dword [ebp - 0x170], 0x15
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x178]
cmp dword [ecx + 0x230], 0
lea esi, [ecx + 0x230]
jne 0x451de9
call fcn.0044c600
mov ecx, dword [ebp - 0x170]
mov edx, 7
test eax, eax
cmovne ecx, edx
push 0
push ecx
mov dword [ebp - 0x170], ecx
call fcn.0043aa00
add esp, 4
push eax
push esi
call fcn.0044c8c0
mov ecx, dword [ebp - 0x178]
jmp 0x451de0
mov eax, dword [ebp - 0x174]
cmp dword [eax + esi*4 + 4], 0
jne 0x45141b
push dword [ebp - 0x188]
call fcn.00453540
add esp, 4
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x178]
mov byte [eax + 0x238], 1
jmp case.0x44d3e0.13
mov edx, dword [ebp - 0x174]
mov ecx, dword [edx + esi*4 + 4]
test ecx, ecx
sets al
mov byte [ebp - 0x208], al
test al, al
je 0x45144d
or eax, 0xffffffff
sub eax, ecx
mov ecx, eax
push dword [ebp - 0x208]
mov eax, dword [ebp - 0x188]
push dword [edx + esi*4 + 8]
mov eax, dword [eax + 4]
lea ecx, [ecx + ecx*2]
push dword [eax + ecx*8 + 4]
call fcn.00427990
add esp, 0xc
mov dword [ebp - 0x170], eax
cmp eax, 6
jne 0x451b0a
mov eax, dword [ebp - 0x174]
push 0
push dword [eax + esi*4 + 0xc]
mov eax, dword [ebp - 0x178]
add eax, 0x230
push str.database_table_is_locked:
push eax
call fcn.0044c8c0
add esp, 0x10
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 0xc]
push dword [ebp - 0x188]
call fcn.004562d0
add esp, 8
mov dword [ebp - 0x170], eax
jmp 0x451b0a
mov eax, dword [ebp - 0x178]
add eax, 0x230
push eax
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 0xc]
push dword [eax + esi*4 + 4]
push dword [ebp - 0x188]
call fcn.004564c0
add esp, 0x10
mov dword [ebp - 0x170], eax
jmp 0x451b0a
mov eax, dword [ebp - 0x178]
mov byte [eax + 0x23a], 2
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 0xc]
push dword [eax + esi*4 + 4]
push dword [ebp - 0x188]
call fcn.00456540
mov ecx, dword [ebp - 0x178]
add esp, 0xc
mov dword [ebp - 0x170], eax
mov byte [ecx + 0x23a], 0
jmp 0x451b0a
mov eax, dword [ebp - 0x174]
push dword [ebp - 0x188]
mov esi, dword [eax + esi*4 + 0xc]
mov dword [ebp - 0x1f0], 0
mov eax, dword [esi]
mov dword [ebp - 0x190], eax
call fcn.0044c840
add esp, 4
test eax, eax
jne 0x45139a
lea eax, [ebp - 0x1f0]
push eax
mov eax, dword [ebp - 0x190]
push esi
mov eax, dword [eax + 0x18]
call eax
push dword [ebp - 0x188]
mov dword [ebp - 0x170], eax
call fcn.0044c880
add esp, 0xc
test eax, eax
jne 0x45139a
mov eax, dword [ebp - 0x170]
test eax, eax
jne 0x451b0a
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x174]
mov dword [eax], esi
mov eax, dword [ebp - 0x17c]
push 0xffffffffffffffff
push dword [ecx + eax*4 + 4]
push dword [ebp - 0x178]
call fcn.0044d090
add esp, 0xc
test eax, eax
je 0x4515f5
mov ecx, dword [ebp - 0x1f0]
mov dword [eax + 0x60], ecx
mov ecx, dword [ebp - 0x1f0]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax + 0x64], ecx
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x190]
push dword [ebp - 0x1f0]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov edx, dword [ebp - 0x178]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [edx + 0x3c]
xor esi, esi
mov eax, dword [eax + ecx*4]
mov ecx, dword [edx + 0x30]
mov dword [ebp - 0x18c], eax
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x19c], 0
mov eax, dword [eax]
mov dword [ebp - 0x190], ecx
mov eax, dword [eax]
mov dword [ebp - 0x1a0], eax
mov eax, dword [edi - 0x40]
mov dword [ebp - 0x1b8], eax
test eax, eax
jle 0x451687
inc eax
mov edx, edi
mov edi, dword [ebp - 0x1b8]
shl eax, 6
sub edx, eax
push edx
mov dword [ecx + esi*4], edx
call fcn.0044d050
mov ecx, dword [ebp - 0x190]
inc esi
add esp, 4
add edx, 0x40
cmp esi, edi
jl 0x451667
mov edi, dword [ebp - 0x184]
push dword [ebp - 0x188]
call fcn.0044c840
add esp, 4
test eax, eax
jne 0x45139a
mov eax, dword [ebp - 0x178]
push dword [ebp - 0x190]
mov esi, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x174]
mov byte [eax + 0x23a], 1
mov eax, dword [ebp - 0x17c]
push esi
push dword [ecx + eax*4 + 0xc]
mov eax, dword [ebp - 0x18c]
push dword [edi]
push dword [eax + 0x60]
mov eax, dword [ebp - 0x1a0]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [ebp - 0x178]
add esp, 0x14
mov dword [ebp - 0x170], eax
mov byte [ecx + 0x23a], 0
test eax, eax
jne 0x451714
mov eax, dword [ebp - 0x18c]
push dword [eax + 0x60]
mov eax, dword [ebp - 0x1a0]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0x19c], eax
push dword [ebp - 0x188]
call fcn.0044c880
add esp, 4
test eax, eax
jne 0x45139a
cmp dword [ebp - 0x19c], eax
je 0x451749
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
lea eax, [esi + 2]
push eax
jmp 0x451ae9
mov eax, dword [ebp - 0x174]
mov edx, dword [ebp - 0x178]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [edx + 0x3c]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x1a4], eax
cmp dword [eax + 0x30], 0
jne 0x45178d
push 0
push str.Unsupported_module_operation:_xRowid
lea eax, [edx + 0x230]
jmp 0x44f1bb
push dword [ebp - 0x188]
call fcn.0044c840
add esp, 4
test eax, eax
jne 0x45139a
lea eax, [ebp - 0x27c]
push eax
mov eax, dword [ebp - 0x1a4]
push dword [esi + 0x60]
mov eax, dword [eax + 0x30]
call eax
push dword [ebp - 0x188]
mov dword [ebp - 0x170], eax
call fcn.0044c880
add esp, 0xc
test eax, eax
jne 0x45139a
add edi, 0x40
mov eax, 4
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x27c]
mov dword [edi], eax
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x180], edi
mov dword [edi + 4], eax
jmp 0x451afe
mov eax, dword [ebp - 0x174]
mov edx, dword [ebp - 0x178]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [edx + 0x3c]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x1a4], eax
cmp dword [eax + 0x2c], 0
jne 0x451837
push 0
push str.Unsupported_module_operation:_xColumn
lea eax, [edx + 0x230]
jmp 0x44f1bb
push 0x58
lea eax, [ebp - 0x7c]
push 0
push eax
call fcn.004e6690
push dword [ebp - 0x188]
mov eax, 1
mov word [ebp - 0x5c], ax
call fcn.0044c840
add esp, 0x10
test eax, eax
jne 0x45139a
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
push dword [ecx + eax*4 + 8]
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0x1a4]
push dword [esi + 0x60]
mov eax, dword [eax + 0x2c]
call eax
mov dword [ebp - 0x170], eax
movzx eax, byte [ebp - 0x1ac]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.004557d0
add edi, 0x40
xor eax, eax
mov word [edi + 0x18], ax
lea eax, [ebp - 0x74]
push eax
push edi
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
call fcn.00455bb0
push dword [ebp - 0x188]
call fcn.0044c880
add esp, 0x20
test eax, eax
jne 0x45139a
jmp case.0x44d3e0.13
mov eax, dword [ebp - 0x174]
mov edx, dword [ebp - 0x178]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x1a4], 0
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x190], eax
cmp dword [eax + 0x24], 0
jne 0x45191b
push 0
push str.Unsupported_module_operation:_xNext
lea eax, [edx + 0x230]
jmp 0x44f1bb
push dword [ebp - 0x188]
call fcn.0044c840
add esp, 4
test eax, eax
jne 0x45139a
mov eax, dword [ebp - 0x178]
mov byte [eax + 0x23a], 1
mov eax, dword [ebp - 0x190]
push dword [esi + 0x60]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [ebp - 0x178]
add esp, 4
mov dword [ebp - 0x170], eax
mov byte [ecx + 0x23a], 0
test eax, eax
jne 0x45197b
mov eax, dword [ebp - 0x190]
push dword [esi + 0x60]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov esi, eax
jmp 0x451981
mov esi, dword [ebp - 0x1a4]
push dword [ebp - 0x188]
call fcn.0044c880
add esp, 4
test eax, eax
jne 0x45139a
test esi, esi
jne case.0x44d3e0.13
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44d3e0.13
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + esi*4 + 0xc]
mov ecx, dword [ecx + esi*4 + 8]
mov dword [ebp - 0x1a4], eax
mov eax, dword [eax]
mov dword [ebp - 0x1dc], eax
cmp dword [eax + 0x34], 0
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x18c], ecx
jne 0x451a0d
push 0
add eax, 0x230
push str.read_only_table
push eax
call fcn.0044c8c0
add esp, 0xc
mov dword [ebp - 0x170], 1
jmp 0x451ae3
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x190], eax
mov eax, ecx
shl eax, 6
mov edx, edi
sub edx, eax
add edx, 0x40
xor esi, esi
test ecx, ecx
jle 0x451a51
mov edi, dword [ebp - 0x18c]
mov edi, edi
push edx
call fcn.0044d050
mov eax, dword [ebp - 0x190]
inc esi
mov dword [eax + esi*4 - 4], edx
add esp, 4
add edx, 0x40
cmp esi, edi
jl 0x451a30
mov edi, dword [ebp - 0x184]
push dword [ebp - 0x188]
call fcn.0044c840
add esp, 4
test eax, eax
jne 0x45139a
mov esi, dword [ebp - 0x1a4]
push esi
call fcn.004567d0
lea eax, [ebp - 0x284]
push eax
push dword [ebp - 0x190]
mov eax, dword [ebp - 0x1dc]
push dword [ebp - 0x18c]
mov eax, dword [eax + 0x34]
push esi
call eax
push esi
mov dword [ebp - 0x170], eax
call fcn.004569a0
mov esi, dword [ebp - 0x188]
push esi
call fcn.0044c880
add esp, 0x1c
test eax, eax
jne 0x45139a
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
cmp dword [ecx + eax*4 + 4], 0
je 0x451ae3
cmp dword [ebp - 0x170], 0
jne 0x451ae3
mov eax, dword [ebp - 0x284]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x280]
mov dword [esi + 0x24], eax
push dword [ebp - 0x18c]
lea eax, [ebp - 0x180]
push eax
call fcn.0044d1d0
add esp, 8
mov edi, dword [ebp - 0x180]
mov dword [ebp - 0x184], edi
mov eax, dword [ebp - 0x170]
inc dword [ebp - 0x194]
test eax, eax
je 0x44d308
jmp 0x451e18
mov dword [ebp - 0x170], 0x14
mov eax, 0x14
jmp 0x4513aa
cmp dword [edx + esi*4 + 8], 0
je 0x451b60
mov esi, dword [ebp - 0x188]
push esi
call fcn.0043abe0
add esp, 4
mov byte [esi + 0x14], 1
pop edi
mov eax, 0x65
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50b4
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x188]
mov esi, dword [ebp - 0x178]
push esi
mov byte [ecx + 0x14], al
call fcn.00453b90
add esp, 4
cmp eax, 5
jne 0x451b4b
mov ecx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x188]
mov dword [esi + 0x7c], ecx
mov cl, 1
sub cl, byte [ebp - 0x1c1]
mov dword [esi + 0x2c], edi
mov byte [eax + 0x14], cl
pop edi
mov dword [esi + 0x80], 5
mov eax, 5
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50b4
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x194]
mov dword [eax + 0x2c], edi
pop edi
mov dword [eax + 0x7c], ecx
mov dword [eax + 0x80], 5
mov eax, 5
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50b4
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x178]
mov eax, dword [ebp - 0x194]
mov dword [esi + 0x7c], eax
xor eax, eax
mov dword [esi + 0x80], 5
cmp dword [edx + ecx*4 + 8], eax
setle al
inc eax
shl eax, 6
add eax, edi
mov dword [esi + 0x2c], eax
pop edi
mov eax, 5
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50b4
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x170], 0xd
mov eax, 0xd
jmp 0x4513aa
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x174]
mov dword [eax + 0x2c], edi
mov eax, dword [ecx + esi*4 + 4]
mov edi, dword [ebp - 0x178]
mov dword [edi + 0x80], eax
mov eax, dword [ebp - 0x194]
mov dword [edi + 0x7c], eax
mov eax, dword [ecx + esi*4 + 8]
mov dword [edi + 0x88], eax
mov eax, dword [ecx + esi*4 + 0xc]
test eax, eax
je 0x451c8a
push 0
push eax
lea eax, [edi + 0x230]
push eax
call fcn.0044c8c0
add esp, 0xc
push edi
call fcn.00453b90
add esp, 4
cmp eax, 5
jne 0x451cae
mov dword [edi + 0x80], eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50b4
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x80], 0
mov eax, 0x65
mov ecx, 1
pop edi
cmovne eax, ecx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50b4
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x174]
mov edx, dword [ebp - 0x178]
mov eax, dword [eax + esi*4 + 4]
mov esi, dword [edx + 0x28]
shl eax, 6
mov ecx, edi
sub ecx, eax
mov dword [ebp - 0x208], ecx
cmp esi, ecx
jae 0x451d2f
mov eax, 0x100
jmp 0x451d00
test word [esi + 0x18], ax
je 0x451d22
push esi
call fcn.00455b30
add esp, 4
test eax, eax
jne 0x451df8
mov ecx, dword [ebp - 0x208]
mov eax, 0x100
add esi, 0x40
cmp esi, ecx
jb 0x451d00
mov edx, dword [ebp - 0x178]
mov eax, dword [edx + 0x60]
add eax, 2
or eax, 1
mov dword [edx + 0x60], eax
cmp esi, edi
ja 0x451d5c
nop
push esi
call fcn.00455c20
push esi
call fcn.0044d050
add esi, 0x40
add esp, 8
cmp esi, edi
jbe 0x451d40
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
inc dword [edx + 0x5c]
mov byte [edx + 0x234], 1
mov eax, dword [ecx + eax*4 + 4]
mov dword [edx + 0x22c], eax
mov eax, dword [ebp - 0x194]
inc eax
mov dword [edx + 0x2c], edi
pop edi
mov dword [edx + 0x7c], eax
mov eax, 0x64
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50b4
mov esp, ebp
pop ebp
ret
mov esi, eax
cmp dword [esi + 0x30], 0xf03b7906
mov esi, dword [ebp - 0x178]
mov ecx, 0x15
mov eax, 9
cmovne eax, ecx
push 0
push eax
mov dword [ebp - 0x170], eax
mov dword [esi + 0x80], eax
call fcn.0043aa00
add esp, 4
push eax
lea eax, [esi + 0x230]
push eax
call fcn.0044c8c0
mov ecx, esi
mov eax, dword [ebp - 0x170]
add esp, 0xc
test eax, eax
jne 0x451e1e
lea esi, [eax + 0x65]
jmp 0x451e29
mov edi, dword [ebp - 0x184]
mov eax, dword [ebp - 0x178]
push 0
add eax, 0x230
push 0x51a02c
push eax
call fcn.0044c8c0
add esp, 0xc
mov eax, 7
mov ecx, dword [ebp - 0x178]
mov dword [ecx + 0x80], eax
mov esi, 1
push ecx
call fcn.00453b90
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 4]
add esp, 4
mov dword [eax + 0x2c], edi
pop edi
mov eax, esi
xor ecx, ebp
pop esi
call fcn.004e50b4
mov esp, ebp
pop ebp
ret