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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2e4
mov eax, dword [0x559680]
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 0x44b0a7
pop edi
mov eax, 0x15
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004df4f4
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 0x44fc2e
mov dword [eax + 0x80], 0
mov eax, dword [eax + 0x22c]
test eax, eax
je 0x44b10b
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0044b000
mov eax, dword [ebp - 0x178]
mov edi, dword [ebp - 0x180]
add esp, 8
mov dword [eax + 0x22c], 0
mov dword [ebp - 0x184], edi
jmp 0x44b111
mov eax, dword [ebp - 0x178]
mov byte [eax + 0x234], 0
cmp dword [esi + 0x98], 0
mov dword [esi + 0x11c], 0
jne 0x44fbd0
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x194], eax
call fcn.0044a430
test eax, eax
jne 0x44fc28
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 0x44b1f0
mov edx, dword [ebp - 0x1f8]
cmp dword [ecx + 0xb0], edx
jne 0x44b1ea
push ecx
call fcn.0044a670
add esp, 4
test eax, eax
jne 0x44f1ca
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 0x44b1ca
call fcn.0044a6b0
mov eax, 4
add esp, 4
mov dword [ebp - 0x170], eax
jmp 0x44f93a
mov dword [ebp - 0x1f8], 0
call fcn.0044a6b0
add esp, 4
test eax, eax
jne 0x44f1ca
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.0x44b210.13
jmp dword [eax*4 + 0x44fc80]
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x98], 0
jne 0x44fbce
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44b210.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.0x44b210.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.0x44b210.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 0x44f92e
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 0x44b2f0
sub ecx, edx
mov dword [edi + 0x14], ecx
push edi
mov byte [edi + 0x1b], 1
call fcn.00453630
mov dword [edi], eax
add esp, 4
mov dword [edi + 4], edx
or word [edi + 0x18], 4
jmp case.0x44b210.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 0x44b340
sub ecx, edx
mov dword [edi + 0x14], ecx
push edi
mov byte [edi + 0x1b], 1
call fcn.00453e20
fstp qword [edi + 8]
movzx eax, byte [ebp - 0x1ac]
or word [edi + 0x18], 8
push eax
push edi
call fcn.00453600
add esp, 0xc
jmp case.0x44b210.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 0x44b390
sub ecx, dword [ebp - 0x190]
cmp byte [ebp - 0x1ac], 1
mov eax, dword [ebp - 0x174]
mov dword [eax + esi*4 + 4], ecx
je case.0x44b210.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.00453c50
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00453600
add esp, 0x1c
test eax, eax
jne 0x44fc28
push edi
call fcn.00453740
add esp, 4
test eax, eax
jne 0x44fc28
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 0x44b431
push dword [ecx + esi*4 + 0xc]
call fcn.0044a050
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.0x44b210.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 0x44f92e
add edi, 0x40
mov eax, 1
mov word [edi + 0x18], ax
mov dword [ebp - 0x180], edi
mov dword [edi + 0x14], 0
jmp 0x44f92e
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 0x44b4b7
sub ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x174]
shr ecx, 1
mov dword [eax + esi*4 + 4], ecx
je 0x44b524
push edx
call fcn.0044a250
mov esi, eax
add esp, 4
test esi, esi
je 0x44fc28
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
cmp dword [ecx + eax*4 + 0x10], 0xffffffff
jne 0x44b510
push dword [ecx + eax*4 + 0xc]
call fcn.0044a050
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 0x44b554
mov ecx, eax
cmp dword [ecx + esi*4 + 0x10], 0xffffffff
jne 0x44b53c
push edx
call fcn.0044a050
mov ecx, dword [ebp - 0x174]
add esp, 4
mov dword [ecx + esi*4 + 0x10], 0xfffffffe
mov dword [ecx + esi*4 + 0xc], 0x50e708
jmp 0x44b554
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.00453c50
add esp, 0x14
jmp case.0x44b210.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.00453d60
add esp, 0xc
jmp case.0x44b210.13
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 4]
jmp 0x44f919
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.00453d60
mov eax, dword [ebp - 0x174]
add esp, 0xc
cmp dword [eax + esi*4 + 8], 0
je case.0x44b210.13
mov eax, 0x100
test word [edi + 0x18], ax
je case.0x44b210.13
push edi
call fcn.00453960
add esp, 4
test eax, eax
jne 0x44fc28
jmp case.0x44b210.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 0x44b67d
push edi
call fcn.00453960
add esp, 4
test eax, eax
jne 0x44fc28
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 0x44b713
add edx, 0x40
mov dword [ebp - 0x18c], edx
mov ecx, 0x100
test word [edx + 0x18], cx
je 0x44b6c8
push edx
call fcn.00453960
add esp, 4
test eax, eax
jne 0x44fc22
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 0x44b6eb
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 0x44b6a0
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.0x44b210.13
lea eax, [edi + 0x20]
mov dword [edi + 0x10], eax
jmp case.0x44b210.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.004539e0
add esp, 8
sub edi, 0x40
mov dword [ebp - 0x180], edi
jmp 0x44f92e
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 0x44b80a
jmp 0x44b7b0
movzx eax, word [esi + 0x18]
test al, 1
jne 0x44b8f4
test al, 0x12
jne 0x44b7e5
movzx eax, byte [ebp - 0x1ac]
push eax
push esi
call fcn.00453db0
add esp, 8
test eax, eax
jne 0x44fc28
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 0x44b7b0
test edx, edx
js 0x44b8fa
lea eax, [edx + 2]
push 1
push eax
call fcn.0044a450
mov ecx, eax
add esp, 8
mov dword [ebp - 0x19c], ecx
test ecx, ecx
je 0x44fc28
mov edx, dword [ebp - 0x1bc]
xor eax, eax
mov dword [ebp - 0x1a0], eax
test edx, edx
jle 0x44b886
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.004df950
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 0x44b850
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 0x44b8c7
push edx
lea eax, [ebp - 0x180]
push eax
call fcn.0044b000
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 0x44f92e
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
cmp dword [edx + ecx*4 + 8], 0
jne 0x44b923
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0044b000
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.0x44b210.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 0x44b9a4
test al, 0x40
je 0x44b979
push edi
call fcn.00453b40
add esp, 4
mov edi, esi
mov dword [ebp - 0x184], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x180], edi
je 0x44b996
push edi
call fcn.00453b40
add esp, 4
mov eax, 1
mov word [edi + 0x18], ax
jmp case.0x44b210.13
and al, dl
test al, 4
je 0x44ba9e
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.0x44b9d2
jmp dword [ecx*4 + 0x44febc]
add eax, edx
adc dword [ebp - 0x17c], esi
mov dword [ebp - 0x198], eax
mov esi, eax
jmp 0x44ba53
sub eax, edx
sbb dword [ebp - 0x17c], esi
mov dword [ebp - 0x198], eax
mov esi, eax
jmp 0x44ba53
push esi
push edx
push dword [ebp - 0x17c]
push eax
call fcn.004e49e0
jmp 0x44ba4b
mov eax, edx
or eax, esi
je 0x44bbd4
push esi
mov esi, dword [ebp - 0x198]
push edx
push dword [ebp - 0x17c]
push esi
call fcn.004e4da0
jmp 0x44ba4b
mov eax, edx
or eax, esi
je 0x44bbd4
push esi
mov esi, dword [ebp - 0x198]
push edx
push dword [ebp - 0x17c]
push esi
call fcn.004e5580
mov esi, eax
mov dword [ebp - 0x17c], edx
movzx eax, word [edi + 0x18]
test al, 0x40
je 0x44ba64
push edi
call fcn.00453b40
add esp, 4
mov edi, dword [ebp - 0x19c]
mov dword [ebp - 0x184], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x180], edi
je 0x44ba85
push edi
call fcn.00453b40
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.0x44b210.13
push edi
call fcn.00453e20
fstp qword [ebp - 0x1a8]
push esi
call fcn.00453e20
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.0x44bad1
jmp dword [eax*4 + 0x44fecc]
movsd xmm0, qword [ebp - 0x1e0]
addsd xmm0, qword [ebp - 0x1a8]
jmp 0x44bb70
movsd xmm0, qword [ebp - 0x1e0]
subsd xmm0, qword [ebp - 0x1a8]
jmp 0x44bb70
movsd xmm0, qword [ebp - 0x1e0]
mulsd xmm0, qword [ebp - 0x1a8]
jmp 0x44bb70
movsd xmm1, qword [ebp - 0x1a8]
ucomisd xmm1, qword [0x516108]
lahf
test ah, 0x44
jnp 0x44bbda
movsd xmm0, qword [ebp - 0x1e0]
divsd xmm0, xmm1
jmp 0x44bb70
cvttsd2si ecx, qword [ebp - 0x1a8]
cvttsd2si edx, qword [ebp - 0x1e0]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm0, qword [0x516108]
lahf
test ah, 0x44
jnp 0x44bbda
mov eax, edx
cdq
idiv ecx
movd xmm0, edx
cvtdq2pd xmm0, xmm0
test byte [edi + 0x18], 0x40
movsd qword [ebp - 0x1a8], xmm0
je 0x44bb87
push edi
call fcn.00453b40
add esp, 4
mov edi, esi
mov dword [ebp - 0x184], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x180], edi
je 0x44bba4
push edi
call fcn.00453b40
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.0x44b210.13
push edi
call fcn.004536a0
add esp, 4
jmp case.0x44b210.13
mov esi, dword [ebp - 0x19c]
test byte [edi + 0x18], 0x40
jmp 0x44b96e
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 0x44bc36
mov edi, ecx
mov eax, dword [ebp - 0x18c]
push edx
mov dword [eax + esi*4], edx
call fcn.0044ae80
inc esi
add esp, 4
add edx, 0x40
cmp esi, edi
jl 0x44bc16
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 0x44bc59
mov dword [ebp - 0xd0], 0
jmp 0x44bc61
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 0x44bc9e
mov eax, dword [edx + ecx*4 - 8]
mov dword [ebp - 0x84], eax
push dword [ebp - 0x188]
call fcn.0044a670
add esp, 4
test eax, eax
jne 0x44f1ca
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.0044a6b0
add esp, 0x10
test eax, eax
jne 0x44f1ca
call fcn.0044a430
test eax, eax
jne 0x44fc28
lea eax, [ebp - 0x180]
push esi
push eax
call fcn.0044b000
mov eax, dword [ebp - 0xd0]
add esp, 8
test eax, eax
je 0x44bd3b
mov esi, dword [ebp - 0x17c]
mov edi, dword [ebp - 0x174]
push dword [edi + esi*4 + 4]
push eax
call fcn.00451860
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 0x44bd74
lea eax, [ebp - 0xcc]
push 0
push eax
call fcn.00450cb0
add esp, 4
push eax
mov eax, dword [ebp - 0x178]
add eax, 0x230
push eax
call fcn.0044a6f0
add esp, 0xc
mov dword [ebp - 0x170], 1
movzx eax, byte [ebp - 0x1ac]
push eax
lea eax, [ebp - 0xcc]
push eax
call fcn.00453600
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.004539e0
add esp, 0x10
jmp case.0x44b210.13
mov al, byte [edi - 0x28]
or al, byte [edi + 0x18]
lea ecx, [edi - 0x40]
mov dword [ebp - 0x190], ecx
test al, 1
je 0x44bdd2
push 2
jmp 0x44b90e
push ecx
call fcn.00453630
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.00453630
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.0x44be1b
jmp dword [eax*4 + 0x44fedc]
and esi, ecx
and dword [ebp - 0x198], edx
jmp case.default.0x44be1b
or esi, ecx
or dword [ebp - 0x198], edx
jmp case.default.0x44be1b
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.0x44be1b
mov edx, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x18c]
mov eax, esi
call fcn.004e5640
mov esi, eax
mov dword [ebp - 0x198], edx
test byte [edi + 0x18], 0x40
je 0x44be8c
push edi
call fcn.00453b40
add esp, 4
mov edi, dword [ebp - 0x190]
mov dword [ebp - 0x184], edi
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x180], edi
je 0x44bead
push edi
call fcn.00453b40
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.0x44b210.13
push edi
call fcn.00453930
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.0x44b210.13
push dword [ebp - 0x1ac]
push 0x63
push edi
call fcn.0044af10
lea eax, [edi + 0x18]
mov dword [ebp - 0x18c], eax
movzx eax, word [eax]
add esp, 0xc
test al, 0xc
jne 0x44bf31
test al, 0x40
je 0x44bf12
push edi
call fcn.00453b40
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 0x44f92e
test al, 4
je 0x44bf88
mov eax, dword [ebp - 0x174]
cmp dword [eax + esi*4 + 4], 0
je 0x44bf5d
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 0x44c03c
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 0x44c03c
push edi
call fcn.00453b10
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 0x44bfeb
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 0x44c030
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 0x44c030
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 0x44c050
push edi
call fcn.00453b40
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.0x44b210.13
push dword [ebp - 0x1ac]
push 0x63
push edi
call fcn.0044af10
movzx eax, word [edi + 0x18]
add esp, 0xc
test al, 4
jne 0x44c0d2
mov eax, dword [ebp - 0x174]
cmp dword [eax + esi*4 + 8], 0
je 0x44f94d
cmp dword [eax + esi*4 + 4], 0
je 0x44c0c2
lea eax, [ebp - 0x180]
push 1
push eax
call fcn.0044b000
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.0x44b210.13
test al, 0x40
je 0x44c0df
push edi
call fcn.00453b40
add esp, 4
mov eax, 4
mov word [edi + 0x18], ax
jmp case.0x44b210.13
test byte [edi + 0x18], 4
je case.0x44b210.13
push edi
call fcn.00453b10
add esp, 4
jmp case.0x44b210.13
movzx ecx, word [edi + 0x18]
test cl, 1
jne case.0x44b210.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.0044af10
mov eax, 0xffe3
add esp, 0xc
and word [edi + 0x18], ax
jmp case.0x44b210.13
movzx eax, word [edi + 0x18]
test al, 1
jne case.0x44b210.13
test al, 0x10
jne 0x44c165
push dword [ebp - 0x1ac]
push 0x61
push edi
call fcn.0044af10
add esp, 0xc
or word [edi + 0x18], 0x10
mov eax, 0xfff1
and word [edi + 0x18], ax
jmp case.0x44b210.13
test byte [edi + 0x18], 1
jne case.0x44b210.13
push edi
call fcn.00453af0
add esp, 4
jmp case.0x44b210.13
test byte [edi + 0x18], 1
jne case.0x44b210.13
push edi
call fcn.00453930
add esp, 4
jmp case.0x44b210.13
test byte [edi + 0x18], 1
jne case.0x44b210.13
push edi
call fcn.00453b10
add esp, 4
jmp case.0x44b210.13
movzx ecx, word [edi + 0x18]
mov al, byte [edi - 0x28]
lea esi, [edi - 0x40]
or al, cl
test al, 1
je 0x44c20a
mov eax, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
test dword [edx + eax*4 + 4], 0x200
je 0x44c288
not ecx
and ecx, 1
mov eax, ecx
cdq
push edx
push eax
push edi
call fcn.00453bf0
movzx eax, word [esi + 0x18]
not eax
and eax, 1
cdq
push edx
push eax
push esi
call fcn.00453bf0
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 0x44c253
push dword [ebp - 0x1ac]
mov esi, dword [ebp - 0x23c]
lea eax, [edi - 0x40]
push esi
push eax
call fcn.0044af10
push dword [ebp - 0x1ac]
push esi
push edi
call fcn.0044af10
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.00453100
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.0x44c281
jmp dword [eax*4 + 0x44feec]
lea eax, [ebp - 0x180]
push 2
push eax
call fcn.0044b000
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
add esp, 8
mov eax, dword [edx + ecx*4 + 8]
test eax, eax
je 0x44b91d
test dword [edx + ecx*4 + 4], 0x100
je 0x44f928
dec eax
mov dword [ebp - 0x194], eax
jmp 0x44f928
xor eax, eax
test ecx, ecx
sete al
jmp 0x44c2ff
xor eax, eax
test ecx, ecx
setne al
jmp 0x44c2ff
xor eax, eax
test ecx, ecx
sets al
jmp 0x44c2ff
xor eax, eax
test ecx, ecx
setle al
jmp 0x44c2ff
xor eax, eax
test ecx, ecx
setg al
jmp 0x44c2ff
xor eax, eax
test ecx, ecx
setns al
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x180]
push 2
push eax
call fcn.0044b000
mov eax, dword [edi + esi*4 + 8]
add esp, 8
test eax, eax
je 0x44c327
cmp dword [ebp - 0x198], 0
jmp 0x44c2b9
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 0x44f92e
test byte [edi + 0x18], 1
lea eax, [edi - 0x40]
mov dword [ebp - 0x190], eax
je 0x44c366
mov esi, 2
jmp 0x44c37d
push edi
call fcn.00453930
mov eax, dword [edi]
add esp, 4
or eax, dword [edi + 4]
jne 0x44c37b
lea esi, [eax + 1]
jmp 0x44c37d
xor esi, esi
mov edi, dword [ebp - 0x190]
test byte [edi + 0x18], 1
je 0x44c390
mov eax, 2
jmp 0x44c3a9
push edi
call fcn.00453930
mov eax, dword [edi]
add esp, 4
or eax, dword [edi + 4]
jne 0x44c3a7
mov eax, 1
jmp 0x44c3a9
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 0x44c3c8
movzx esi, byte [esi + eax + 0x515f4c]
jmp 0x44c3d0
movzx esi, byte [esi + eax + 0x515f58]
lea eax, [ebp - 0x180]
push 2
push eax
call fcn.0044b000
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 0x44b932
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.0x44b210.13
movzx eax, word [edi + 0x18]
test al, 8
jne 0x44c47c
test al, 4
je 0x44c46b
test al, 0x40
je 0x44c433
push edi
call fcn.00453b40
add esp, 4
mov eax, dword [ebp - 0x174]
cmp byte [eax + esi*4], 0x56
je 0x44c44c
cmp dword [edi + 4], 0
jg 0x44c45d
jl 0x44c44c
cmp dword [edi], 0
jae 0x44c45d
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.0x44b210.13
test al, 1
jne case.0x44b210.13
push edi
call fcn.00453af0
add esp, 4
test byte [edi + 0x18], 0x40
je 0x44c48b
push edi
call fcn.00453b40
add esp, 4
mov eax, dword [ebp - 0x174]
cmp byte [eax + esi*4], 0x56
je 0x44c4a1
xorps xmm0, xmm0
comisd xmm0, xmmword [edi + 8]
jbe 0x44c4b3
movsd xmm0, qword [edi + 8]
xorpd xmm0, xmmword [0x510720]
movsd qword [edi + 8], xmm0
mov eax, 8
mov word [edi + 0x18], ax
jmp case.0x44b210.13
test byte [edi + 0x18], 1
jne case.0x44b210.13
push edi
call fcn.00453930
mov eax, dword [edi]
add esp, 4
or eax, dword [edi + 4]
jne 0x44c4f4
mov eax, 1
cdq
mov dword [edi], eax
mov eax, 4
mov dword [edi + 4], edx
mov word [edi + 0x18], ax
jmp case.0x44b210.13
xor eax, eax
cdq
mov dword [edi], eax
mov eax, 4
mov dword [edi + 4], edx
mov word [edi + 0x18], ax
jmp case.0x44b210.13
test byte [edi + 0x18], 1
jne case.0x44b210.13
push edi
call fcn.00453930
not dword [edi]
not dword [edi + 4]
mov eax, 4
add esp, 4
mov word [edi + 0x18], ax
jmp case.0x44b210.13
test byte [edi + 0x18], 1
je 0x44c542
mov eax, dword [ebp - 0x174]
mov esi, dword [eax + esi*4 + 4]
jmp 0x44c58b
push edi
call fcn.00453e20
fstp qword [ebp - 0x1a8]
movsd xmm0, qword [ebp - 0x1a8]
add esp, 4
ucomisd xmm0, qword [0x516108]
lahf
test ah, 0x44
jnp 0x44c56e
mov esi, 1
jmp 0x44c570
xor esi, esi
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
cmp byte [ecx + eax*4], 0x55
jne 0x44c58b
xor eax, eax
test esi, esi
sete al
mov esi, eax
test byte [edi + 0x18], 0x40
je 0x44c59a
push edi
call fcn.00453b40
add esp, 4
sub edi, 0x40
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
test esi, esi
je case.0x44b210.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.0x44b210.13
test byte [edi + 0x18], 1
je 0x44c60a
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 0x44c60a
neg eax
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0044b000
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.0x44b210.13
push eax
jmp 0x44f919
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi*4 + 4]
mov esi, eax
mov dword [ebp - 0x190], eax
test esi, esi
jns 0x44c63a
neg esi
xor edx, edx
test esi, esi
jle 0x44c663
mov eax, esi
shl eax, 6
mov ecx, edi
sub ecx, eax
add ecx, 0x58
lea esp, [esp]
test byte [ecx], 1
jne 0x44c65f
inc edx
add ecx, 0x40
cmp edx, esi
jl 0x44c650
jmp 0x44c663
cmp edx, esi
jl 0x44c67a
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.0x44b210.13
push esi
jmp 0x44f919
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.0x44b210.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 0x44c798
push edx
call fcn.00451710
add esp, 4
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f1da
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 0x44c73a
mov dword [ebp - 0x1d0], eax
jmp 0x44c7c5
mov esi, dword [ebp - 0x178]
mov eax, dword [edx + 0x68]
cmp eax, dword [esi + 0x60]
jne 0x44c756
mov eax, dword [edx + 0x6c]
mov dword [ebp - 0x1d0], eax
mov eax, dword [edx + 0x78]
jmp 0x44c7bf
cmp byte [edx + 0x21], 0
je 0x44c780
lea eax, [ebp - 0x2a4]
push eax
push ecx
call fcn.00425720
mov eax, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x198]
mov dword [ebp - 0x1d0], eax
add esp, 8
jmp 0x44c7c5
lea eax, [ebp - 0x1d0]
push eax
push ecx
call fcn.00424c20
mov edx, dword [ebp - 0x198]
add esp, 8
jmp 0x44c7c5
cmp byte [edx + 0x1e], 0
je 0x44cb41
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.0x44b210.13
mov esi, dword [ebp - 0x178]
mov eax, dword [edx + 0x68]
cmp eax, dword [esi + 0x60]
mov esi, dword [ebp - 0x17c]
jne 0x44c806
mov ecx, dword [edx + 0x70]
mov eax, dword [edx + 0x74]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x1a0], eax
jmp 0x44ca4d
mov eax, dword [edx + 0x70]
mov dword [ebp - 0x19c], eax
test eax, eax
jne 0x44c83c
lea eax, [ecx*8]
push 1
push eax
call fcn.0044a450
mov edx, dword [ebp - 0x198]
add esp, 8
mov dword [ebp - 0x19c], eax
mov dword [edx + 0x70], eax
test eax, eax
je 0x44fc28
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 0x44c871
mov esi, eax
jmp 0x44c8bb
cmp byte [edx + 0x21], 0
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x1c0]
je 0x44c88b
call fcn.00425700
jmp 0x44c890
call fcn.00424c00
mov esi, eax
mov eax, dword [ebp - 0x204]
add esp, 8
cmp eax, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x198]
jb 0x44c8b4
mov dword [ebp - 0x1bc], esi
mov dword [eax + 0x78], esi
jmp 0x44c8bb
mov dword [eax + 0x78], 0
movzx ecx, byte [esi]
mov dword [ebp - 0x1d4], ecx
cmp ecx, 0x7f
ja 0x44c8d5
mov dword [ebp - 0x1b8], 1
jmp 0x44c8f1
lea eax, [ebp - 0x1d4]
push eax
push esi
call fcn.0044a1d0
mov ecx, dword [ebp - 0x1d4]
add esp, 8
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1bc], 0
jne 0x44c93f
cmp dword [ebp - 0x204], ecx
jae 0x44c93f
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.00453850
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f93a
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 0x44c9f9
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 0x44c9ce
mov dword [eax + esi], ecx
movzx eax, byte [edi]
mov dword [esi], eax
cmp eax, 0x7f
ja 0x44c99c
mov eax, 1
jmp 0x44c9a6
push esi
push edi
call fcn.0044a1d0
add esp, 8
push dword [esi]
add edi, eax
call fcn.004529d0
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 0x44c9db
mov dword [eax + esi], 0
mov ecx, dword [ebp - 0x1d4]
add esi, 4
dec edx
mov dword [ebp - 0x1c8], edx
jne 0x44c980
mov dword [ebp - 0x170], edi
mov edi, dword [ebp - 0x184]
mov esi, dword [ebp - 0x170]
test byte [ebp - 0x154], 0x40
je 0x44ca17
lea eax, [ebp - 0x16c]
push eax
call fcn.00453b40
mov ecx, dword [ebp - 0x1d4]
add esp, 4
mov eax, 1
mov word [ebp - 0x154], ax
cmp esi, dword [ebp - 0x190]
ja 0x44cb31
cmp ecx, dword [ebp - 0x1d0]
ja 0x44cb31
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 0x44cad6
mov edx, dword [ebp - 0x1bc]
mov esi, dword [ebp - 0x18c]
test edx, edx
je 0x44ca72
add eax, edx
jmp 0x44cab8
push dword [ecx + esi*4]
call fcn.004529d0
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.00453850
add esp, 0x18
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f93a
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x19c]
push edi
push dword [ecx + esi*4]
push eax
call fcn.00452600
mov al, byte [ebp - 0x1ac]
add esp, 0xc
mov byte [edi + 0x1b], al
jmp 0x44cb00
mov eax, dword [ebp - 0x174]
cmp dword [eax + esi*4 + 0x10], 0xfffffff8
jne 0x44caf7
push 0x80
push dword [eax + esi*4 + 0xc]
push edi
call fcn.00453d60
add esp, 0xc
jmp 0x44cb00
mov eax, 1
mov word [edi + 0x18], ax
test byte [ebp - 0x154], 0x40
je 0x44cb1d
mov ax, word [edi + 0x18]
mov ecx, 0xfeff
and ax, cx
or ax, 0x60
mov word [edi + 0x18], ax
push edi
call fcn.00453960
add esp, 4
mov dword [ebp - 0x170], eax
jmp 0x44f93a
mov eax, 0xb
mov dword [ebp - 0x170], eax
jmp 0x44f93a
mov dword [ebp - 0x1d0], 0
jmp case.0x44b210.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 0x44cca5
mov dword [ebp - 0x18c], 0xffffffe8
sub dword [ebp - 0x18c], eax
test ecx, ecx
je 0x44cc44
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.0044af10
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.004528e0
mov esi, eax
push esi
call fcn.004529d0
add dword [ebp - 0x19c], eax
push 0
push esi
call fcn.0044a900
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 0x44cc18
cmp dword [ebp - 0x1c8], 0
je 0x44ccf1
mov esi, dword [ebp - 0x174]
push esi
mov dword [ebp - 0x1bc], esi
call fcn.00453930
push 0
push esi
call fcn.004528e0
mov esi, eax
push esi
call fcn.004529d0
add dword [ebp - 0x19c], eax
push 0
push esi
call fcn.0044a900
mov ecx, dword [ebp - 0x17c]
add esp, 0x18
add ecx, eax
mov dword [ebp - 0x17c], ecx
jmp 0x44ccf7
mov ecx, dword [ebp - 0x17c]
mov eax, ecx
cdq
push edx
push eax
call fcn.0044a900
mov esi, eax
mov eax, dword [ebp - 0x17c]
add eax, esi
mov dword [ebp - 0x17c], eax
cdq
push edx
push eax
call fcn.0044a900
add esp, 0x10
cmp esi, eax
mov esi, dword [ebp - 0x17c]
jge 0x44cd27
inc esi
mov eax, dword [ebp - 0x19c]
add eax, esi
mov dword [ebp - 0x19c], eax
cmp eax, 0x20
jbe 0x44cd57
push 1
push eax
call fcn.0044a450
mov ecx, eax
add esp, 8
mov dword [ebp - 0x18c], eax
test ecx, ecx
je 0x44fc28
jmp 0x44cd60
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x18c], ecx
mov eax, esi
cdq
push edx
push eax
push ecx
call fcn.0044a4b0
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 0x44cdbd
jmp 0x44cd90
push dword [ebp - 0x1a0]
push eax
call fcn.004528e0
push 0
push eax
push esi
call fcn.0044a4b0
add esi, eax
mov eax, dword [ebp - 0x190]
add eax, 0x40
add esp, 0x14
mov dword [ebp - 0x190], eax
cmp eax, edi
jbe 0x44cd90
cmp dword [ebp - 0x1c8], 0
je 0x44cde1
push 0
push dword [ebp - 0x1bc]
call fcn.004528e0
push 0
push eax
push esi
call fcn.0044a4b0
add esp, 0x14
add esi, eax
mov eax, dword [ebp - 0x1c0]
cmp eax, edi
ja 0x44ce15
jmp 0x44cdf0
push dword [ebp - 0x1a0]
push eax
push esi
call fcn.00452860
add esi, eax
mov eax, dword [ebp - 0x1c0]
add eax, 0x40
add esp, 0xc
mov dword [ebp - 0x1c0], eax
cmp eax, edi
jbe 0x44cdf0
mov eax, dword [ebp - 0x1c8]
test eax, eax
je 0x44ce36
push 0
push dword [ebp - 0x1bc]
push esi
call fcn.00452860
mov eax, dword [ebp - 0x1c8]
add esp, 0xc
cmp dword [ebp - 0x1b8], 0
jne 0x44ce5b
add eax, dword [ebp - 0x1dc]
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0044b000
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 0x44ce97
push ecx
lea ecx, [ebp - 0x24]
lea eax, [edi + 0x20]
push ecx
push eax
mov dword [edi + 0x10], eax
call fcn.004df950
mov eax, 0x210
add esp, 0xc
mov word [edi + 0x18], ax
jmp 0x44ceb0
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.0x44b210.13
cmp dword [ebp - 0x198], 0
je case.0x44b210.13
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44b210.13
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi*4 + 4]
test eax, eax
js case.0x44b210.13
mov esi, dword [ebp - 0x188]
cmp eax, dword [esi]
jge case.0x44b210.13
lea ecx, [eax + eax*2]
mov eax, dword [esi + 4]
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je case.0x44b210.13
mov eax, dword [ebp - 0x188]
cmp byte [eax + 0x14], 0
jne case.0x44b210.13
push esi
call fcn.00425670
add esp, 4
test eax, eax
jne case.0x44b210.13
push esi
call fcn.004243e0
add esp, 4
mov dword [ebp - 0x170], eax
jmp 0x44f93a
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 0x44cfb4
test al, al
je 0x44cfb4
mov edx, esi
cmp byte [edx + 0x14], 0
mov edx, dword [ebp - 0x174]
jne 0x44cfb4
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.0044a6f0
mov eax, 1
add esp, 0x14
mov dword [ebp - 0x170], eax
jmp 0x44f93a
cmp al, byte [esi + 0x14]
mov esi, dword [ebp - 0x17c]
jne 0x44f961
test al, al
jne 0x44cfce
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x44cfdd
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.0044a6f0
mov eax, 1
add esp, 0xc
mov dword [ebp - 0x170], eax
jmp 0x44f93a
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.0x44b210.13
push dword [edx + esi*4 + 8]
push eax
call fcn.00424430
add esp, 8
mov dword [ebp - 0x170], eax
cmp eax, 5
je 0x44f9e9
test eax, eax
je 0x44f93a
cmp eax, 8
jne 0x44f1da
jmp 0x44f93a
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.004251b0
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.0x44b210.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.00453930
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.00426240
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 0x44d132
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 0x44d14c
cmp eax, 1
jne 0x44d146
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.0x44b210.13
push esi
call fcn.00451370
add esp, 4
jmp case.0x44b210.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 0x44d1c0
lea ecx, [ebp - 0x214]
push ecx
push 1
push eax
call fcn.004251b0
add esp, 0xc
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f93a
mov eax, dword [ebp - 0x214]
jmp 0x44d1d2
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.0x44b210.13
mov eax, dword [ebp - 0x178]
push 0
add eax, 0x230
push str.database_schema_has_changed
push eax
call fcn.0044a6f0
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 4]
mov esi, dword [ebp - 0x188]
push esi
call fcn.004291c0
push esi
call fcn.00451370
mov eax, 0x11
add esp, 0x18
mov dword [ebp - 0x170], eax
jmp 0x44f93a
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.00453930
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 0x44d2b8
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 0x44d2c2
mov byte [ecx + 0x239], al
jmp 0x44d2c2
mov dword [ebp - 0x190], 0
test esi, esi
jg 0x44d2e6
push edi
call fcn.00453930
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.0044aec0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x44fc28
mov eax, dword [ebp - 0x1b8]
mov byte [esi + 0x1c], 1
test eax, eax
je case.0x44b210.13
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
push esi
push dword [edx + ecx*4 + 0xc]
push fcn.004521c0
push dword [ebp - 0x190]
push dword [ebp - 0x18c]
push eax
call fcn.00424aa0
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 0x44d389
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 0x44d396
lea eax, [esi + 0x22]
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x44d3d2
cmp eax, 5
je 0x44fa1a
cmp eax, 0x10
jne 0x44f1da
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 0x44f93a
push dword [esi]
call fcn.00425120
mov ecx, eax
add esp, 4
test cl, 0xf0
jne 0x44d429
and eax, 7
cmp eax, 5
je 0x44d3f0
cmp eax, 2
jne 0x44d429
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 0x44d416
cmp dword [edx + eax*4 + 0x10], 0xfffffffa
je 0x44d429
test cl, cl
je case.0x44b210.13
cmp dword [edx + eax*4 + 0x10], 0xfffffffa
je case.0x44b210.13
mov dword [ebp - 0x170], 0xb
mov eax, 0xb
jmp 0x44f1da
mov eax, dword [ebp - 0x174]
push 0xffffffffffffffff
push dword [eax + esi*4 + 4]
push dword [ebp - 0x178]
call fcn.0044aec0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x44fc28
lea eax, [esi + 0x30]
push eax
push 0x1f4
push 1
push 0
push dword [ebp - 0x188]
mov byte [esi + 0x1c], 1
call fcn.00438650
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44d564
push 1
push dword [esi + 0x30]
call fcn.00424430
add esp, 8
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44d564
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
cmp dword [ecx + eax*4 + 0xc], 0
je 0x44d540
push 2
lea eax, [ebp - 0x248]
push eax
push dword [esi + 0x30]
call fcn.00424880
add esp, 0xc
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44d53a
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
push esi
push dword [ecx + eax*4 + 0xc]
push fcn.004521c0
push 1
push dword [ebp - 0x248]
push dword [esi + 0x30]
call fcn.00424aa0
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 0x44d564
push esi
push 0
push 0
push 1
push 1
push dword [esi + 0x30]
call fcn.00424aa0
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.0x44b210.13
mov eax, dword [ebp - 0x174]
push 0xffffffffffffffff
push dword [eax + esi*4 + 4]
push dword [ebp - 0x178]
call fcn.0044aec0
add esp, 0xc
test eax, eax
je 0x44fc28
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.0x44b210.13
mov eax, dword [ebp - 0x174]
mov esi, dword [eax + esi*4 + 4]
test esi, esi
js case.0x44b210.13
mov edx, dword [ebp - 0x178]
cmp esi, dword [edx + 0x38]
jge case.0x44b210.13
mov eax, dword [edx + 0x3c]
push dword [eax + esi*4]
push edx
call fcn.00451900
mov eax, dword [ebp - 0x178]
add esp, 8
mov eax, dword [eax + 0x3c]
mov dword [eax + esi*4], 0
jmp case.0x44b210.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 0x44d7be
mov eax, dword [ebp - 0x1b8]
mov byte [esi + 0x1c], 0
cmp eax, 7
je 0x44d643
cmp eax, 0x4a
je 0x44d643
xor ecx, ecx
jmp 0x44d648
mov ecx, 1
mov eax, dword [esi + 0x48]
mov byte [eax], cl
cmp byte [esi + 0x20], 0
je 0x44d6e5
push edi
call fcn.00453930
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 0x44d6a8
mov esi, dword [ebp - 0x174]
cmp byte [esi + edx*4], 0x7d
mov esi, dword [ebp - 0x190]
jne 0x44d6a8
sub edi, 0x40
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov byte [esi + 0x1f], 1
mov dword [ebp - 0x180], edi
jmp 0x44f92e
lea edx, [ebp - 0x1cc]
push edx
push ecx
push eax
push 0
push dword [esi]
call fcn.00425800
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f1da
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 0x44d710
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.00425800
add esp, 0x14
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f1da
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 0x44d75c
cmp eax, 7
je 0x44d75c
cmp dword [ebp - 0x1cc], 0
jl 0x44d74a
lea eax, [ebp - 0x1cc]
push eax
push dword [esi]
call fcn.00425eb0
jmp 0x44d773
push dword [esi]
call fcn.004250c0
add esp, 4
mov dword [ebp - 0x1cc], eax
jmp 0x44d788
cmp dword [ebp - 0x1cc], 0
jge 0x44d7b4
lea eax, [ebp - 0x1cc]
push eax
push dword [esi]
call fcn.00425ab0
add esp, 8
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f1da
mov byte [esi + 0x19], 0
cmp dword [ebp - 0x1cc], 0
je 0x44d7be
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 8]
test eax, eax
jle 0x44d7ae
dec eax
mov dword [ebp - 0x194], eax
jmp 0x44d7be
mov byte [esi + 0x1c], 1
jmp 0x44d7be
mov dword [ebp - 0x1cc], 0
test byte [edi + 0x18], 0x40
je 0x44d7cd
push edi
call fcn.00453b40
add esp, 4
sub edi, 0x40
mov dword [ebp - 0x180], edi
jmp 0x44f92e
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 0x44d84e
test byte [edi + 0x18], 0x12
jne 0x44d816
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00453db0
add esp, 8
test eax, eax
jne 0x44fc28
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.00425800
add esp, 0x14
test eax, eax
jne 0x44d841
cmp dword [ebp - 0x250], eax
jne 0x44d841
lea edx, [eax + 1]
jmp 0x44d843
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 0x44d867
test edx, edx
je 0x44d876
jmp 0x44d86b
test edx, edx
jne 0x44d876
mov ecx, dword [esi + ecx*4 + 8]
dec ecx
mov dword [ebp - 0x194], ecx
cmp al, 0x6f
je case.0x44b210.13
jmp 0x44d7be
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.00453930
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.0x44b210.13
test byte [ecx + 0x18], 0x12
jne 0x44d907
movzx eax, byte [ebp - 0x1ac]
push eax
push ecx
call fcn.00453db0
add esp, 8
test eax, eax
jne 0x44fc28
mov ecx, edi
mov eax, dword [ecx + 0x10]
mov esi, dword [ecx + 0x14]
push eax
mov dword [ebp - 0x190], eax
call fcn.00451db0
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.00425800
add esp, 0x18
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f1da
cmp dword [ebp - 0x1ec], eax
jge 0x44d99e
lea eax, [ebp - 0x1ec]
push eax
push dword [ebp - 0x18c]
call fcn.00425ab0
add esp, 8
cmp dword [ebp - 0x1ec], 0
mov dword [ebp - 0x170], eax
je 0x44d99e
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.0x44b210.13
lea eax, [ebp - 0x1ec]
push eax
push dword [ebp - 0x190]
push esi
push dword [ebp - 0x1b8]
call fcn.00451c20
add esp, 0x10
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f1da
cmp dword [ebp - 0x1ec], eax
jle 0x44d9ec
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.0x44b210.13
lea eax, [ebp - 0x258]
push eax
push dword [ebp - 0x18c]
call fcn.00451cd0
add esp, 8
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f1da
mov eax, dword [ebp - 0x258]
cmp eax, dword [ebp - 0x1a4]
jne 0x44da47
mov ecx, dword [ebp - 0x1dc]
cmp dword [ebp - 0x254], ecx
jne 0x44da47
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.0x44b210.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.0x44b210.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 0x44d7be
lea ecx, [ebp - 0x25c]
push ecx
push dword [edi + 4]
push dword [edi]
push 0
push eax
call fcn.00425800
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 0x44d7be
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 0x44d7be
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.0x44b210.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 0x44de44
push eax
call fcn.00425120
and al, 3
add esp, 4
cmp al, 1
jne 0x44d429
mov edx, dword [ebp - 0x17c]
cmp byte [edx + 0x1b], 0
jne 0x44dd14
cmp byte [edx + 0x1d], 0
je 0x44dbb5
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x1b4], ecx
mov eax, dword [edx + 0x14]
jmp 0x44dc34
lea eax, [ebp - 0x1fc]
push eax
push dword [edx]
call fcn.00425780
add esp, 8
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f1da
cmp dword [ebp - 0x1fc], eax
je 0x44dbe1
lea ecx, [eax + 1]
jmp 0x44dc2e
lea eax, [ebp - 0x1b4]
push eax
mov eax, dword [ebp - 0x17c]
push dword [eax]
call fcn.00425720
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b0]
add esp, 8
cmp ecx, 0xffffffff
jne 0x44dc28
cmp eax, 0x7fffffff
jne 0x44dc28
mov eax, dword [ebp - 0x17c]
mov byte [eax + 0x1b], 1
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1b4]
jmp 0x44dc3a
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 0x44dcce
mov eax, dword [ebp - 0x178]
shl esi, 6
add esi, dword [eax + 0x58]
push esi
call fcn.00453930
mov edx, dword [esi]
mov ecx, dword [esi + 4]
add esp, 4
cmp edx, 0xffffffff
jne 0x44dc77
cmp ecx, 0x7fffffff
je 0x44fa5a
mov eax, dword [ebp - 0x17c]
cmp byte [eax + 0x1b], 0
jne 0x44fa5a
add edx, 1
adc ecx, 0
cmp dword [ebp - 0x1b0], ecx
jg 0x44dcb1
jl 0x44dca1
mov eax, dword [ebp - 0x1b4]
cmp eax, edx
jae 0x44dcb7
mov eax, edx
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], ecx
jmp 0x44dcb7
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 0x44dd00
jb 0x44dcdc
cmp ecx, 0xffffffff
jae 0x44dd00
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 0x44dd0a
mov edx, dword [ebp - 0x17c]
mov byte [edx + 0x1d], 0
cmp byte [edx + 0x1b], 0
je 0x44de35
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 0x44dd7d
cmp edx, 2
jg 0x44dd7d
lea eax, [ebp - 0x1d5]
push eax
push 1
call fcn.004429d0
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 0x44ddbb
lea eax, [ebp - 0x1b4]
push eax
push 8
call fcn.004429d0
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x1b4]
add esp, 8
cmp edx, 5
jge 0x44ddb5
and ecx, 0xffffff
xor esi, esi
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x1b0], esi
jmp 0x44ddbb
mov esi, dword [ebp - 0x1b0]
mov eax, ecx
or eax, esi
je 0x44ddf7
lea eax, [ebp - 0x1fc]
push eax
mov eax, dword [ebp - 0x17c]
push esi
push ecx
push 0
push dword [eax]
call fcn.00425800
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 0x44de11
test edi, edi
jne 0x44de11
test eax, eax
je 0x44dd36
mov edx, dword [ebp - 0x188]
test edi, edi
mov edi, dword [ebp - 0x184]
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], esi
jne 0x44de2f
test eax, eax
je 0x44fa5a
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.0x44b210.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 0x44de97
cmp byte [esi + 0x1e], 0
je 0x44e05b
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 0x44ded4
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 0x44deff
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 0x44df1b
mov eax, dword [edi - 0x3c]
cmp eax, dword [esi + 0x14]
jl 0x44df1b
jg 0x44df17
mov eax, dword [edi - 0x40]
cmp eax, dword [esi + 0x10]
jb 0x44df1b
mov byte [esi + 0x1d], 0
test byte [edi + 0x18], 1
je 0x44df2f
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp byte [esi + 0x1e], 0
je 0x44dfc9
push dword [esi + 0x38]
call fcn.0044a050
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 0x44df80
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 0x44dfe3
add eax, 2
push 1
push eax
call fcn.0044a450
add esp, 8
mov dword [esi + 0x38], eax
test eax, eax
je 0x44fc28
push dword [esi + 0x34]
push dword [edi + 0x10]
push eax
call fcn.004df950
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 0x44dfe3
push dword [edi + 0x14]
push dword [edi + 0x10]
push edx
push ecx
push 0
push dword [esi]
call fcn.00425240
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 0x44e05b
mov eax, dword [ebp - 0x188]
mov edx, dword [eax + 0x7c]
test edx, edx
je 0x44e05b
mov edi, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + edi*4 + 0xc]
test eax, eax
je 0x44e05b
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 0x44f919
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 0x44e159
mov ecx, dword [ebp - 0x188]
cmp dword [ecx + 0x7c], 0
je 0x44e0d9
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
cmp dword [edx + ecx*4 + 0xc], 0
je 0x44e0d9
cmp byte [esi + 0x19], 0
je 0x44e0bb
mov eax, dword [esi + 8]
mov dword [ebp - 0x234], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x230], eax
jmp 0x44e0d9
lea ecx, [ebp - 0x234]
push ecx
push eax
call fcn.00425720
add esp, 8
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f1da
push esi
call fcn.00451710
add esp, 4
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f1da
push dword [esi]
call fcn.00424c80
add esp, 4
mov dword [ebp - 0x170], eax
mov byte [esi + 0x1d], 0
mov dword [esi + 0x68], 0
test eax, eax
jne 0x44e159
mov eax, dword [ebp - 0x188]
mov edx, dword [eax + 0x7c]
test edx, edx
je 0x44e159
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 0xc]
test eax, eax
je 0x44e159
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.0x44b210.13
mov eax, dword [ebp - 0x178]
inc dword [eax + 0x23c]
jmp case.0x44b210.13
mov eax, dword [ebp - 0x174]
cmp dword [eax + esi*4 + 4], 0
je 0x44e1a8
mov eax, dword [ebp - 0x178]
push dword [eax + 0x23c]
push dword [ebp - 0x188]
call fcn.004529f0
add esp, 8
mov eax, dword [ebp - 0x178]
mov dword [eax + 0x23c], 0
jmp case.0x44b210.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 0x44e304
mov eax, dword [esi]
mov dword [ebp - 0x1a0], eax
test eax, eax
je 0x44e2e0
push esi
call fcn.00451710
add esp, 4
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f1da
cmp byte [esi + 0x1c], al
je 0x44e226
mov ecx, 1
mov word [edi + 0x18], cx
jmp 0x44f93a
cmp byte [esi + 0x21], 0
je 0x44e24c
lea eax, [ebp - 0x29c]
push eax
push dword [ebp - 0x1a0]
call fcn.00425720
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x1e4], eax
jmp 0x44e264
lea eax, [ebp - 0x1e4]
push eax
push dword [ebp - 0x1a0]
call fcn.00424c20
mov eax, dword [ebp - 0x1e4]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x1e4]
add esp, 8
cmp eax, 0x20
ja 0x44e283
mov eax, 0x210
mov word [edi + 0x18], ax
lea eax, [edi + 0x20]
jmp 0x44e2a6
push 1
push eax
call fcn.0044a450
add esp, 8
test eax, eax
je 0x44fc28
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 0x44e2cf
call fcn.004256b0
add esp, 0x10
mov byte [edi + 0x1b], 1
jmp case.0x44b210.13
call fcn.00424bc0
add esp, 0x10
mov byte [edi + 0x1b], 1
jmp case.0x44b210.13
cmp byte [esi + 0x1e], 0
je 0x44e304
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.0x44b210.13
mov eax, 1
mov word [edi + 0x18], ax
mov byte [edi + 0x1b], al
jmp case.0x44b210.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.00451710
add esp, 4
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f1da
add edi, 0x40
mov dword [ebp - 0x184], edi
mov dword [ebp - 0x180], edi
cmp byte [esi + 0x19], al
je 0x44e381
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.0x44b210.13
cmp byte [esi + 0x1e], 0
je 0x44e3b2
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.0x44b210.13
cmp byte [esi + 0x1c], 0
jne 0x44e3f3
mov eax, dword [esi]
test eax, eax
je 0x44e3ed
lea ecx, [ebp - 0x210]
push ecx
push eax
call fcn.00425720
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.0x44b210.13
mov eax, dword [ebp - 0x170]
mov ecx, 1
mov word [edi + 0x18], cx
jmp 0x44f93a
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.0x44b210.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 0x44e496
lea ecx, [ebp - 0x24c]
push ecx
push eax
call fcn.00425780
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.0x44b210.13
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4 + 8]
test eax, eax
jle case.0x44b210.13
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44b210.13
mov byte [esi + 0x1c], 0
jmp case.0x44b210.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 0x44e4f7
lea ecx, [ebp - 0x1f4]
push ecx
push eax
call fcn.004250e0
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 0x44e502
mov eax, 1
mov dword [ebp - 0x1f4], eax
mov byte [esi + 0x1c], al
cmp dword [ebp - 0x1f4], 0
je case.0x44b210.13
mov eax, dword [ebp - 0x17c]
mov eax, dword [edx + eax*4 + 8]
test eax, eax
jle case.0x44b210.13
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44b210.13
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x98], 0
jne 0x44fbce
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 0x44e5d2
cmp byte [esi + 0x1c], 0
je 0x44e57c
mov dword [ebp - 0x200], 1
mov byte [esi + 0x19], 0
jmp case.0x44b210.13
lea ecx, [ebp - 0x200]
push ecx
push eax
cmp dl, 0x6d
jne 0x44e590
call fcn.00425ab0
jmp 0x44e595
call fcn.00425eb0
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 0x44e5d6
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.0x44b210.13
mov byte [esi + 0x1c], 1
mov byte [esi + 0x19], 0
jmp case.0x44b210.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 0x44d7be
mov eax, dword [edi + 0x14]
push 0
push 0x50e708
cdq
push edx
push eax
push dword [edi + 0x10]
push ecx
call fcn.00425240
add esp, 0x18
mov dword [ebp - 0x170], eax
mov dword [esi + 0x68], 0
jmp 0x44d7be
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 0x44d7be
lea eax, [ebp - 0x238]
push eax
mov eax, dword [edi + 0x14]
cdq
push edx
push eax
push dword [edi + 0x10]
push esi
call fcn.00425800
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0x170], ecx
test ecx, ecx
jne 0x44e68c
cmp dword [ebp - 0x238], eax
jne 0x44e68c
push esi
call fcn.00424c80
add esp, 4
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x1a4]
mov dword [eax + 0x68], 0
jmp 0x44d7be
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.0x44b210.13
cmp byte [eax + 0x1c], 0
je 0x44e6e5
mov word [edi + 0x18], si
jmp case.0x44b210.13
lea eax, [ebp - 0x274]
push eax
push ecx
call fcn.00451cd0
add esp, 8
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x44f1da
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.0x44b210.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 0x44d7be
test byte [edi + 0x18], 0x12
jne 0x44e760
movzx eax, byte [ebp - 0x1ac]
push eax
push edi
call fcn.00453db0
add esp, 8
test eax, eax
jne 0x44fc28
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.00451c20
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 0x44f93a
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x174]
mov al, byte [edx + ecx*4]
cmp al, 0x26
jne 0x44e7c6
mov eax, dword [ebp - 0x1e8]
neg eax
jmp 0x44e7d1
cmp al, 0x3f
mov eax, dword [ebp - 0x1e8]
jne 0x44e7d7
inc eax
mov dword [ebp - 0x1e8], eax
test eax, eax
jle 0x44d7be
mov eax, dword [edx + ecx*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp 0x44d7be
mov edx, dword [ebp - 0x188]
xor ecx, ecx
mov eax, dword [edx + 0x50]
test eax, eax
je 0x44e835
mov edi, edi
cmp dword [eax + 0x50], 0xbdf20da3
jne 0x44e819
cmp byte [eax + 0x23a], 2
jae 0x44e819
cmp dword [eax + 0x7c], 0
jl 0x44e819
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x44e800
cmp ecx, 1
jle 0x44e835
mov eax, 6
mov dword [ebp - 0x170], eax
jmp 0x44f93a
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.00424ed0
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 0x44f93a
mov eax, dword [ebp - 0x220]
test eax, eax
je case.0x44b210.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.004293b0
add esp, 0xc
jmp case.0x44b210.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.00424530
add esp, 8
mov dword [ebp - 0x170], eax
jmp 0x44f93a
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.00424880
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 0x44e218
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.0x44b210.13
mov eax, dword [ebp - 0x174]
cmp dword [eax + esi*4 + 8], 0
mov edx, dword [eax + esi*4 + 4]
jne 0x44e99f
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.0x44b210.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.00441710
mov esi, eax
add esp, 0x10
test esi, esi
je 0x44fc28
push dword [ebp - 0x188]
call fcn.0044a670
mov eax, dword [ebp - 0x188]
push 0
lea ecx, [ebp - 0x294]
push ecx
push fcn.00440b50
push esi
push eax
mov byte [eax + 0x44], 1
call fcn.00437e20
cmp eax, 4
cmove eax, dword [ebp - 0x288]
push esi
mov dword [ebp - 0x170], eax
call fcn.0044a050
mov eax, dword [ebp - 0x188]
push eax
mov byte [eax + 0x44], 0
call fcn.0044a6b0
mov eax, dword [ebp - 0x170]
add esp, 0x20
cmp eax, 7
jne 0x44f93a
call fcn.00449f00
jmp 0x44fc28
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 4]
push dword [ebp - 0x188]
call fcn.0041f620
add esp, 8
jmp case.0x44b210.13
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 0xc]
push dword [eax + esi*4 + 4]
push dword [ebp - 0x188]
call fcn.00429bb0
add esp, 0xc
jmp case.0x44b210.13
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 0xc]
push dword [eax + esi*4 + 4]
push dword [ebp - 0x188]
call fcn.00429b10
add esp, 0xc
jmp case.0x44b210.13
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 0xc]
push dword [eax + esi*4 + 4]
push dword [ebp - 0x188]
call fcn.00448230
add esp, 0xc
jmp case.0x44b210.13
mov eax, dword [ebp - 0x178]
xor esi, esi
mov edx, dword [eax + 0x28]
cmp edi, edx
jb 0x44eb14
mov ecx, edi
test byte [ecx + 0x18], 4
je 0x44eb14
inc esi
mov eax, esi
shl eax, 6
mov ecx, edi
sub ecx, eax
cmp ecx, edx
jae 0x44eb00
lea eax, [esi*4 + 4]
push 1
push eax
call fcn.0044a450
mov edx, eax
add esp, 8
mov dword [ebp - 0x190], edx
test edx, edx
je 0x44fc28
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 0x44eb6d
mov edi, edi
mov eax, dword [edi]
mov dword [edx + ecx*4], eax
inc ecx
lea edi, [edi - 0x40]
cmp ecx, esi
jl 0x44eb60
lea eax, [ebp - 0x180]
push esi
push eax
mov dword [edx + ecx*4], 0
call fcn.0044b000
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.004253f0
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 0x44ec05
mov eax, 1
mov word [edi + 0x18], ax
jmp 0x44ec2c
mov dword [edi + 0x10], ecx
lea edx, [ecx + 1]
jmp 0x44ec10
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44ec10
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.00453600
push esi
call fcn.0044a050
add esp, 0xc
jmp case.0x44b210.13
push edi
call fcn.00453930
push dword [edi + 4]
mov eax, dword [ebp - 0x178]
push dword [edi]
add eax, 0x64
push eax
call fcn.00453090
add esp, 0x10
sub edi, 0x40
mov dword [ebp - 0x180], edi
jmp 0x44f92e
mov eax, dword [ebp - 0x188]
cmp dword [eax + 0x98], 0
jne 0x44fbce
lea eax, [ebp - 0x264]
push eax
mov eax, dword [ebp - 0x178]
add eax, 0x64
push eax
call fcn.00453030
add esp, 8
cmp eax, 0x65
jne 0x44ecbe
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44b210.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.0x44b210.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 0x44ed34
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.0044a600
add esp, 8
cmp dword [esi], 0
je 0x44fc28
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.00453010
add esp, 4
jmp case.0x44b210.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.00452fe0
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.0x44b210.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.004539e0
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.0x44b210.13
jmp 0x44ee30
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.00453d60
add esp, 0xc
jmp case.0x44b210.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.00453930
push edi
call fcn.00453930
mov ecx, dword [edi + 4]
mov eax, dword [edi]
add esp, 8
cmp dword [esi + 4], ecx
jg case.0x44b210.13
jl 0x44eea0
cmp dword [esi], eax
jae case.0x44b210.13
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp case.0x44b210.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.0x44b210.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.0x44b210.13
jg 0x44eefc
cmp dword [eax + ecx], 0
jbe case.0x44b210.13
mov eax, dword [edx + esi*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44b210.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.0x44b210.13
jl 0x44eefc
cmp dword [eax + ecx], 0
jae case.0x44b210.13
mov eax, dword [edx + esi*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44b210.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.0x44b210.13
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi*4 + 8]
dec eax
mov dword [ebp - 0x194], eax
jmp case.0x44b210.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.00453c20
add esp, 4
jmp case.0x44b210.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.00453bf0
add esp, 0xc
jmp case.0x44b210.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.004539e0
add esp, 8
mov dword [ebp - 0x170], eax
jmp 0x44f93a
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 0x44f04a
push edi
mov dword [ecx + edx*4], edi
call fcn.0044ae80
mov ecx, dword [ebp - 0x190]
inc edx
add esp, 4
add edi, 0x40
cmp edx, esi
jl 0x44f030
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 0x44f0c6
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.0044b000
add esp, 0x14
cmp byte [ebp - 0xe0], 0
je 0x44f11d
lea eax, [ebp - 0x124]
push 0
push eax
call fcn.00450cb0
add esp, 4
push eax
mov eax, dword [ebp - 0x178]
add eax, 0x230
push eax
call fcn.0044a6f0
add esp, 0xc
mov dword [ebp - 0x170], 1
lea eax, [ebp - 0x124]
push eax
call fcn.00453b40
add esp, 4
jmp 0x44f928
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.004537b0
add esp, 8
mov dword [ebp - 0x170], eax
cmp eax, 1
jne 0x44f93a
push 0
push esi
call fcn.00450cb0
add esp, 4
push eax
mov eax, dword [ebp - 0x178]
add eax, 0x230
push eax
call fcn.0044a6f0
add esp, 0xc
jmp case.0x44b210.13
mov esi, dword [ebp - 0x188]
push esi
call fcn.0044a670
add esp, 4
test eax, eax
jne 0x44f1ca
mov eax, dword [ebp - 0x178]
add eax, 0x230
push esi
push eax
call fcn.0044ab30
push esi
mov dword [ebp - 0x170], eax
call fcn.0044a6b0
add esp, 0xc
test eax, eax
je case.0x44b210.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 0x44fc19
call fcn.0044a430
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.00438840
add esp, 4
push eax
push esi
call fcn.0044a6f0
mov ecx, dword [ebp - 0x178]
jmp 0x44fc10
mov eax, dword [ebp - 0x174]
cmp dword [eax + esi*4 + 4], 0
jne 0x44f24b
push dword [ebp - 0x188]
call fcn.00451370
add esp, 4
jmp case.0x44b210.13
mov eax, dword [ebp - 0x178]
mov byte [eax + 0x238], 1
jmp case.0x44b210.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 0x44f27d
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.004257c0
add esp, 0xc
mov dword [ebp - 0x170], eax
cmp eax, 6
jne 0x44f93a
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.0044a6f0
add esp, 0x10
jmp case.0x44b210.13
mov eax, dword [ebp - 0x174]
push dword [eax + esi*4 + 0xc]
push dword [ebp - 0x188]
call fcn.00454100
add esp, 8
mov dword [ebp - 0x170], eax
jmp 0x44f93a
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.004542f0
add esp, 0x10
mov dword [ebp - 0x170], eax
jmp 0x44f93a
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.00454370
mov ecx, dword [ebp - 0x178]
add esp, 0xc
mov dword [ebp - 0x170], eax
mov byte [ecx + 0x23a], 0
jmp 0x44f93a
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.0044a670
add esp, 4
test eax, eax
jne 0x44f1ca
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.0044a6b0
add esp, 0xc
test eax, eax
jne 0x44f1ca
mov eax, dword [ebp - 0x170]
test eax, eax
jne 0x44f93a
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.0044aec0
add esp, 0xc
test eax, eax
je 0x44f425
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.0x44b210.13
mov eax, dword [ebp - 0x190]
push dword [ebp - 0x1f0]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
jmp case.0x44b210.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 0x44f4b7
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.0044ae80
mov ecx, dword [ebp - 0x190]
inc esi
add esp, 4
add edx, 0x40
cmp esi, edi
jl 0x44f497
mov edi, dword [ebp - 0x184]
push dword [ebp - 0x188]
call fcn.0044a670
add esp, 4
test eax, eax
jne 0x44f1ca
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 0x44f544
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.0044a6b0
add esp, 4
test eax, eax
jne 0x44f1ca
cmp dword [ebp - 0x19c], eax
je 0x44f579
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 0x44f919
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 0x44f5bd
push 0
push str.Unsupported_module_operation:_xRowid
lea eax, [edx + 0x230]
jmp 0x44cfeb
push dword [ebp - 0x188]
call fcn.0044a670
add esp, 4
test eax, eax
jne 0x44f1ca
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.0044a6b0
add esp, 0xc
test eax, eax
jne 0x44f1ca
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 0x44f92e
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 0x44f667
push 0
push str.Unsupported_module_operation:_xColumn
lea eax, [edx + 0x230]
jmp 0x44cfeb
push 0x58
lea eax, [ebp - 0x7c]
push 0
push eax
call fcn.004e0ad0
push dword [ebp - 0x188]
mov eax, 1
mov word [ebp - 0x5c], ax
call fcn.0044a670
add esp, 0x10
test eax, eax
jne 0x44f1ca
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.00453600
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.004539e0
push dword [ebp - 0x188]
call fcn.0044a6b0
add esp, 0x20
test eax, eax
jne 0x44f1ca
jmp case.0x44b210.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 0x44f74b
push 0
push str.Unsupported_module_operation:_xNext
lea eax, [edx + 0x230]
jmp 0x44cfeb
push dword [ebp - 0x188]
call fcn.0044a670
add esp, 4
test eax, eax
jne 0x44f1ca
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 0x44f7ab
mov eax, dword [ebp - 0x190]
push dword [esi + 0x60]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov esi, eax
jmp 0x44f7b1
mov esi, dword [ebp - 0x1a4]
push dword [ebp - 0x188]
call fcn.0044a6b0
add esp, 4
test eax, eax
jne 0x44f1ca
test esi, esi
jne case.0x44b210.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.0x44b210.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 0x44f83d
push 0
add eax, 0x230
push str.read_only_table
push eax
call fcn.0044a6f0
add esp, 0xc
mov dword [ebp - 0x170], 1
jmp 0x44f913
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 0x44f881
mov edi, dword [ebp - 0x18c]
mov edi, edi
push edx
call fcn.0044ae80
mov eax, dword [ebp - 0x190]
inc esi
mov dword [eax + esi*4 - 4], edx
add esp, 4
add edx, 0x40
cmp esi, edi
jl 0x44f860
mov edi, dword [ebp - 0x184]
push dword [ebp - 0x188]
call fcn.0044a670
add esp, 4
test eax, eax
jne 0x44f1ca
mov esi, dword [ebp - 0x1a4]
push esi
call fcn.00454600
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.004547d0
mov esi, dword [ebp - 0x188]
push esi
call fcn.0044a6b0
add esp, 0x1c
test eax, eax
jne 0x44f1ca
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x174]
cmp dword [ecx + eax*4 + 4], 0
je 0x44f913
cmp dword [ebp - 0x170], 0
jne 0x44f913
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.0044b000
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 0x44b138
jmp 0x44fc48
mov dword [ebp - 0x170], 0x14
mov eax, 0x14
jmp 0x44f1da
cmp dword [edx + esi*4 + 8], 0
je 0x44f990
mov esi, dword [ebp - 0x188]
push esi
call fcn.00438a20
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.004df4f4
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.004519c0
add esp, 4
cmp eax, 5
jne 0x44f97b
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.004df4f4
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.004df4f4
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.004df4f4
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x170], 0xd
mov eax, 0xd
jmp 0x44f1da
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 0x44faba
push 0
push eax
lea eax, [edi + 0x230]
push eax
call fcn.0044a6f0
add esp, 0xc
push edi
call fcn.004519c0
add esp, 4
cmp eax, 5
jne 0x44fade
mov dword [edi + 0x80], eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004df4f4
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.004df4f4
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 0x44fb5f
mov eax, 0x100
jmp 0x44fb30
test word [esi + 0x18], ax
je 0x44fb52
push esi
call fcn.00453960
add esp, 4
test eax, eax
jne 0x44fc28
mov ecx, dword [ebp - 0x208]
mov eax, 0x100
add esi, 0x40
cmp esi, ecx
jb 0x44fb30
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 0x44fb8c
nop
push esi
call fcn.00453a50
push esi
call fcn.0044ae80
add esi, 0x40
add esp, 8
cmp esi, edi
jbe 0x44fb70
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.004df4f4
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.00438840
add esp, 4
push eax
lea eax, [esi + 0x230]
push eax
call fcn.0044a6f0
mov ecx, esi
mov eax, dword [ebp - 0x170]
add esp, 0xc
test eax, eax
jne 0x44fc4e
lea esi, [eax + 0x65]
jmp 0x44fc59
mov edi, dword [ebp - 0x184]
mov eax, dword [ebp - 0x178]
push 0
add eax, 0x230
push 0x50f7ac
push eax
call fcn.0044a6f0
add esp, 0xc
mov eax, 7
mov ecx, dword [ebp - 0x178]
mov dword [ecx + 0x80], eax
mov esi, 1
push ecx
call fcn.004519c0
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.004df4f4
mov esp, ebp
pop ebp
ret