Function at 0x425599
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x204
mov eax, dword [0x49b008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xorps xmm0, xmm0
mov dword [ebp - 0x18c], edi
movlpd qword [ebp - 0x40], xmm0
mov eax, dword [edi + 0x68]
mov ebx, eax
mov edx, dword [edi]
mov dword [ebp - 0x194], eax
xor eax, eax
mov esi, eax
mov byte [ebp - 0x1e1], al
mov dword [ebp - 0x1d8], eax
mov eax, dword [edi + 0x58]
mov ch, byte [edx + 0x54]
mov dword [ebp - 0x1a4], eax
xor eax, eax
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x19c], edx
mov byte [ebp - 0x198], ch
cmp dword [edi + 0xa0], eax
je 0x425619
mov ecx, edi
call fcn.00420d61
mov edx, dword [ebp - 0x19c]
xor eax, eax
mov ch, byte [ebp - 0x198]
cmp dword [edx + 0x174], eax
je 0x425651
mov eax, dword [edx + 0x17c]
xor edx, edx
mov dword [ebp - 0x1dc], eax
mov eax, dword [edi + 0xb4]
div dword [ebp - 0x1dc]
sub dword [ebp - 0x1dc], edx
xor eax, eax
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0x1e8], eax
jmp 0x42565f
or dword [ebp - 0x1dc], 0xffffffff
or dword [ebp - 0x1e8], 0xffffffff
cmp dword [edi + 0x24], 7
mov dword [ebp - 0x1a0], 1
mov dword [ebp - 0x1d4], 0x14
mov dword [ebp - 0x1b8], 2
je 0x42b5b0
mov dword [edi + 0x24], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edx + 0x1c8], eax
cmp dword [edx + 0x128], eax
jne 0x42b599
imul ebx, dword [edi + 0x20], 0x14
xorps xmm0, xmm0
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x1f0], edx
mov edx, dword [ebp - 0x40]
add ebx, eax
movsd qword [ebp - 0x200], xmm0
mov cl, byte [ebx]
add edx, 1
mov dword [ebp - 0x1ec], edx
push 0
pop edx
adc dword [ebp - 0x1f0], edx
movzx edx, cl
mov dword [ebp - 0x14], ebx
mov byte [ebp - 0x1ad], cl
mov dword [ebp - 0x1a8], edx
cmp edx, 0xb5
ja case.0x4256f7.89
jmp dword [edx*4 + 0x42b6e9]
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0x1a4]
mov word [ecx + 0x10], ax
mov eax, ebx
sub eax, dword [ebp - 0x194]
cdq
idiv dword [ebp - 0x1d4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4256f7.9
imul eax, dword [ebx + 4], 0x28
push 4
pop edx
add eax, dword [ebp - 0x1a4]
test byte [eax + 0x10], dl
je 0x425b1c
imul ebx, dword [eax], 0x14
mov eax, dword [ebp - 0x194]
add ebx, eax
jmp case.0x4256f7.89
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
push 4
add ecx, dword [ebp - 0x1a4]
dec eax
cdq
mov dword [ecx], eax
pop eax
mov word [ecx + 0x10], ax
xor eax, eax
mov dword [ecx + 4], edx
cmp dword [ebx + 8], eax
jne 0x426439
jmp 0x42b0ca
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x194]
add ecx, dword [ebp - 0x1a4]
lea ebx, [edx - 0x14]
imul eax, dword [ecx], 0x14
imul eax, dword [eax + edx + 8], 0x14
add ebx, eax
xor eax, eax
mov word [ecx + 0x10], ax
jmp 0x42b0ca
imul esi, dword [ebx + 4], 0x28
sub ebx, eax
mov eax, ebx
cdq
idiv dword [ebp - 0x1d4]
add esi, dword [ebp - 0x1a4]
push 4
pop ecx
cdq
mov word [esi + 0x10], cx
mov ecx, dword [esi]
imul ebx, ecx, 0x14
mov dword [esi], eax
mov eax, dword [ebp - 0x194]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x190]
add ebx, eax
jmp 0x42b0d0
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x1a0]
test byte [eax + ecx + 0x10], dl
je 0x42b0ca
mov edx, dword [edi + 0xd0]
test edx, edx
je 0x42b0e7
xor eax, eax
cmp dword [ebx + 4], eax
jne 0x42b0e7
mov eax, dword [edx + 4]
mov ecx, dword [edi + 0x2c]
dec dword [edi + 0xd8]
mov dword [edi + 0xd0], eax
mov eax, dword [edi + 0x28]
mov edi, dword [ebp - 0x19c]
add dword [edi + 0x70], eax
mov dword [edi + 0x68], eax
mov eax, edi
mov dword [edi + 0x6c], ecx
adc dword [eax + 0x74], ecx
mov ecx, edx
call fcn.0042159c
mov edi, dword [ebp - 0x18c]
push 4
pop ecx
mov edx, dword [edi + 0x68]
mov dword [ebp - 0x194], edx
cmp dword [ebx + 8], ecx
jne 0x42585e
imul eax, eax, 0x14
mov eax, dword [eax + edx + 8]
dec eax
mov ecx, dword [edi + 0x58]
imul ebx, eax, 0x14
mov dword [ebp - 0x1a4], ecx
add ebx, edx
jmp 0x42b0ca
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x42b0ca
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x42b0ca
mov edx, ebx
mov ecx, edi
call fcn.004254fa
push 8
pop ecx
mov word [eax + 0x10], cx
mov ecx, dword [ebx + 0x10]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
jmp 0x42b0ca
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov edx, dword [ebx + 0x10]
mov edi, eax
test edx, edx
jne 0x4258dd
xor eax, eax
mov ecx, eax
jmp 0x4258f7
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x1c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4258e5
sub ecx, dword [ebp - 0x1c]
and ecx, 0x3fffffff
xor eax, eax
cmp byte [ebp - 0x198], 1
mov dword [ebx + 4], ecx
je 0x425972
push eax
push dword [ebp - 0x1a0]
mov ecx, edi
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0041f879
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x190], esi
test esi, esi
jne 0x42b2e1
movzx edx, byte [ebp - 0x198]
mov ecx, edi
call fcn.0041ee6a
test eax, eax
jne 0x425ad1
mov dword [edi + 0x18], eax
mov eax, 0x2000
or word [edi + 0x10], ax
cmp byte [ebx + 1], 0xfa
jne 0x425962
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x425962
mov ecx, dword [ebp - 0x19c]
call fcn.004052f2
mov byte [ebx + 1], 0xfa
mov eax, dword [edi + 8]
mov dword [ebx + 0x10], eax
mov ecx, dword [edi + 0xc]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x19c]
mov edi, dword [ebp - 0x18c]
cmp ecx, dword [eax + 0x78]
jg 0x42b2e7
mov byte [ebx], 0x49
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov edi, eax
mov eax, 0x2202
mov word [edi + 0x10], ax
mov ecx, dword [ebx + 0x10]
mov al, byte [ebp - 0x198]
mov dword [edi + 8], ecx
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov byte [edi + 0x12], al
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x425a7e
mov esi, dword [ebp - 0x1a4]
imul ecx, eax, 0x28
movzx eax, word [ebx + 2]
cdq
cmp dword [ecx + esi], eax
mov esi, dword [ebp - 0x190]
jne 0x425a7e
mov eax, dword [ebp - 0x1a4]
cmp dword [ecx + eax + 4], edx
jne 0x425a7e
mov eax, 0x2210
mov word [edi + 0x10], ax
mov edi, dword [ebp - 0x18c]
jmp 0x42b0ca
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov ecx, dword [ebx + 0xc]
mov edi, 0x101
cmp dword [ebx + 4], 0
mov edx, dword [ebx + 8]
mov dword [ebp - 0x1a8], ecx
mov ecx, dword [ebp - 0x1a0]
cmovne ecx, edi
and dword [eax + 0xc], 0
lea edi, [eax + 0x10]
movzx ecx, cx
mov eax, dword [ebp - 0x1a8]
sub eax, edx
mov dword [ebp - 0x1c], ecx
mov word [edi], cx
mov dword [ebp - 0x1a8], eax
test eax, eax
jle 0x425a7e
xor edx, edx
mov ebx, 0x9000
lea edi, [edi + 0x28]
test word [edi], bx
je 0x425a6a
lea ecx, [edi - 0x10]
call fcn.0041f198
mov eax, dword [ebp - 0x1a8]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
dec eax
mov word [edi], cx
mov dword [edi - 4], edx
mov dword [ebp - 0x1a8], eax
test eax, eax
jg 0x425a4f
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x190]
jmp 0x4259f4
imul ecx, dword [ebx + 4], 0x28
mov edx, 0xffc1
add ecx, dword [ebp - 0x1a4]
mov ax, word [ecx + 0x10]
and ax, dx
or ax, word [ebp - 0x1a0]
jmp 0x425799
mov edx, ebx
mov ecx, edi
call fcn.004254fa
cmp dword [ebx + 0x10], 0
mov edi, eax
mov ecx, edi
jne 0x425af8
mov edx, dword [ebx + 4]
call fcn.0041f61c
mov ecx, edi
call fcn.0041f019
test eax, eax
je 0x425b0d
mov edi, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x19c]
mov ecx, eax
call fcn.0040589f
push str.out_of_memory
push edi
call fcn.0042009b
pop ecx
pop ecx
push 7
jmp 0x42b401
xor eax, eax
push eax
push eax
mov eax, dword [ebx + 4]
cdq
push edx
mov edx, dword [ebx + 0x10]
push eax
call fcn.0041f879
add esp, 0x10
mov ch, byte [ebp - 0x198]
mov byte [edi + 0x12], ch
mov edi, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x194]
jmp case.0x4256f7.89
imul ecx, dword [ebx + 4], 0x28
mov esi, dword [edi + 0x64]
add ecx, 0xffffffd8
add esi, ecx
mov ecx, esi
call fcn.0041f751
test eax, eax
jne 0x42b2e7
imul edx, dword [ebx + 8], 0x28
mov eax, 0x9000
add edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1c], edx
test word [edx + 0x10], ax
je 0x425b64
mov ecx, edx
call fcn.0041f198
mov edx, dword [ebp - 0x1c]
push 5
pop eax
mov ecx, eax
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ax, word [edx + 0x10]
mov ecx, 0xafff
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [edx + 0x10], ax
jmp 0x425a7e
mov eax, dword [ebx + 0xc]
imul edi, dword [ebx + 8], 0x28
mov dword [ebp - 0x1cc], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x1a4]
add edi, dword [ebp - 0x1a4]
mov dword [ebp - 0x24], eax
mov edx, eax
mov ecx, edi
call fcn.0041f857
mov eax, 0x4000
test word [edi + 0x10], ax
je 0x425bcd
mov ecx, edi
call fcn.0041efd3
test eax, eax
jne 0x425ad1
mov eax, dword [ebp - 0x24]
add edi, 0x28
add eax, 0x28
sub dword [ebp - 0x1cc], 1
mov dword [ebp - 0x24], eax
jne 0x425baa
jmp 0x4259f4
imul edi, dword [ebx + 4], 0x28
imul esi, dword [ebx + 8], 0x28
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x24], eax
add edi, dword [ebp - 0x1a4]
add esi, dword [ebp - 0x1a4]
mov eax, 0x4000
mov edx, edi
push eax
mov ecx, esi
call fcn.0041f795
mov eax, 0x4000
pop ecx
test word [esi + 0x10], ax
je 0x425c2b
mov ecx, esi
call fcn.0041efd3
test eax, eax
jne 0x425ad1
movzx eax, word [esi + 0x10]
test eax, 0x800
je 0x425c4c
mov ecx, dword [ebp - 0x1b8]
test byte [ebx + 2], cl
je 0x425c4c
mov ecx, 0xf7ff
and eax, ecx
mov word [esi + 0x10], ax
mov ecx, dword [ebp - 0x24]
mov eax, ecx
dec ecx
mov dword [ebp - 0x24], ecx
test eax, eax
je 0x425a7e
add esi, 0x28
add edi, 0x28
jmp 0x425c01
imul edx, dword [ebx + 4], 0x28
mov eax, 0x4000
imul ecx, dword [ebx + 8], 0x28
push eax
add edx, dword [ebp - 0x1a4]
add ecx, dword [ebp - 0x1a4]
call fcn.0041f795
pop ecx
jmp 0x42b0ca
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
mov edx, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x1a4]
add ecx, edx
mov edx, dword [eax + edx]
mov eax, dword [eax + edi + 4]
mov edi, 0x9000
test word [ecx + 0x10], di
mov edi, dword [ebp - 0x18c]
je 0x425cc2
push eax
push edx
call fcn.0041f64a
pop ecx
jmp 0x425c84
mov dword [ecx], edx
mov dword [ecx + 4], eax
push 4
pop eax
jmp 0x425799
xor edx, edx
mov ecx, edi
call fcn.00421d22
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov esi, dword [ebp - 0x190]
jmp 0x42b0ca
imul edx, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x1a4]
imul ecx, dword [ebx + 8], 0x28
imul edi, dword [ebx + 0xc], 0x28
add edx, eax
mov dword [ebp - 0x1a8], edx
add ecx, eax
add edi, eax
mov dword [ebp - 0x14], ecx
movzx eax, word [edx + 0x10]
mov dword [ebp - 0x1ac], eax
mov al, byte [ecx + 0x10]
or al, byte [ebp - 0x1ac]
test al, 1
je 0x425d4d
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x425d42
mov ecx, edi
call fcn.0041f198
jmp 0x4259f4
mov eax, dword [ebp - 0x1a0]
jmp 0x4259f0
mov eax, dword [ebp - 0x1ac]
test al, 0x12
jne 0x425d91
mov dl, byte [ebp - 0x198]
xor eax, eax
mov ecx, dword [ebp - 0x1a8]
push eax
call fcn.0041f064
pop ecx
test eax, eax
jne 0x425ad1
mov eax, dword [ebp - 0x1a8]
mov ecx, 0xfffd
mov ax, word [eax + 0x10]
and ax, cx
movzx edx, ax
mov dword [ebp - 0x1ac], edx
jmp 0x425dc2
test eax, 0x400
je 0x425dc5
mov ecx, edx
call fcn.0041f019
test eax, eax
jne 0x425ad1
mov eax, dword [ebp - 0x1a8]
mov ecx, 0xfffd
mov ax, word [eax + 0x10]
and ax, cx
movzx eax, ax
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x14]
movzx eax, word [ecx + 0x10]
mov dword [ebp - 0x24], eax
test al, 0x12
jne 0x425de1
mov dl, byte [ebp - 0x198]
xor eax, eax
push eax
call fcn.0041f064
pop ecx
jmp 0x425dec
bt eax, 0xa
jae 0x425e09
call fcn.0041f019
test eax, eax
jne 0x425ad1
mov ecx, dword [ebp - 0x14]
mov ax, word [ecx + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
add eax, ecx
mov dword [ebp - 0x1c], eax
cdq
mov ecx, eax
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1b4], ecx
mov eax, dword [eax + 0x78]
cdq
cmp dword [ebp - 0x1cc], edx
jg 0x42b2e1
jl 0x425e4c
cmp ecx, eax
ja 0x42b2e1
mov edx, dword [ebp - 0x1c]
xor eax, eax
cmp edi, dword [ebp - 0x14]
mov ecx, edi
sete al
add edx, 2
push eax
call fcn.0041ee83
pop ecx
test eax, eax
jne 0x425ad1
mov ax, word [edi + 0x10]
mov ecx, 0xf242
and ax, cx
or ax, word [ebp - 0x1b8]
mov word [edi + 0x10], ax
mov eax, dword [ebp - 0x14]
cmp edi, eax
je 0x425ea4
push dword [eax + 0xc]
push dword [eax + 8]
push dword [edi + 8]
call fcn.00476870
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov ecx, dword [ebp - 0x24]
mov word [eax + 0x10], cx
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x14]
push dword [eax + 0xc]
push dword [eax + 8]
mov eax, dword [edi + 8]
add eax, dword [ecx + 0xc]
push eax
call fcn.00476870
mov eax, dword [ebp - 0x1a8]
add esp, 0xc
mov ecx, dword [ebp - 0x1ac]
mov word [eax + 0x10], cx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x1b4]
cmp byte [ebp - 0x198], al
jbe 0x425ef2
mov eax, dword [ebp - 0x1cc]
and ecx, 0xfffffffe
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 8]
xor edx, edx
mov byte [ecx + eax], dl
mov eax, dword [edi + 8]
mov byte [ecx + eax + 1], dl
mov eax, 0x200
or word [edi + 0x10], ax
mov dword [edi + 0xc], ecx
jmp 0x425b0d
imul eax, dword [ebx + 4], 0x28
mov edi, dword [ebp - 0x1a4]
add eax, edi
mov dword [ebp - 0x1a8], eax
movzx edx, word [eax + 0x10]
imul eax, dword [ebx + 8], 0x28
add eax, edi
mov dword [ebp - 0x1ac], eax
movzx ecx, word [eax + 0x10]
imul eax, dword [ebx + 0xc], 0x28
add eax, edi
mov dword [ebp - 0x1cc], eax
mov al, cl
and al, dl
test al, 4
jne 0x425f87
or cl, dl
mov edx, dword [ebp - 0x1a0]
test dl, cl
jne 0x4261b1
mov edi, dword [ebp - 0x1a8]
mov ecx, edi
call fcn.004254d5
mov ecx, dword [ebp - 0x1ac]
movzx ebx, ax
call fcn.004254d5
push 4
and al, bl
mov ebx, dword [ebp - 0x14]
pop ecx
test cl, al
je 0x4260e0
mov eax, dword [ebp - 0x1a8]
mov edx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x34], eax
movzx eax, byte [ebx]
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x38], ecx
sub eax, 0x6a
je 0x42604d
sub eax, 1
je 0x426034
sub eax, 1
je 0x426028
sub eax, 1
mov eax, edx
je 0x425ff7
or eax, edi
je 0x4261ab
mov eax, edx
and eax, edi
cmp eax, 0xffffffff
jne 0x425fe4
mov edx, dword [ebp - 0x1a0]
xor eax, eax
mov edi, eax
push edi
push edx
push dword [ebp - 0x14]
push ecx
call fcn.00481560
mov dword [ebp - 0x38], eax
jmp 0x4261f5
or eax, edi
je 0x4261ab
mov eax, edx
and eax, edi
cmp eax, 0xffffffff
jne 0x42601b
xor eax, eax
cmp ecx, eax
jne 0x42601b
cmp dword [ebp - 0x14], 0x80000000
je 0x4260da
push edi
push edx
push dword [ebp - 0x14]
push ecx
call fcn.004812c0
jmp 0x425fef
push edi
push edx
lea ecx, [ebp - 0x38]
call fcn.0040961b
jmp 0x42603e
push edi
push edx
lea ecx, [ebp - 0x38]
call fcn.004095cd
pop ecx
pop ecx
test eax, eax
jne 0x4260da
jmp 0x4261f8
xor eax, eax
cmp edi, eax
jl 0x426091
jg 0x426059
cmp edx, eax
jb 0x426091
cmp dword [ebp - 0x14], eax
jl 0x4261eb
jg 0x42606c
cmp ecx, eax
jbe 0x4261eb
or eax, 0xffffffff
sub eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, 0x7fffffff
sbb eax, dword [ebp - 0x14]
cmp eax, edi
jg 0x4261eb
jl 0x4260da
cmp dword [ebp - 0x1c], edx
jae 0x4261eb
jmp 0x4260da
mov eax, dword [ebp - 0x14]
test eax, eax
jg 0x4261eb
jl 0x4260a6
test ecx, ecx
jae 0x4261eb
mov dword [ebp - 0x24], 1
sub dword [ebp - 0x24], ecx
mov ecx, 0x80000000
sbb ecx, eax
mov eax, edx
add eax, 1
mov dword [ebp - 0x1c], eax
mov eax, edi
adc eax, 0
cmp ecx, eax
jl 0x4261e5
jg 0x4260da
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x1c]
jbe 0x4261e5
mov edi, dword [ebp - 0x1a8]
mov ecx, edi
call fcn.0041f2de
mov ecx, dword [ebp - 0x1ac]
movsd qword [ebp - 0x20], xmm0
call fcn.0041f2de
movzx eax, byte [ebx]
sub eax, 0x6a
je 0x426184
sub eax, 1
je 0x42617d
sub eax, 1
je 0x426176
sub eax, 1
je 0x42615d
mov ecx, edi
call fcn.0041f278
mov ecx, dword [ebp - 0x1ac]
mov edi, eax
mov dword [ebp - 0x1c], edx
call fcn.0041f278
mov dword [ebp - 0x38], eax
mov ecx, edi
mov eax, dword [ebp - 0x1c]
or ecx, eax
mov dword [ebp - 0x34], edx
je 0x4261ab
mov ecx, edi
and ecx, eax
cmp ecx, 0xffffffff
jne 0x426149
mov edi, dword [ebp - 0x1a0]
xor eax, eax
push eax
push edi
push edx
push dword [ebp - 0x38]
call fcn.00481560
mov ecx, eax
call fcn.004828c0
jmp 0x426189
movsd xmm1, qword [ebp - 0x20]
ucomisd xmm1, qword [ebp - 0x200]
lahf
test ah, 0x44
jnp 0x4261ab
divsd xmm0, xmm1
jmp 0x426189
mulsd xmm0, qword [ebp - 0x20]
jmp 0x426189
subsd xmm0, qword [ebp - 0x20]
jmp 0x426189
addsd xmm0, qword [ebp - 0x20]
movsd qword [ebp - 0x20], xmm0
mov edi, 0x7ff00000
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
and eax, edi
cmp eax, edi
jne 0x4261d2
mov eax, dword [ebp - 0x20]
and ecx, 0xfffff
or eax, ecx
je 0x4261d2
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x1cc]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x4261c9
mov ecx, eax
jmp 0x425d38
mov word [eax + 0x10], dx
jmp 0x4259f4
mov edx, dword [ebp - 0x1cc]
mov ecx, 0xf248
push 8
movsd qword [edx], xmm0
jmp 0x426210
mov ecx, dword [ebp - 0x1b4]
add ecx, edx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x38], ecx
adc edx, edi
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
push 4
mov dword [edx + 4], ecx
mov ecx, 0xf244
mov dword [edx], eax
mov ax, word [edx + 0x10]
and ax, cx
pop ecx
or ax, cx
movzx eax, ax
mov word [edx + 0x10], ax
jmp 0x4259f4
mov eax, dword [ebx + 4]
test eax, eax
je 0x425b1c
imul eax, eax, 0x28
add eax, dword [ebp - 0x1a4]
mov edx, 0x9000
test word [eax + 0x10], dx
je 0x426251
xor ecx, ecx
push ecx
push ecx
mov ecx, eax
jmp 0x425cba
xor edx, edx
mov dword [eax], edx
push 4
mov dword [eax + 4], edx
pop edx
mov word [eax + 0x10], dx
jmp 0x425b1c
imul ecx, dword [ebx + 8], 0x28
imul edi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x1a4]
imul edx, dword [ebx + 0xc], 0x28
add ecx, eax
add edi, eax
add edx, eax
mov al, byte [ecx + 0x10]
or al, byte [edi + 0x10]
mov dword [ebp - 0x24], edx
test al, 1
je 0x42629f
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x4292b1
mov ecx, edx
jmp 0x425d38
call fcn.0041f278
mov ecx, edi
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x14], edx
call fcn.0041f278
mov cl, byte [ebx]
mov edi, eax
cmp cl, 0x66
jne 0x4262cf
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x14]
and ecx, edi
and eax, edx
jmp 0x4263b6
cmp cl, 0x67
jne 0x4262e6
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x14]
or ecx, edi
or eax, edx
jmp 0x4263b6
mov eax, edi
or eax, edx
je 0x4263ad
xor eax, eax
cmp edx, eax
jg 0x42633f
jl 0x4262fc
cmp edi, eax
jae 0x426317
mov al, 0xd1
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x42633d
jg 0x42630e
cmp edi, 0xffffffc0
jbe 0x42633d
neg edi
push 0
pop eax
adc edx, eax
neg edx
cmp edx, eax
jl 0x426322
jg 0x42633f
cmp edi, 0x40
jae 0x42633f
mov eax, dword [ebp - 0x1a8]
cmp cl, 0x68
mov edx, dword [ebp - 0x14]
mov ecx, edi
jne 0x42636a
call fcn.00481520
mov ecx, eax
mov eax, edx
jmp 0x4263b6
xor eax, eax
cmp dword [ebp - 0x14], eax
jg 0x42635a
jl 0x42634e
cmp dword [ebp - 0x1a8], eax
jae 0x42635a
cmp cl, 0x68
je 0x42635a
or ecx, 0xffffffff
or eax, ecx
jmp 0x4263b6
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
jmp 0x4263b6
call fcn.00481540
mov ecx, eax
mov eax, edx
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x14], edx
jg 0x4263b6
jl 0x42638d
cmp dword [ebp - 0x1a8], edx
jae 0x4263b6
push 0x40
pop ecx
sub ecx, edi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.00481520
mov ecx, dword [ebp - 0x1c]
or ecx, eax
mov eax, dword [ebp - 0x1c4]
jmp 0x4262df
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x24]
push 4
mov dword [edx + 4], eax
mov ax, word [edx + 0x10]
mov dword [edx], ecx
mov ecx, 0xf244
and ax, cx
pop ecx
or ax, cx
jmp 0x42621e
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x1a4]
mov ecx, esi
call fcn.0041f3a2
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x425ce8
imul edi, dword [ebx + 4], 0x28
push 4
pop edx
add edi, dword [ebp - 0x1a4]
movzx eax, word [edi + 0x10]
mov ecx, eax
test dl, al
jne 0x42644d
push dword [ebp - 0x198]
mov dl, 0x43
mov ecx, edi
call fcn.004253b1
movzx eax, word [edi + 0x10]
pop ecx
push 4
pop edx
mov ecx, eax
test dl, al
jne 0x42644d
xor eax, eax
cmp dword [ebx + 8], eax
je 0x42b1b6
mov edi, dword [ebp - 0x18c]
imul eax, dword [ebx + 8], 0x14
mov ecx, dword [ebp - 0x194]
lea ebx, [ecx - 0x14]
add ebx, eax
jmp 0x42b0ca
mov eax, 0xf244
and ecx, eax
push 4
pop eax
or ecx, eax
mov word [edi + 0x10], cx
jmp 0x4259f4
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x1a4]
test byte [ecx + 0x10], 0x24
je 0x42b0d0
call fcn.0041f3c7
jmp 0x42b0ca
imul esi, dword [ebx + 4], 0x28
mov eax, 0x400
add esi, dword [ebp - 0x1a4]
test word [esi + 0x10], ax
je 0x4264ac
mov ecx, esi
call fcn.0041f019
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
push dword [ebp - 0x198]
mov dl, byte [ebx + 8]
mov ecx, esi
call fcn.0041f51b
pop ecx
jmp 0x425cd8
imul eax, dword [ebx + 4], 0x28
imul edi, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1a4]
add edi, dword [ebp - 0x1a4]
mov dword [ebp - 0x1ac], eax
movzx eax, word [eax + 0x10]
movzx ecx, word [edi + 0x10]
mov dword [ebp - 0x14], eax
mov eax, ecx
and eax, dword [ebp - 0x14]
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x1c], eax
test al, 4
je 0x42657d
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [edi + 4]
cmp ecx, dword [eax + 4]
jl 0x426531
jg 0x426513
mov edi, dword [edi]
cmp edi, dword [eax]
jbe 0x426533
cmp byte [edx + 0x48b540], 0
jne 0x426433
mov ecx, dword [ebp - 0x1a0]
mov dword [ebp - 0x1d8], ecx
jmp 0x4259f4
mov edi, dword [edi]
cmp ecx, dword [eax + 4]
jg 0x42655d
jl 0x42653e
cmp edi, dword [eax]
jae 0x42655d
cmp byte [edx + 0x48b534], 0
mov edi, dword [ebp - 0x18c]
jne 0x426439
or dword [ebp - 0x1d8], 0xffffffff
jmp 0x42b0ca
cmp byte [edx + 0x48b53a], 0
mov edi, dword [ebp - 0x18c]
jne 0x426439
xor eax, eax
mov dword [ebp - 0x1d8], eax
jmp 0x42b0ca
mov edx, dword [ebp - 0x14]
mov eax, ecx
or eax, edx
test al, 1
je 0x4265d6
movzx eax, word [ebx + 2]
test al, al
jns 0x4265bd
mov eax, dword [ebp - 0x1a0]
test byte [ebp - 0x1c], al
je 0x4265aa
test ecx, 0x100
jne 0x4265aa
xor eax, eax
jmp 0x426702
mov eax, ecx
not eax
and eax, 1
lea eax, [eax*2 - 1]
jmp 0x426702
mov edi, dword [ebp - 0x18c]
push 0x10
pop ecx
test cl, al
jne 0x426439
mov eax, dword [ebp - 0x1a0]
jmp 0x426572
mov dl, byte [ebx + 2]
and dl, 0x47
cmp dl, 0x43
jb 0x42662e
mov edx, dword [ebp - 0x1b8]
test dl, al
je 0x4266e8
mov al, byte [ebp - 0x14]
and al, 0x2e
cmp al, dl
jne 0x426615
mov ecx, dword [ebp - 0x1ac]
xor edx, edx
call fcn.004252fd
movzx ecx, word [edi + 0x10]
mov edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1a8], ecx
and cl, 0x2e
cmp cl, dl
jne 0x4266e8
xor edx, edx
mov ecx, edi
call fcn.004252fd
jmp 0x4266e8
cmp dl, 0x42
jne 0x4266e8
mov edx, dword [ebp - 0x1b8]
test dl, al
je 0x4266e8
mov eax, dword [ebp - 0x14]
test dl, al
jne 0x4266a3
test al, 0x2c
je 0x4266a3
push dword [ebp - 0x1a0]
mov dl, byte [ebp - 0x198]
mov ecx, dword [ebp - 0x1ac]
call fcn.0041f064
pop ecx
mov ecx, dword [ebp - 0x1ac]
mov edx, 0xdbf
mov ax, word [ecx + 0x10]
xor ax, word [ebp - 0x14]
and ax, dx
xor ax, word [ecx + 0x10]
movzx eax, ax
mov dword [ebp - 0x14], eax
cmp ecx, edi
jne 0x42669d
or eax, dword [ebp - 0x1b8]
movzx ecx, ax
mov dword [ebp - 0x1a8], ecx
jmp 0x4266a3
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1b8]
test al, cl
jne 0x4266e8
test cl, 0x2c
je 0x4266e8
push dword [ebp - 0x1a0]
mov dl, byte [ebp - 0x198]
mov ecx, edi
call fcn.0041f064
mov ax, word [edi + 0x10]
pop ecx
mov ecx, dword [ebp - 0x1a8]
xor ax, cx
mov ecx, 0xdbf
and ax, cx
xor ax, word [edi + 0x10]
movzx ecx, ax
mov dword [ebp - 0x1a8], ecx
push dword [ebx + 0x10]
mov edx, dword [ebp - 0x1ac]
mov ecx, edi
call fcn.00422906
mov edx, dword [ebp - 0x14]
pop ecx
mov ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1d8], eax
cmp dword [ebp - 0x1d8], 0
movzx eax, byte [ebx]
jge 0x42671c
lea eax, [eax + 0x48b534]
jmp 0x42672c
jne 0x426726
lea eax, [eax + 0x48b53a]
jmp 0x42672c
lea eax, [eax + 0x48b540]
mov al, byte [eax]
mov word [edi + 0x10], cx
test al, al
mov ecx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x18c]
mov word [ecx + 0x10], dx
jmp 0x42576f
cmp dword [ebp - 0x1d8], 0
je 0x426439
jmp case.0x4256f7.89
mov eax, dword [ebp - 0x1a0]
test byte [ebx + 2], al
jne 0x42676a
xor eax, eax
jmp 0x426772
mov eax, dword [ebx - 4]
push 4
pop ecx
add eax, ecx
mov edi, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x14], edi
mov edi, dword [ebx + 8]
mov dword [ebp - 0x1a8], edi
xor edi, edi
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x1b4], ecx
test edx, edx
jle 0x4259f4
lea edx, [ecx + 0x14]
mov dword [ebp - 0x24], edx
test eax, eax
je 0x4267b5
mov ecx, dword [eax + edi*4]
mov dword [ebp - 0x1e0], ecx
jmp 0x4267bd
mov ecx, edi
mov dword [ebp - 0x1e0], edi
mov eax, dword [ebp - 0x1b4]
push dword [edx]
mov eax, dword [eax + 0x10]
movzx eax, byte [eax + edi]
and eax, 1
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1a8]
add eax, ecx
imul edx, eax, 0x28
mov eax, dword [ebp - 0x14]
add eax, ecx
imul ecx, eax, 0x28
add edx, dword [ebp - 0x1a4]
add ecx, dword [ebp - 0x1a4]
call fcn.00422906
pop ecx
mov ecx, eax
mov dword [ebp - 0x1d8], ecx
test ecx, ecx
jne 0x426822
mov edx, dword [ebp - 0x24]
inc edi
push 4
pop eax
add edx, eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x24], edx
cmp edi, dword [ebp - 0x1c]
jl 0x4267a6
jmp 0x4259f4
mov eax, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1b8]
mov eax, dword [eax + 0x10]
test byte [edi + eax], dl
je 0x42687e
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1e0]
add eax, ecx
mov edx, dword [ebp - 0x1a4]
imul eax, eax, 0x28
test byte [eax + edx + 0x10], 1
jne 0x426868
mov eax, dword [ebp - 0x1a8]
add eax, ecx
mov ecx, dword [ebp - 0x1a0]
imul eax, eax, 0x28
test byte [eax + edx + 0x10], cl
je 0x426878
mov ecx, dword [ebp - 0x1d8]
neg ecx
mov dword [ebp - 0x1d8], ecx
jmp 0x42687e
mov ecx, dword [ebp - 0x1d8]
cmp dword [ebp - 0x1c4], 0
je 0x425a7e
neg ecx
jmp 0x426526
mov ecx, dword [ebp - 0x1d8]
test ecx, ecx
jns 0x4268a2
imul ebx, dword [ebx + 4], 0x14
jmp 0x4268ae
jne 0x4268aa
imul ebx, dword [ebx + 8], 0x14
jmp 0x4268ae
imul ebx, dword [ebx + 0xc], 0x14
add ebx, eax
add ebx, 0xffffffec
jmp 0x42b0d0
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x1b8]
add ecx, dword [ebp - 0x1a4]
call fcn.0041f305
imul ecx, dword [ebx + 8], 0x28
mov esi, eax
mov edx, dword [ebp - 0x1b8]
add ecx, dword [ebp - 0x1a4]
call fcn.0041f305
imul ecx, esi, 3
cmp byte [ebx], 0x2c
jne 0x4268f5
mov al, byte [ecx + eax + 0x48e194]
jmp 0x4268fc
mov al, byte [ecx + eax + 0x48ef14]
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0x1a4]
movzx ecx, word [esi + 0x10]
cmp al, byte [ebp - 0x1b8]
jne 0x426921
mov eax, 0xf241
and ecx, eax
or ecx, dword [ebp - 0x1a0]
jmp 0x426936
movzx eax, al
cdq
mov dword [esi], eax
mov eax, 0xf244
and ecx, eax
mov dword [esi + 4], edx
push 4
pop eax
or ecx, eax
mov word [esi + 0x10], cx
jmp 0x425ce8
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, dword [ebp - 0x1a4]
call fcn.0041f305
imul ecx, dword [ebx + 8], 0x28
mov edi, 0x9000
xor eax, dword [ebx + 0x10]
cdq
add ecx, dword [ebp - 0x1a4]
test word [ecx + 0x10], di
mov edi, dword [ebp - 0x18c]
je 0x426977
push edx
push eax
jmp 0x425cba
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x425cc7
imul ecx, dword [ebx + 4], 0x28
imul edi, dword [ebx + 8], 0x28
mov edx, dword [ebp - 0x1a0]
add ecx, dword [ebp - 0x1a4]
add edi, dword [ebp - 0x1a4]
test byte [ecx + 0x10], dl
jne 0x4269d8
xor edx, edx
call fcn.0041f305
neg eax
mov ecx, 0x9000
sbb eax, eax
inc eax
test word [edi + 0x10], cx
je 0x4269c9
xor ecx, ecx
push ecx
push eax
mov ecx, edi
call fcn.0041f64a
pop ecx
pop ecx
jmp 0x4259f4
mov dword [edi], eax
xor eax, eax
push 4
mov dword [edi + 4], eax
pop eax
jmp 0x4259f0
mov ecx, 0x9000
test word [edi + 0x10], cx
jne 0x425d36
mov word [edi + 0x10], dx
mov edi, dword [ebp - 0x18c]
jmp 0x42b0d0
imul edi, dword [ebx + 8], 0x28
mov ecx, 0x9000
imul eax, dword [ebx + 4], 0x28
add edi, dword [ebp - 0x1a4]
add eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1c], eax
test word [edi + 0x10], cx
je 0x426a2a
mov ecx, edi
call fcn.0041f198
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1a0]
jmp 0x426a34
mov edx, dword [ebp - 0x1a0]
mov word [edi + 0x10], dx
test byte [eax + 0x10], dl
jne 0x425a7e
push 4
pop ecx
mov word [edi + 0x10], cx
mov ecx, eax
call fcn.0041f278
not eax
not edx
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x4259f4
cmp dword [edi + 0xd0], 0
je 0x426ab2
mov eax, ebx
sub eax, dword [edi + 0x68]
cdq
idiv dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x18c]
mov ecx, eax
mov edi, ecx
and ecx, 7
shr edi, 3
mov eax, dword [edx + 0xd0]
mov edx, dword [ebp - 0x1a0]
shl edx, cl
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x1c], eax
movzx eax, byte [edi + eax]
test eax, edx
jne 0x426433
bts eax, ecx
mov ecx, dword [ebp - 0x1c]
mov byte [edi + ecx], al
mov edi, dword [ebp - 0x18c]
mov ecx, dword [edi + 0x68]
jmp 0x426ac1
mov ecx, dword [edi + 0x68]
mov eax, dword [ecx + 4]
cmp eax, dword [ebx + 4]
je 0x426439
mov eax, dword [ecx + 4]
mov dword [ebx + 4], eax
jmp 0x42b0ca
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, dword [ebp - 0x1a4]
call fcn.0041f305
test eax, eax
jmp 0x42576f
xor edx, edx
xor eax, eax
cmp dword [ebx + 0xc], eax
sete dl
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x1a4]
call fcn.0041f305
test eax, eax
je 0x426439
jmp 0x42b0ca
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x1a0]
test byte [eax + ecx + 0x10], dl
jmp 0x42576f
mov ecx, dword [ebx + 4]
test ecx, ecx
js 0x426b66
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax + ecx*4]
movzx eax, word [ecx + 0x3e]
cmp edx, eax
jge 0x426b61
mov eax, dword [ecx + edx*4 + 0x58]
cmp eax, 0xc
jb 0x426b58
mov ecx, dword [ebp - 0x1a0]
test cl, al
push 4
pop eax
push 8
pop ecx
cmove eax, ecx
jmp 0x426b89
movzx eax, byte [eax + 0x48ae18]
jmp 0x426b8c
mov ecx, dword [ebx + 0x10]
jmp 0x426b7f
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x1a4]
movzx eax, word [eax + ecx + 0x10]
and eax, 0x3f
movzx ecx, byte [eax + 0x48e250]
mov eax, dword [ebp - 0x1a0]
dec ecx
shl ax, cl
movzx eax, ax
test word [ebx + 2], ax
jmp 0x42576f
imul eax, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x1a4]
test byte [eax + edx + 0x10], 1
jne 0x426bbc
imul eax, dword [ebx + 0xc], 0x28
test byte [eax + edx + 0x10], 1
jne 0x426bbc
imul eax, dword [ebx + 8], 0x28
add eax, edx
jmp 0x42623b
imul eax, dword [ebx + 8], 0x28
add eax, edx
mov edx, 0x9000
test word [eax + 0x10], dx
je 0x426bd9
mov ecx, eax
call fcn.0041f198
jmp 0x42b0ca
mov edx, dword [ebp - 0x1a0]
jmp 0x42625b
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x1a0]
test byte [eax + ecx + 0x10], dl
jmp 0x426b00
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x42b0ca
cmp byte [eax + 2], 0
je 0x42b0ca
imul eax, dword [ebx + 0xc], 0x28
mov ecx, 0x9000
add eax, dword [ebp - 0x1a4]
test word [eax + 0x10], cx
je 0x426c39
mov ecx, eax
call fcn.0041f198
jmp 0x426439
mov ecx, dword [ebp - 0x1a0]
mov word [eax + 0x10], cx
jmp 0x426439
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 8]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x1ac], edx
mov dword [ebp - 0x1cc], esi
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x48]
mov dword [ebp - 0x1a8], ecx
cmp eax, dword [edi + 0x1c]
je 0x426cc8
cmp byte [esi + 2], 0
jne 0x426d29
cmp byte [esi + 3], 0
mov edi, dword [esi + 0x2c]
mov dword [ebp - 0x1c], edi
je 0x426ca4
mov eax, dword [esi + 0x10]
test eax, eax
je 0x426cf6
mov eax, dword [eax + edx*4 + 4]
test eax, eax
je 0x426cf6
mov esi, dword [esi + 0x28]
lea edx, [eax - 1]
mov edi, dword [ebp - 0x18c]
jmp 0x426c54
cmp byte [edi], 0
je 0x426d0d
mov ecx, esi
call fcn.00422348
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov edi, dword [ebp - 0x18c]
jmp 0x426ceb
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x426dc3
mov ecx, esi
call fcn.00422348
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov edx, dword [ebp - 0x1ac]
jmp 0x426c60
mov ecx, esi
call fcn.00422308
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov ecx, edi
call fcn.0041820a
mov eax, dword [edi + 0x2c]
lea edi, [esi + 0x54]
mov ecx, dword [ebp - 0x1c]
mov edx, edi
mov dword [esi + 0x50], eax
call fcn.004186a6
jmp 0x426d54
cmp byte [esi], 3
jne 0x426eba
mov eax, dword [esi + 0x24]
test eax, eax
jle 0x426eba
imul ecx, eax, 0x28
lea edi, [esi + 0x54]
add ecx, dword [ebp - 0x1a4]
mov eax, dword [ecx + 0xc]
mov dword [edi], eax
mov dword [esi + 0x50], eax
mov eax, dword [ecx + 8]
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x1a8]
mov dword [esi + 0x4c], eax
mov eax, dword [edx + 0x1c]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x4c]
movzx eax, byte [eax]
mov dword [ecx], eax
cmp eax, 0x80
jae 0x426d80
mov eax, dword [ebp - 0x1a0]
jmp 0x426d93
mov edx, ecx
mov ecx, dword [esi + 0x4c]
call fcn.004093c0
mov ecx, dword [ebp - 0x1a8]
movzx eax, al
mov dword [esi + 0x34], eax
xor eax, eax
mov word [esi + 0x3e], ax
mov eax, dword [ecx]
cmp dword [edi], eax
jae 0x426eb1
xor eax, eax
mov dword [esi + 0x4c], eax
mov dword [edi], eax
mov eax, dword [ecx]
cmp eax, 0x18003
ja 0x427012
cmp eax, dword [esi + 0x50]
ja 0x427012
movzx edx, word [esi + 0x3e]
mov ecx, dword [ebp - 0x1ac]
mov eax, edx
cmp eax, ecx
ja 0x427092
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [esi + 0x34]
mov eax, dword [eax]
cmp ecx, eax
jae 0x427030
mov edi, dword [esi + 0x4c]
mov dword [ebp - 0x1b4], edi
test edi, edi
jne 0x426e47
push 0xa
xor eax, eax
lea edi, [ebp - 0x118]
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x2c]
lea eax, [ebp - 0x118]
push eax
mov eax, dword [ebp - 0x1a8]
mov edx, dword [eax]
call fcn.0041faff
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov eax, dword [ebp - 0x1a8]
mov edi, dword [ebp - 0x110]
movzx edx, word [esi + 0x3e]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ebp - 0x1b4], edi
movzx ebx, dx
add edi, ecx
mov edx, dword [ebp - 0x1a8]
mov edx, dword [edx + ebx*4]
mov dword [ebp - 0x1e0], edx
xor edx, edx
add eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1c0], edx
lea edx, [esi + 0x58]
mov esi, dword [ebp - 0x1c0]
lea edx, [edx + ebx*4]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x24], edx
movzx eax, byte [edi]
mov dword [ebp - 0xbc], eax
mov dword [edx], eax
mov eax, dword [ebp - 0xbc]
cmp eax, 0x80
jae 0x426eea
movzx eax, al
inc edi
movzx eax, byte [eax + 0x48af38]
cdq
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x24]
jmp 0x426f2f
mov edi, dword [esi + 0x4c]
xor ecx, ecx
mov edx, ecx
jmp 0x426e3e
imul eax, dword [ebx + 0xc], 0x28
mov ecx, 0x9000
add eax, dword [ebp - 0x1a4]
test word [eax + 0x10], cx
je 0x426edb
mov ecx, eax
call fcn.0041f198
jmp 0x425ce8
mov ecx, dword [ebp - 0x1a0]
mov word [eax + 0x10], cx
jmp 0x425ce8
lea edx, [ebp - 0xbc]
mov ecx, edi
call fcn.004093c0
mov edx, dword [ebp - 0x24]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0xbc]
mov dword [edx], eax
mov eax, dword [ebp - 0xbc]
cmp eax, 0x80
jb 0x426f1b
add eax, 0xfffffff4
shr eax, 1
jmp 0x426f22
movzx eax, byte [eax + 0x48af38]
mov ecx, dword [ebp - 0x1e0]
add ecx, eax
push 0
pop eax
adc esi, eax
push 4
pop eax
add edx, eax
mov dword [ebp - 0x1e0], ecx
mov eax, dword [ebp - 0x1a8]
inc ebx
mov dword [ebp - 0x24], edx
mov dword [eax + ebx*4], ecx
cmp ebx, dword [ebp - 0x1ac]
ja 0x426f5b
cmp edi, dword [ebp - 0x1bc]
jb 0x426e84
mov edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x1c0], esi
mov esi, dword [ebp - 0x1cc]
cmp edi, edx
jb 0x426fc8
ja 0x426fdf
cmp ecx, dword [esi + 0x50]
jne 0x426fdf
xor ecx, ecx
cmp dword [ebp - 0x1c0], ecx
jne 0x426fd9
mov eax, dword [ebp - 0x24]
sub edi, dword [ebp - 0x1b4]
mov word [esi + 0x3e], ax
xor eax, eax
mov dword [esi + 0x34], edi
cmp dword [esi + 0x4c], eax
jne 0x426fc0
mov eax, 0x9000
test dword [ebp - 0x108], eax
jne 0x426fb5
cmp dword [ebp - 0x100], 0
je 0x426fc0
lea ecx, [ebp - 0x118]
call fcn.0041f1cb
mov ecx, dword [ebp - 0xbc]
jmp 0x42703a
mov edx, dword [ebp - 0x1c0]
test edx, edx
jb 0x426f88
ja 0x426fd9
cmp ecx, dword [esi + 0x50]
jbe 0x426f88
mov edx, dword [ebp - 0x1bc]
xor edi, edi
cmp dword [eax], edi
jne 0x426feb
xor eax, eax
mov edi, edx
jmp 0x426f8b
xor eax, eax
cmp dword [esi + 0x4c], eax
jne 0x427012
mov eax, 0x9000
test dword [ebp - 0x108], eax
jne 0x427007
cmp dword [ebp - 0x100], edi
je 0x427012
lea ecx, [ebp - 0x118]
call fcn.0041f1cb
mov edx, dword [ebp - 0x194]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x42b1c1
imul eax, eax, 0x14
lea ebx, [edx - 0x14]
add ebx, eax
jmp 0x425a7e
xor eax, eax
mov ecx, eax
mov dword [ebp - 0xbc], ecx
movzx eax, word [esi + 0x3e]
cmp eax, dword [ebp - 0x1ac]
ja 0x42709c
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1a4]
cmp byte [ebx + 1], 0xf6
jne 0x42706c
mov edx, dword [ebx + 0x10]
mov ecx, 0x2000
push ecx
mov ecx, eax
call fcn.0041f795
pop ecx
jmp 0x425a7e
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x427083
mov ecx, eax
call fcn.0041f198
jmp 0x425a7e
mov ecx, dword [ebp - 0x1a0]
mov word [eax + 0x10], cx
jmp 0x425a7e
mov ecx, dword [esi + ecx*4 + 0x58]
mov dword [ebp - 0xbc], ecx
imul edi, dword [ebx + 0xc], 0x28
mov eax, 0x9000
add edi, dword [ebp - 0x1a4]
test word [edi + 0x10], ax
je 0x4270be
mov ecx, edi
call fcn.0041f198
mov ecx, dword [ebp - 0xbc]
mov eax, dword [esi + 0x54]
mov esi, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1a8]
cmp eax, dword [edx + esi*4 + 4]
mov esi, dword [ebp - 0x1cc]
jb 0x427189
mov eax, dword [esi + 0x4c]
mov esi, dword [ebp - 0x1ac]
add eax, dword [edx + esi*4]
mov dword [ebp - 0x1c], eax
cmp ecx, 0xc
jae 0x427100
mov edx, ecx
mov ecx, eax
push edi
call fcn.0042246e
jmp 0x427066
mov al, byte [ebp - 0x198]
lea esi, [ecx - 0xc]
shr esi, 1
mov dword [edi + 0xc], esi
mov byte [edi + 0x12], al
lea edx, [esi + 2]
cmp dword [edi + 0x18], edx
jge 0x42714a
mov eax, dword [ebp - 0x19c]
cmp esi, dword [eax + 0x78]
jg 0x42b2e1
mov eax, dword [ebp - 0x1a0]
mov ecx, edi
mov word [edi + 0x10], ax
xor eax, eax
push eax
call fcn.0041ee83
pop ecx
test eax, eax
jne 0x425ad1
mov eax, dword [edi + 8]
jmp 0x427150
mov eax, dword [edi + 0x20]
mov dword [edi + 8], eax
push esi
push dword [ebp - 0x1c]
push eax
call fcn.00476870
mov eax, dword [edi + 8]
xor edx, edx
add esp, 0xc
mov byte [esi + eax], dl
mov eax, dword [edi + 8]
mov byte [esi + eax + 1], dl
mov eax, dword [ebp - 0xbc]
and eax, dword [ebp - 0x1a0]
mov ax, word [eax*2 + 0x489678]
mov word [edi + 0x10], ax
jmp 0x425a7e
mov al, byte [ebp - 0x198]
mov byte [edi + 0x12], al
movzx eax, word [ebx + 2]
mov edx, dword [ebp - 0xbc]
test al, 0xc0
je 0x4271b3
cmp edx, 0xc
jb 0x4271af
mov ecx, dword [ebp - 0x1a0]
test cl, dl
je 0x4271cd
test al, al
js 0x4271cd
cmp edx, 0x80
jb 0x4271c2
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x4271c9
movzx eax, byte [edx + 0x48af38]
test eax, eax
jne 0x4271d7
mov ecx, 0x48a8e0
jmp 0x4270f5
mov ecx, dword [ebp - 0x19c]
cmp eax, dword [ecx + 0x78]
jg 0x42b2e1
mov ecx, dword [ebp - 0x1ac]
push edi
push eax
mov eax, dword [ebp - 0x1a8]
mov edx, dword [eax + ecx*4]
mov ecx, dword [esi + 0x2c]
call fcn.0041fa73
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edi + 8]
push edi
call fcn.0042246e
mov eax, 0xbfff
and word [edi + 0x10], ax
pop ecx
jmp 0x425a7e
imul edi, dword [ebx + 4], 0x28
xor ecx, ecx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], ecx
add edi, dword [ebp - 0x1a4]
mov edx, dword [eax + 4]
mov dword [ebp - 0x1b4], edx
cmp cx, word [eax + 0x22]
jge 0x4259f4
add edx, 8
mov dword [ebp - 0x1cc], edx
movzx eax, word [edx + 6]
test al, 0x60
je 0x42727b
test al, 0x20
jne 0x427348
xor eax, eax
cmp dword [ebx + 0xc], eax
jne 0x427345
push dword [ebp - 0x198]
mov dl, byte [edx]
mov ecx, edi
call fcn.004253b1
mov eax, dword [ebp - 0x1a0]
pop ecx
movzx ecx, word [edi + 0x10]
mov dword [ebp - 0x1c4], ecx
test al, cl
jne 0x42733c
mov edx, dword [ebp - 0x1cc]
mov edx, dword [edx - 4]
shr edx, 4
and edx, 0xf
lea eax, [edx - 1]
sub eax, 1
je 0x427331
sub eax, 1
je 0x42732d
sub eax, 1
je 0x42732d
sub eax, 1
je 0x4272d6
sub eax, 1
jne 0x42733c
mov eax, dword [ebp - 0x1b8]
jmp 0x427334
push 4
pop eax
test al, cl
je 0x427328
mov edx, dword [edi]
xor eax, eax
add edx, eax
mov eax, dword [edi + 4]
adc eax, 0x8000
cmp eax, 0xffff
ja 0x427301
jb 0x4272f9
cmp edx, 0xffffffff
ja 0x427301
or ecx, 0x20
movzx eax, cx
jmp 0x42731d
mov edx, dword [edi + 4]
mov ecx, dword [edi]
call fcn.004828c0
mov eax, dword [ebp - 0x1c4]
push 8
pop ecx
or eax, ecx
movsd qword [edi], xmm0
movzx eax, ax
and eax, 0xfffb
mov word [edi + 0x10], ax
jmp 0x42733c
test cl, 0x28
jmp 0x427336
push 4
jmp 0x427333
push 0x10
pop eax
test al, cl
je 0x42b1e6
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1cc]
add edi, 0x28
push 0x10
pop eax
add edx, eax
inc ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1cc], edx
movsx eax, word [eax + 0x22]
cmp ecx, eax
jl 0x427260
jmp 0x4259f4
imul esi, dword [ebx + 4], 0x28
mov edi, dword [ebx + 0x10]
add esi, dword [ebp - 0x1a4]
mov al, byte [edi]
push dword [ebp - 0x198]
mov dl, al
mov ecx, esi
call fcn.004253b1
cmp byte [edi], 0x45
pop ecx
jne 0x4273e7
movzx ecx, word [esi + 0x10]
push 4
pop eax
mov dword [ebp - 0x1c], ecx
test al, cl
je 0x4273e7
mov edx, dword [esi]
xor eax, eax
add edx, eax
mov eax, dword [esi + 4]
adc eax, 0x8000
cmp eax, 0xffff
ja 0x4273c8
jb 0x4273b9
cmp edx, 0xffffffff
ja 0x4273c8
and ecx, 0xfffb
or ecx, 0x20
mov word [esi + 0x10], cx
jmp 0x4273e7
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.004828c0
mov eax, dword [ebp - 0x1c]
push 8
and eax, 0xfff9
movsd qword [esi], xmm0
pop ecx
or eax, ecx
mov word [esi + 0x10], ax
inc edi
mov al, byte [edi]
test al, al
je 0x425a7e
add esi, 0x28
jmp 0x42737a
imul ecx, dword [ebx + 4], 0x28
xor eax, eax
mov esi, dword [ebx + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x1a8], eax
imul eax, dword [ebx + 8], 0x28
movlpd qword [ebp - 0x28], xmm0
add ecx, dword [ebp - 0x1a4]
movlpd qword [ebp - 0x1d0], xmm0
mov dword [ebp - 0x1c4], ecx
add eax, ecx
mov dword [ebp - 0x1c], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1e0], eax
test esi, esi
je 0x427483
mov al, byte [esi]
lea edi, [ecx + 0x10]
mov ebx, dword [ebp - 0x198]
push ebx
lea ecx, [edi - 0x10]
mov dl, al
call fcn.004253b1
cmp byte [esi], 0x45
pop ecx
jne 0x427470
movzx eax, word [edi]
push 4
pop ecx
test cl, al
je 0x427470
and eax, 0xfffb
or eax, 0x20
mov word [edi], ax
inc esi
add edi, 0x28
mov al, byte [esi]
test al, al
jne 0x42744a
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x28]
add eax, 0xfffffff4
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x1c0], edx
mov dword [ebp - 0x1bc], esi
mov dword [ebp - 0x1cc], ecx
movzx ecx, word [eax - 0xc]
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1b4], ecx
test cl, 1
je 0x4274f0
mov esi, dword [ebp - 0x1ac]
mov eax, 0x400
and ecx, eax
movzx eax, cx
mov ecx, dword [ebp - 0x1a8]
neg eax
sbb eax, eax
and eax, 0xa
inc ecx
mov dword [esi], eax
mov dword [ebp - 0x1a8], ecx
jmp 0x427773
test cl, 0x24
je 0x427683
mov esi, dword [eax - 0x1c]
xor edx, edx
mov eax, dword [eax - 0x18]
cmp eax, edx
jg 0x427513
jl 0x42750b
cmp esi, edx
jae 0x427513
mov edx, esi
not eax
not edx
jmp 0x427515
mov edx, esi
inc dword [ebp - 0x1a8]
test eax, eax
ja 0x427576
jb 0x427526
cmp edx, 0x7f
ja 0x427576
mov eax, esi
xor ecx, ecx
and eax, dword [ebp - 0x1a0]
cmp eax, esi
jne 0x42754f
mov eax, dword [ebp - 0x1ac]
cmp ecx, dword [eax - 0x18]
jne 0x42754f
push 4
pop eax
cmp byte [edi + 0x93], al
jb 0x42754f
lea eax, [edx + 8]
jmp 0x42756b
mov edx, dword [ebp - 0x1a0]
add dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x1c0]
adc eax, ecx
mov dword [ebp - 0x1c0], eax
mov eax, edx
mov edx, dword [ebp - 0x1c0]
jmp 0x427676
xor edi, edi
cmp eax, edi
ja 0x4275ea
jb 0x427586
cmp edx, 0x7fff
ja 0x4275aa
mov ecx, dword [ebp - 0x1b8]
add dword [ebp - 0x1bc], ecx
mov edx, dword [ebp - 0x1c0]
push 0
pop eax
adc edx, eax
mov eax, ecx
mov dword [ebp - 0x1c0], edx
jmp 0x427676
cmp eax, edi
ja 0x4275ea
jb 0x4275b8
cmp edx, 0x7fffff
ja 0x4275d7
add dword [ebp - 0x1bc], 3
mov edx, dword [ebp - 0x1c0]
push 0
pop eax
adc edx, eax
mov dword [ebp - 0x1c0], edx
push 3
jmp 0x427675
cmp eax, edi
ja 0x4275ea
jb 0x4275e5
cmp edx, 0x7fffffff
ja 0x4275ea
push 4
pop ecx
jmp 0x42758c
cmp eax, 0x7fff
ja 0x427614
jb 0x4275f8
cmp edx, 0xffffffff
ja 0x427614
add dword [ebp - 0x1bc], 6
mov edx, dword [ebp - 0x1c0]
push 0
pop eax
adc edx, eax
mov dword [ebp - 0x1c0], edx
push 5
jmp 0x427675
push 8
pop edx
add dword [ebp - 0x1bc], edx
mov edx, dword [ebp - 0x1c0]
push 0
pop eax
adc edx, eax
mov dword [ebp - 0x1c0], edx
test cl, 0x20
je 0x427673
mov eax, dword [ebp - 0x1ac]
mov ecx, esi
mov edx, dword [eax - 0x18]
call fcn.004828c0
mov eax, dword [ebp - 0x1ac]
mov esi, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1c0]
push 8
movsd qword [eax - 0x1c], xmm0
mov eax, dword [ebp - 0x1b4]
pop ecx
and eax, 0xffdf
or eax, ecx
push 7
mov word [esi - 0xc], ax
pop eax
jmp 0x42767c
push 6
pop eax
mov esi, dword [ebp - 0x1ac]
mov dword [esi], eax
jmp 0x42776d
test cl, 8
je 0x4276b4
mov ecx, dword [ebp - 0x1a8]
inc ecx
mov dword [eax], 7
add esi, 8
mov dword [ebp - 0x1a8], ecx
push 0
pop edi
adc edx, edi
mov dword [ebp - 0x1bc], esi
mov dword [ebp - 0x1c0], edx
jmp 0x42777f
mov edi, dword [eax - 0x10]
mov eax, ecx
shr eax, 1
and eax, 1
lea eax, [eax + edi*2]
add eax, 0xc
mov dword [ebp - 0x1b4], eax
test ecx, 0x400
je 0x427721
mov esi, dword [ebp - 0x1ac]
mov ecx, dword [esi - 0x1c]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1bc]
or eax, edx
je 0x427703
lea ecx, [esi - 0x1c]
call fcn.0041f019
test eax, eax
jne 0x425ad1
add edi, dword [esi - 0x1c]
jmp 0x42770f
mov eax, ecx
cdq
add dword [ebp - 0x1cc], eax
adc dword [ebp - 0x24], edx
mov esi, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1b4]
add esi, edi
push 0
pop ecx
adc edx, ecx
mov dword [ebp - 0x1bc], esi
mov esi, dword [ebp - 0x1a0]
mov ecx, eax
shr ecx, 7
xor eax, eax
mov dword [ebp - 0x1c0], edx
mov edx, eax
jmp 0x42774d
shrd ecx, edx, 7
inc esi
shr edx, 7
mov eax, ecx
or eax, edx
jne 0x427745
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1b4]
add dword [ebp - 0x1a8], esi
mov edx, dword [ebp - 0x1c0]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1ac]
mov esi, dword [ebp - 0x1bc]
add eax, 0xffffffe4
cmp eax, dword [ebp - 0x1c4]
je 0x42779e
mov eax, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x18c]
sub eax, 0x28
jmp 0x4274b0
cmp ecx, 0x7e
jle 0x427815
mov edi, dword [ebp - 0x1a0]
mov eax, ecx
cdq
mov esi, eax
mov dword [ebp - 0x1b4], edi
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x4277d5
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x4277c1
mov dword [ebp - 0x1b4], edi
mov eax, dword [ebp - 0x1a8]
add eax, edi
mov edi, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a8], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x427807
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x4277f9
mov ecx, dword [ebp - 0x1a8]
cmp dword [ebp - 0x1b4], edi
jge 0x42781c
inc ecx
mov dword [ebp - 0x1a8], ecx
mov eax, ecx
cdq
mov edi, eax
mov dword [ebp - 0x1ac], eax
add edi, dword [ebp - 0x1bc]
mov ecx, edx
mov eax, dword [ebp - 0x1e0]
mov esi, edi
mov dword [ebp - 0x1b4], ecx
adc ecx, dword [ebp - 0x1c0]
add esi, dword [ebp - 0x1cc]
mov eax, dword [eax + 0x18]
adc ecx, dword [ebp - 0x24]
cdq
cmp ecx, edx
jg 0x427868
jl 0x42785a
cmp esi, eax
ja 0x427868
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ecx + 0x20]
mov dword [ecx + 8], eax
jmp 0x42789f
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax + 0x78]
cdq
cmp ecx, edx
jg 0x42b2e1
jl 0x427884
cmp esi, eax
ja 0x42b2e1
mov ecx, dword [ebp - 0x1e0]
mov edx, edi
call fcn.0041ef71
test eax, eax
jne 0x425ad1
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x1cc]
push 0x10
pop eax
mov word [ecx + 0x10], ax
mov eax, edx
or eax, dword [ebp - 0x24]
mov dword [ecx + 0xc], edi
je 0x4278c1
mov eax, 0x410
mov dword [ecx], edx
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x1a8]
mov esi, dword [ecx + 8]
lea ecx, [esi + eax]
mov dword [ebp - 0x1a8], ecx
cmp eax, 0x80
jge 0x4278df
mov byte [esi], al
inc esi
jmp 0x4278fc
push dword [ebp - 0x1b4]
mov ecx, esi
push dword [ebp - 0x1ac]
call fcn.004091fb
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1a8]
add esi, eax
mov edi, dword [ebp - 0x1c4]
add edi, 0xc
mov eax, dword [edi + 0x10]
cmp eax, 7
ja 0x42795c
mov byte [esi], al
inc esi
test eax, eax
je 0x4279b5
movzx eax, byte [eax + 0x48af38]
mov edx, dword [edi - 0xc]
mov dword [ebp - 0x24], eax
sub eax, 1
mov dword [ebp - 0x1c4], edx
mov ebx, dword [ebp - 0x1c4]
mov edx, dword [edi - 8]
mov byte [eax + ecx], bl
mov ebx, dword [ebp - 0x14]
je 0x427957
mov ebx, dword [ebp - 0x1c4]
shrd ebx, edx, 8
shr edx, 8
sub eax, 1
mov byte [eax + ecx], bl
jne 0x427945
mov ebx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x24]
jmp 0x427986
cmp eax, 0x80
jae 0x42798e
mov byte [esi], al
inc esi
cmp eax, 0xe
jb 0x4279b5
cmp dword [edi], 0
jle 0x4279b5
push dword [edi]
push dword [edi - 4]
push ecx
call fcn.00476870
mov ecx, dword [ebp - 0x1a8]
add esp, 0xc
add ecx, dword [edi]
mov dword [ebp - 0x1a8], ecx
jmp 0x4279b5
xor ecx, ecx
push ecx
push eax
mov ecx, esi
call fcn.004091fb
pop ecx
add esi, eax
cmp dword [edi], 0
pop ecx
je 0x4279af
push dword [edi]
push dword [edi - 4]
push dword [ebp - 0x1a8]
jmp 0x427976
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1c]
add eax, 0xffffffe4
cmp edi, eax
je 0x425a7e
add edi, 0x28
jmp 0x427905
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax + 0x2c]
xor eax, eax
cmp dword [ebx + 0xc], eax
je 0x4279ed
mov ecx, edx
call fcn.00418eae
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
jmp 0x427a17
mov ecx, dword [ebp - 0x19c]
lea eax, [ebp - 0x68]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x68], xmm0
call fcn.0041d45d
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov esi, eax
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x42ab28
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1c], edi
test eax, eax
jne 0x427b2b
mov ecx, dword [ebp - 0x19c]
cmp dword [ecx + 0xc4], eax
jg 0x42b235
test edi, edi
jne 0x427a61
mov esi, eax
jmp 0x427a7b
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x427a66
sub esi, ecx
mov ecx, dword [ebp - 0x19c]
and esi, 0x3fffffff
mov eax, dword [ecx + 0x1fc]
xor edx, edx
add eax, dword [ecx + 0x1f8]
push eax
call fcn.0045b3ff
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
push ecx
mov ecx, dword [ebp - 0x19c]
lea eax, [esi + 0x21]
push eax
call fcn.004055cb
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x427e5c
lea ecx, [esi + 1]
push ecx
push dword [ebp - 0x1c]
lea edx, [edi + 0x20]
push edx
mov dword [edi], edx
call fcn.00476870
mov edx, dword [ebp - 0x19c]
add esp, 0xc
cmp byte [edx + 0x55], 0
je 0x427aed
xor eax, eax
mov byte [edx + 0x55], al
mov eax, dword [ebp - 0x1a0]
mov byte [edx + 0x5d], al
jmp 0x427af3
inc dword [edx + 0x1f8]
mov eax, dword [edx + 0x1ec]
mov dword [edi + 0x18], eax
mov eax, dword [edx + 0x200]
mov ecx, dword [edx + 0x204]
mov dword [edx + 0x1ec], edi
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov eax, dword [edx + 0x208]
mov ecx, dword [edx + 0x20c]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
jmp 0x427e5c
xor eax, eax
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x19c]
mov esi, dword [eax + 0x1ec]
jmp 0x427b57
mov ecx, dword [esi]
mov edx, edi
call fcn.00408637
test eax, eax
je 0x427b7b
inc dword [ebp - 0x1a8]
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x427b41
mov esi, dword [ebp - 0x18c]
push edi
push str.no_such_savepoint:__s
push esi
call fcn.0042009b
mov ecx, dword [ebp - 0x1a0]
add esp, 0xc
jmp 0x42b22a
mov ecx, dword [ebp - 0x19c]
xor eax, eax
mov edx, dword [ebp - 0x1ac]
cmp dword [ecx + 0xc4], eax
jle 0x427b9d
cmp edx, dword [ebp - 0x1a0]
je 0x42b24f
lea eax, [esi + 0x18]
xor edi, edi
mov dword [ebp - 0x1b4], eax
cmp dword [eax], edi
jne 0x427cbe
cmp byte [ecx + 0x5d], 0
je 0x427cbe
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x24], eax
cmp edx, eax
jne 0x427cc5
mov ecx, dword [ebp - 0x18c]
mov edx, eax
call fcn.00421d22
mov edi, eax
test edi, edi
jne 0x427e72
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x1a0]
mov edi, dword [ebp - 0x18c]
mov byte [eax + 0x55], cl
mov ecx, edi
call fcn.00421d90
push 5
pop ecx
cmp eax, ecx
je 0x42b256
mov ecx, dword [edi + 0x24]
xor edx, edx
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x190], ecx
test ecx, ecx
je 0x427cb6
mov byte [eax + 0x55], dl
mov edx, dword [ebp - 0x19c]
test ecx, ecx
jne 0x42b408
mov ecx, dword [edx + 0x1ec]
cmp ecx, esi
je 0x427c6e
mov ebx, dword [ebp - 0x19c]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, ebx
mov dword [ebx + 0x1ec], eax
call fcn.004052f2
mov ecx, dword [ebx + 0x1ec]
dec dword [ebx + 0x1f8]
cmp ecx, esi
jne 0x427c43
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x19c]
mov edi, dword [ebp - 0x1ac]
cmp edi, dword [ebp - 0x1a0]
jne 0x427e06
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x19c]
mov eax, dword [eax]
mov dword [edx + 0x1ec], eax
mov edx, esi
call fcn.004052f2
cmp dword [ebp - 0x24], 0
jne 0x427e5c
mov edx, dword [ebp - 0x19c]
dec dword [edx + 0x1f8]
jmp 0x427e38
mov byte [eax + 0x5d], dl
jmp 0x427c25
xor eax, eax
xor edi, edi
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 0x1f8]
sub eax, dword [ebp - 0x1a8]
dec eax
mov dword [ebp - 0x1a8], eax
mov eax, dword [ecx + 0x14]
cmp edx, 2
jne 0x427d55
mov ecx, dword [ecx + 0x18]
and ecx, 1
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x1c4], ecx
test eax, eax
jle 0x427d51
xor ecx, dword [ebp - 0x1a0]
xor eax, eax
mov dword [ebp - 0x1cc], ecx
mov edi, eax
mov eax, dword [ebp - 0x19c]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.00417ebb
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov ecx, dword [ebp - 0x1c]
push 0x10
pop eax
add edi, eax
inc ecx
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1c], ecx
mov eax, dword [eax + 0x14]
cmp ecx, eax
mov ecx, dword [ebp - 0x1cc]
jl 0x427d03
mov edx, dword [ebp - 0x1ac]
xor ecx, ecx
jmp 0x427d5d
xor ecx, ecx
mov dword [ebp - 0x1c4], ecx
mov dword [ebp - 0x1c], ecx
test eax, eax
jle 0x427dae
mov edi, ecx
mov eax, dword [ebp - 0x19c]
push dword [ebp - 0x1a8]
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.00418023
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov eax, dword [ebp - 0x1c]
push 0x10
pop edx
add edi, edx
inc eax
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0x1c], eax
cmp eax, dword [edx + 0x14]
mov edx, dword [ebp - 0x1ac]
jl 0x427d66
jmp 0x427db4
mov ecx, dword [ebp - 0x190]
cmp dword [ebp - 0x1c4], 0
je 0x427c25
mov edx, dword [ebp - 0x19c]
mov ecx, dword [edx + 4]
jmp 0x427de1
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x427dcc
mov ecx, edx
call fcn.0043bd97
mov edx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x190]
or dword [edx + 0x18], eax
jmp 0x427c2b
cmp dword [ebp - 0x24], 0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edx + 0x200], eax
mov dword [edx + 0x204], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [edx + 0x208], eax
mov dword [edx + 0x20c], ecx
je 0x427e38
cmp edi, dword [ebp - 0x1b8]
jne 0x427e5c
push dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x19c]
mov edx, edi
call fcn.0045b3ff
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov edi, dword [ebp - 0x18c]
cmp byte [edi + 0x95], 3
jne 0x425ce8
push 0x65
pop edi
mov esi, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1f0]
cmp eax, dword [ebp - 0x1e8]
jb 0x42b6b9
mov ecx, dword [ebp - 0x1dc]
ja 0x427ea4
cmp dword [ebp - 0x1ec], ecx
jb 0x42b6b9
mov eax, dword [edx + 0x174]
test eax, eax
je 0x42b6b9
add ecx, dword [edx + 0x17c]
push 0
mov dword [ebp - 0x1dc], ecx
pop ecx
push dword [edx + 0x178]
adc dword [ebp - 0x1e8], ecx
call eax
mov edx, dword [ebp - 0x19c]
pop ecx
test eax, eax
je 0x427e7e
or dword [ebp - 0x1dc], 0xffffffff
or dword [ebp - 0x1e8], 0xffffffff
push 9
jmp 0x42b293
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebx + 8], eax
je 0x427f19
mov eax, dword [ebp - 0x19c]
mov esi, 0x100000
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
and ecx, 2
mov eax, edx
and eax, esi
or eax, ecx
jne 0x42b27f
mov eax, dword [ebp - 0x19c]
mov esi, dword [ebx + 4]
shl esi, 4
add esi, dword [eax + 0x10]
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x428009
mov edx, dword [ebx + 8]
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.0041736d
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b296
test byte [edi + 0x98], 0x20
je 0x428017
cmp dword [ebx + 8], eax
je 0x428017
mov edx, dword [ebp - 0x19c]
cmp byte [edx + 0x55], al
je 0x427f88
mov eax, dword [ebp - 0x1a0]
cmp dword [edx + 0xc0], eax
jle 0x428017
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x427fa4
mov eax, dword [edx + 0x1f8]
inc dword [edx + 0x1fc]
add eax, dword [edx + 0x1fc]
mov dword [edi + 0x30], eax
mov ecx, dword [ebp - 0x19c]
dec eax
push eax
xor edx, edx
call fcn.0045b3ff
mov edi, eax
mov dword [ebp - 0x190], edi
pop ecx
test edi, edi
jne 0x427fd9
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax + 0x30]
call fcn.00417fed
mov edi, eax
mov dword [ebp - 0x190], edi
mov edx, dword [ebp - 0x19c]
mov edi, dword [ebp - 0x18c]
mov eax, dword [edx + 0x200]
mov ecx, dword [edx + 0x204]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], ecx
mov eax, dword [edx + 0x208]
mov ecx, dword [edx + 0x20c]
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], ecx
mov ecx, dword [ebp - 0x190]
test ecx, ecx
jne 0x42b408
xor eax, eax
cmp word [ebx + 2], ax
je 0x425ce8
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebx + 0xc]
jne 0x42803a
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 0x10]
je 0x425ce8
mov edx, dword [edi + 0x7c]
mov esi, dword [ebp - 0x19c]
test edx, edx
je 0x42804e
mov ecx, esi
call fcn.004052f2
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.0040579e
mov dword [edi + 0x7c], eax
mov edx, dword [ebx + 4]
mov ecx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x24]
je 0x428079
mov ecx, esi
call fcn.0043bd41
mov eax, dword [edi + 0x98]
and eax, 0xffffffed
or eax, dword [ebp - 0x1a0]
push 0x11
mov dword [edi + 0x98], eax
jmp 0x42b401
mov ecx, dword [ebp - 0x19c]
lea eax, [ebp - 0x84]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041d3ca
pop ecx
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov ecx, eax
mov eax, dword [ebp - 0x84]
jmp 0x42587f
mov eax, dword [ebp - 0x19c]
mov esi, dword [ebx + 4]
push dword [ebx + 0xc]
mov edx, dword [ebx + 8]
shl esi, 4
add esi, dword [eax + 0x10]
mov ecx, dword [esi + 4]
call fcn.0041d40c
mov edx, dword [ebp - 0x1a0]
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
cmp dword [ebx + 8], edx
jne 0x42812d
movzx eax, word [ebx + 2]
mov ecx, dword [ebx + 0xc]
sub ecx, eax
mov eax, dword [esi + 0xc]
mov esi, dword [ebp - 0x19c]
mov dword [eax], ecx
mov ecx, esi
or dword [esi + 0x18], edx
mov edx, dword [ebx + 4]
call fcn.00445336
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp - 0x1a0]
jmp 0x42814d
mov eax, dword [ebp - 0x1b8]
cmp dword [ebx + 8], eax
jne 0x428147
mov ecx, dword [esi + 0xc]
mov al, byte [ebx + 0xc]
mov byte [ecx + 0x4c], al
mov ecx, dword [ebp - 0x190]
mov esi, dword [ebp - 0x19c]
cmp dword [ebx + 4], edx
jne 0x425ce0
mov edx, dword [esi + 4]
jmp 0x428170
mov eax, dword [edx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [edx + 0x98], eax
mov edx, dword [edx + 8]
test edx, edx
jne 0x42815b
and dword [edi + 0x98], 0xfffffffc
jmp 0x425ce0
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [eax + ecx*4]
test edi, edi
je 0x4281b5
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 8]
jne 0x4281b5
add edi, 0x2c
mov esi, dword [edi]
push dword [esi + 0x10]
call fcn.0040528e
xor eax, eax
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x1a0]
pop ecx
mov byte [esi], al
jmp 0x4282e7
mov edi, dword [ebp - 0x18c]
mov cl, byte [ebp - 0x1ad]
mov eax, dword [edi + 0x98]
and al, 3
cmp al, byte [ebp - 0x1a0]
je 0x42b2c5
mov esi, dword [ebp - 0x19c]
xor eax, eax
mov edx, dword [ebx + 8]
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x1cc], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [ebp - 0x1c], edx
mov esi, dword [eax + 4]
mov dword [ebp - 0x1b4], esi
cmp cl, 0x71
jne 0x428233
movzx edi, word [ebx + 2]
mov eax, dword [eax + 0xc]
push 8
pop ecx
and edi, ecx
mov al, byte [eax + 0x4c]
push 4
pop ecx
or edi, ecx
mov ecx, dword [ebp - 0x18c]
cmp al, byte [ecx + 0x93]
jae 0x428237
mov byte [ecx + 0x93], al
jmp 0x428237
xor eax, eax
mov edi, eax
push 0x10
pop eax
test byte [ebx + 2], al
je 0x428254
imul esi, edx, 0x28
add esi, dword [ebp - 0x1a4]
mov ecx, esi
call fcn.0041f3a2
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
mov al, byte [ebx + 1]
cmp al, 0xf8
jne 0x428267
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x24], eax
movzx eax, word [eax + 8]
jmp 0x428276
cmp al, 0xfd
jne 0x428270
mov eax, dword [ebx + 0x10]
jmp 0x428276
mov eax, dword [ebp - 0x1c4]
mov edx, dword [ebx + 4]
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x18c]
push eax
call fcn.00425225
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x425ad1
mov eax, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1b4]
mov byte [esi + 1], al
mov eax, dword [ebp - 0x1a0]
push 4
mov byte [esi + 2], al
pop eax
or dword [esi + 8], eax
lea eax, [esi + 0x2c]
push dword [eax]
mov dword [esi + 0x38], edx
push dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
push edi
call fcn.0041813e
mov edi, eax
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov dword [esi + 0x30], eax
cmp byte [ebx + 1], 0xf8
mov dword [ebp - 0x190], edi
mov edi, dword [ebp - 0x1c]
setne al
mov byte [esi + 4], al
mov cl, byte [ebx + 2]
mov eax, dword [edi]
and cl, 3
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x190]
test ecx, ecx
jne 0x42b408
jmp 0x425a7e
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov edi, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [ebp - 0x18c]
push eax
movsx eax, word [edi + 0x3c]
push eax
call fcn.00425225
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x425ad1
mov eax, dword [ebp - 0x1a0]
or dword [esi + 8], eax
mov byte [esi + 2], al
mov ecx, dword [edi + 0x30]
mov dword [esi + 0x30], ecx
mov al, byte [edi + 4]
mov byte [esi + 4], al
mov eax, dword [edi + 0x38]
mov dword [esi + 0x38], eax
mov ecx, dword [edi + 8]
xor ecx, dword [esi + 8]
push 4
pop edx
and ecx, edx
xor ecx, dword [esi + 8]
mov dword [esi + 8], ecx
mov eax, dword [edi + 0x10]
push 8
mov dword [esi + 0x10], eax
pop eax
or ecx, eax
mov dword [esi + 8], ecx
or dword [edi + 8], eax
push dword [esi + 0x2c]
mov ecx, dword [esi + 0x10]
push dword [esi + 0x30]
push edx
mov edx, dword [esi + 0x38]
call fcn.0041813e
add esp, 0xc
mov esi, eax
mov dword [ebp - 0x190], esi
jmp 0x4259f4
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x4283b4
mov ecx, dword [ebp - 0x1a4]
xor edx, edx
imul eax, eax, 0x28
mov dword [eax + ecx + 0xc], edx
imul eax, dword [ebx + 0xc], 0x28
mov dword [eax + ecx + 8], 0x48f169
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [eax + edx*4]
test edi, edi
je 0x428401
push 8
pop eax
test byte [edi + 8], al
jne 0x428401
movsx eax, word [edi + 0x3c]
cmp dword [ebx + 8], eax
jg 0x428401
mov edx, dword [edi + 0x38]
xor eax, eax
mov ecx, dword [edi + 0x10]
push eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
call fcn.0041d1aa
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov esi, eax
jmp 0x42854d
mov ecx, dword [ebp - 0x18c]
xor eax, eax
push eax
push dword [ebx + 8]
call fcn.00425225
mov edi, eax
mov dword [ebp - 0x1c], edi
pop ecx
pop ecx
test edi, edi
je 0x425ad1
mov eax, dword [ebp - 0x1a0]
lea esi, [edi + 0x10]
or dword [edi + 8], eax
xor edx, edx
movzx ecx, word [ebx + 2]
push 0x41e
push 5
pop eax
or ecx, eax
mov dword [ebp - 0x1c4], esi
mov eax, dword [ebp - 0x19c]
push ecx
push esi
push eax
mov ecx, dword [eax]
call fcn.00416697
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [esi]
push eax
call fcn.0041736d
mov esi, eax
mov dword [ebp - 0x190], esi
pop ecx
test esi, esi
jne 0x42852b
mov eax, dword [ebx + 0x10]
lea ecx, [edi + 0x38]
mov dword [ebp - 0x1cc], eax
mov dword [edi + 0x30], eax
mov dword [ebp - 0x24], ecx
test eax, eax
je 0x4284fd
mov edi, dword [ebp - 0x1c4]
movzx esi, word [ebx + 2]
or esi, dword [ebp - 0x1b8]
mov edi, dword [edi]
mov ecx, edi
call fcn.00414e79
mov edx, dword [ebp - 0x24]
mov ecx, edi
push esi
call fcn.0041cde3
pop ecx
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x190], esi
call fcn.00414eeb
mov edi, dword [ebp - 0x1c]
test esi, esi
jne 0x4284f9
push dword [edi + 0x2c]
mov edx, dword [edi + 0x38]
push dword [ebp - 0x1cc]
mov ecx, dword [edi + 0x10]
push 4
pop eax
push eax
call fcn.0041813e
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x190], esi
xor eax, eax
jmp 0x428528
push dword [edi + 0x2c]
mov edx, dword [ebp - 0x1a0]
xor eax, eax
push eax
push 4
pop eax
mov dword [ecx], edx
mov ecx, dword [edi + 0x10]
push eax
call fcn.0041813e
mov esi, eax
add esp, 0xc
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x190], esi
mov byte [edi + 4], al
push 8
pop eax
xor ecx, ecx
cmp word [ebx + 2], ax
push 4
pop eax
cmovne ecx, eax
mov eax, dword [edi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [edi + 8], ecx
test esi, esi
jne 0x42b2cf
mov eax, dword [ebp - 0x1a0]
mov byte [edi + 2], al
jmp 0x4259f4
push dword [ebp - 0x1a0]
mov edx, dword [ebx + 4]
mov ecx, edi
push dword [ebx + 8]
call fcn.00425225
pop ecx
pop ecx
test eax, eax
je 0x425ad7
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x30], ecx
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x19c]
push eax
call fcn.0042c837
jmp 0x4264bc
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x18]
mov ecx, edi
mov esi, dword [edx + 0x1c]
mov eax, esi
add ecx, dword [ebp - 0x1a0]
mov dword [edx + 0x18], ecx
adc eax, 0
or edi, esi
mov esi, dword [ebp - 0x190]
mov edi, dword [ebp - 0x18c]
mov dword [edx + 0x1c], eax
jmp 0x426b00
mov edx, dword [ebx + 4]
mov ecx, edi
push 3
push dword [ebx + 0xc]
call fcn.00425225
pop ecx
pop ecx
test eax, eax
je 0x425ad7
mov edx, dword [ebp - 0x1a0]
mov byte [eax + 2], dl
mov ecx, dword [ebx + 8]
mov dword [eax + 0x24], ecx
mov byte [eax + 4], dl
mov dword [eax + 0x2c], 0x4a606c
jmp 0x42b0ca
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
mov edx, dword [ecx + eax*4]
test edx, edx
je 0x428618
mov ecx, edi
call fcn.0042150f
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
xor edx, edx
mov dword [ecx + eax*4], edx
jmp 0x42b0ca
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x1c4], edi
mov dword [ebp - 0x24], ecx
mov word [edi + 2], cx
mov dword [edi + 0x20], ecx
cmp byte [edi + 4], cl
je 0x42879d
imul edi, dword [ebx + 0xc], 0x28
add edi, dword [ebp - 0x1a4]
movzx eax, word [edi + 0x10]
mov dword [ebp - 0x1b4], eax
and al, 0x2e
cmp al, byte [ebp - 0x1b8]
jne 0x42866d
xor edx, edx
mov ecx, edi
call fcn.004252fd
mov ecx, edi
call fcn.0041f278
movzx ecx, word [edi + 0x10]
mov dword [ebp - 0x1cc], edx
mov edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1c], eax
mov word [edi + 0x10], dx
test cl, 0x24
jne 0x42875b
push 8
pop edx
test dl, cl
jne 0x428714
mov eax, dword [ebp - 0x1a0]
test al, cl
jne 0x426433
push 0x17
pop ecx
cmp dword [ebp - 0x1a8], ecx
jae 0x426433
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [eax + 0x2c]
cmp byte [ecx], 0
jne 0x4286d7
test byte [ecx + 1], dl
je 0x4286d7
xor edx, edx
mov dword [ebp - 0x2c], edx
mov esi, edx
jmp 0x428387
lea edx, [ebp - 0x2c]
call fcn.00418907
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov esi, dword [ebp - 0x190]
cmp dword [ebp - 0x2c], 0
jne 0x426433
cmp dword [ebp - 0x24], 0
je 0x425a7e
add ebx, dword [ebp - 0x1d4]
jmp 0x425a7e
push dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1c]
movsd xmm1, qword [edi]
push esi
call fcn.00422899
pop ecx
pop ecx
test eax, eax
jle 0x428746
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a0]
test cl, al
jne 0x42875e
dec eax
mov dword [ebp - 0x1a8], eax
jmp 0x42875e
jns 0x42875e
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a0]
test cl, al
je 0x42875e
inc eax
jmp 0x42873e
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x1c4]
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x1cc]
xor edx, edx
mov ecx, dword [edi + 0x2c]
push esi
call fcn.00418963
mov ecx, eax
mov dword [edi + 0x40], esi
mov eax, dword [ebp - 0x1cc]
add esp, 0xc
mov dword [ebp - 0x190], ecx
mov dword [edi + 0x44], eax
test ecx, ecx
jne 0x42b408
jmp 0x428832
mov eax, dword [edi + 0x2c]
push 0
mov al, byte [eax + 3]
and al, 2
mov byte [ebp - 0x1ad], al
pop eax
setne al
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 0xe0], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xcc], ax
lea eax, [edx - 1]
and al, byte [ebp - 0x1a0]
lea edx, [ebp - 0xe0]
neg al
mov byte [ebp - 0xc6], cl
sbb al, al
and al, 0xfe
inc al
mov byte [ebp - 0xca], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1a4]
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0x2c]
mov ecx, dword [edi + 0x2c]
push eax
call fcn.00418bce
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
cmp byte [ebp - 0x1ad], al
je 0x428832
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
cmp byte [ebp - 0xc6], cl
je 0x4286ef
mov eax, dword [ebp - 0x1a8]
push 0x17
pop ecx
cmp eax, ecx
mov ecx, dword [ebp - 0x2c]
jl 0x428897
test ecx, ecx
js 0x428857
jne 0x42884d
cmp eax, 0x18
je 0x428857
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x4286ff
xor eax, eax
xor edx, edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [edi + 0x2c]
call fcn.00418feb
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
je 0x4286ef
cmp ecx, 0x65
jne 0x42b408
xor eax, eax
mov esi, eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x2c], eax
jmp 0x4286f5
test ecx, ecx
jg 0x4288b4
jne 0x4288a2
cmp eax, 0x15
je 0x4288b4
mov eax, dword [edi + 0x2c]
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov dword [ebp - 0x2c], ecx
jmp 0x4286ef
xor eax, eax
xor edx, edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [edi + 0x2c]
call fcn.004190f8
jmp 0x428866
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 0x18]
mov edi, dword [eax + ecx*4]
mov eax, dword [edi + 0x2c]
cmp byte [eax], 0
jne 0x4259f4
mov eax, dword [edi + 0x30]
xor ecx, ecx
mov esi, dword [ebx + 4]
mov dword [ebp - 0xe0], eax
mov ax, word [ebx + 0x24]
mov word [ebp - 0xcc], ax
imul eax, dword [ebx + 0x20], 0x28
mov byte [ebp - 0xca], cl
mov dword [ebp - 0x58], ecx
add eax, dword [ebp - 0x1a4]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0x19c]
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xe0]
mov edx, edi
push eax
call fcn.00423466
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov eax, dword [ebp - 0x58]
xor edx, edx
test eax, eax
jle 0x428947
cmp word [ebx + 2], dx
je 0x42897e
test eax, eax
jns 0x428984
test esi, esi
jle 0x425a7e
mov ecx, dword [edi + 0x2c]
dec esi
mov dword [edi + 0x20], edx
xor edx, edx
call fcn.00418feb
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
je 0x42890c
cmp ecx, 0x65
jne 0x42b408
xor eax, eax
mov edi, eax
mov dword [ebp - 0x190], edi
add ebx, dword [ebp - 0x1d4]
mov esi, dword [ebp - 0x190]
jmp 0x426433
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
movzx eax, word [ecx + 0xc]
cmp eax, dword [ebx + 8]
jge 0x4289ae
mov ax, word [ebx + 8]
mov word [ecx + 0xc], ax
jmp 0x42b0ca
cmp eax, dword [ebx + 0xc]
jle 0x42b0ca
mov ax, word [ebx + 0xc]
jmp 0x4289a5
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
je case.0x4256f7.9
cmp byte [eax + 2], 0
je 0x42b0ca
jmp case.0x4256f7.9
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
movzx eax, word [eax + 0xc]
cmp eax, dword [ebx + 0x10]
jge 0x42b0ca
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
imul ecx, dword [ebx + 0xc], 0x28
movzx eax, word [ebx + 0x10]
mov word [ebp - 0xcc], ax
add ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0xdc], ecx
test ax, ax
je 0x428a4a
mov eax, dword [esi + 0x30]
lea edi, [esi + 0x24]
mov dword [ebp - 0xe0], eax
lea edx, [ebp - 0xe0]
xor eax, eax
mov byte [ebp - 0xca], al
mov ecx, dword [esi + 0x2c]
push edi
call fcn.00418bce
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
jmp 0x428abd
mov eax, 0x400
test word [ecx + 0x10], ax
je 0x428a62
call fcn.0041f019
test eax, eax
jne 0x425ad7
mov ecx, dword [esi + 0x30]
call fcn.004225ca
mov edi, eax
mov dword [ebp - 0x1c], edi
test edi, edi
je 0x425ad1
mov edx, dword [ebp - 0xdc]
mov ecx, dword [esi + 0x30]
push edi
push dword [edx + 8]
mov edx, dword [edx + 0xc]
call fcn.00422615
xor eax, eax
mov edx, edi
mov byte [edi + 0x16], al
lea eax, [esi + 0x24]
mov ecx, dword [esi + 0x2c]
push eax
call fcn.00418bce
mov edx, dword [ebp - 0x1c]
add esp, 0xc
mov ecx, dword [ebp - 0x19c]
mov edi, eax
mov dword [ebp - 0x190], edi
call fcn.004052f2
mov ecx, edi
lea edi, [esi + 0x24]
test ecx, ecx
jne 0x42b408
mov ecx, dword [edi]
test ecx, ecx
setne al
xor edx, edx
mov byte [esi + 2], al
mov byte [esi + 3], dl
mov dword [esi + 0x20], edx
mov al, byte [ebx]
cmp al, 0x1d
jne 0x428af0
mov esi, dword [ebp - 0x190]
test ecx, ecx
mov edi, dword [ebp - 0x18c]
jmp 0x426b00
test ecx, ecx
jne 0x428984
cmp al, 0x1b
jne 0x428b2c
mov ecx, edx
movzx edx, word [ebp - 0xcc]
test edx, edx
je 0x425a7e
mov eax, dword [ebp - 0xdc]
add eax, 0x10
test byte [eax], 1
jne 0x428984
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x428b16
jmp 0x425a7e
cmp al, 0x1a
jne 0x425a7e
mov ax, word [ebx + 0x10]
mov word [esi + 0xc], ax
jmp 0x425a7e
imul esi, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x1a4]
add esi, ecx
test byte [esi + 0x10], 0x24
jne 0x428b95
push 0xa
pop ecx
push dword [ebp - 0x198]
lea edi, [ebp - 0xb8]
mov dl, 0x43
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0xb8]
call fcn.004253b1
pop ecx
push 4
pop eax
test byte [ebp - 0xa8], al
je 0x428984
mov edi, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
jmp 0x428ba0
mov ecx, dword [ebp - 0x1a4]
imul eax, dword [ebx + 0xc], 0x28
mov edi, dword [eax + ecx]
mov edx, dword [eax + ecx + 4]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [esi + 0x2c]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push edx
push edi
xor edx, edx
call fcn.00418963
mov ecx, eax
mov dword [esi + 0x40], edi
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [esi + 0x44], eax
add esp, 0xc
mov word [esi + 2], dx
mov dword [esi + 0x20], edx
mov eax, dword [ebp - 0x50]
mov dword [esi + 0x24], eax
mov dword [ebp - 0x190], ecx
cmp dword [ebp - 0x50], edx
je 0x4282f8
cmp dword [ebx + 8], edx
jne 0x428984
push 0x492ba4
push 0x17754
jmp 0x42b1cb
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
push 0
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [eax + 4], ecx
mov dword [eax], edx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1a0]
add dword [eax + 0x18], ecx
pop ecx
adc dword [eax + 0x1c], ecx
jmp 0x42b0ca
xorps xmm0, xmm0
xor eax, eax
mov edx, ebx
movlpd qword [ebp - 0x28], xmm0
mov ecx, edi
mov dword [ebp - 0x14], eax
call fcn.004254fa
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1b8]
mov edi, dword [ecx + edx*4]
mov dword [ebp - 0x1c], edi
test byte [edi + 8], al
jne 0x428d0a
mov ecx, dword [edi + 0x2c]
cmp byte [ecx], 0
jne 0x428ccc
push 8
pop eax
test byte [ecx + 1], al
je 0x428ccc
xor eax, eax
mov edi, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x190], edi
mov edi, dword [ebp - 0x1c]
mov esi, dword [edi + 0x2c]
mov ecx, esi
call fcn.0041820a
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
cmp ecx, 0x7fffffff
jl 0x428cf9
jg 0x428cc1
cmp eax, 0xffffffff
jb 0x428cf9
mov eax, dword [ebp - 0x1b8]
or dword [edi + 8], eax
jmp 0x428d0a
lea edx, [ebp - 0x14]
call fcn.00418907
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
cmp dword [ebp - 0x14], eax
je 0x428c9c
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x428d0a
add eax, dword [ebp - 0x1a0]
push 0
pop edx
adc ecx, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x428d9d
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax + 0xd0]
test eax, eax
jne 0x428d83
imul esi, edx, 0x28
add esi, dword [ebp - 0x1a4]
mov ecx, esi
call fcn.0041f3a2
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x428d4b
cmp edx, 0x7fffffff
je 0x428e03
mov eax, dword [ebp - 0x1b8]
test byte [edi + 8], al
jne 0x428e03
add ecx, dword [ebp - 0x1a0]
mov edi, dword [ebp - 0x24]
push 0
pop eax
adc edx, eax
cmp edi, edx
jg 0x428d92
jl 0x428d75
mov eax, dword [ebp - 0x28]
cmp eax, ecx
jae 0x428d95
mov eax, ecx
mov edi, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edi
jmp 0x428d95
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x428d81
imul esi, edx, 0x28
add esi, dword [eax + 0xc]
jmp 0x428d2e
mov eax, dword [ebp - 0x28]
mov dword [esi + 4], edi
mov edi, dword [ebp - 0x1c]
mov dword [esi], eax
mov eax, dword [ebp - 0x1b8]
test byte [edi + 8], al
je 0x428e0a
xor eax, eax
mov esi, eax
lea eax, [ebp - 0x28]
push eax
push 8
pop eax
push eax
call fcn.00407af1
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
and eax, 0x3fffffff
add ecx, dword [ebp - 0x1a0]
push 0
pop edx
adc eax, edx
mov dword [ebp - 0x28], ecx
lea edx, [ebp - 0x14]
mov dword [ebp - 0x24], eax
push edx
push eax
push ecx
mov ecx, dword [edi + 0x2c]
xor edx, edx
call fcn.00418963
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
cmp dword [ebp - 0x14], eax
jne 0x428e0a
inc esi
cmp esi, 0x64
jl 0x428dac
push 0xd
jmp 0x42b401
mov edx, dword [ebp - 0x1c4]
xor eax, eax
mov byte [edi + 3], al
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x425a7e
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 8], 0x28
mov esi, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x1a4]
add edx, dword [ebp - 0x1a4]
mov edi, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
xor ecx, ecx
cmp byte [ebx + 1], 0xfb
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xdc], eax
jne 0x428e8b
mov eax, dword [ebp - 0x19c]
cmp dword [eax + 0xfc], ecx
je 0x428e8b
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1c], eax
jmp 0x428e94
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c4], ecx
movzx eax, word [ebx + 2]
mov ecx, eax
test al, 1
je 0x428ed0
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x1a0]
push 0
add dword [eax + 0x28], ecx
pop ecx
adc dword [eax + 0x2c], ecx
movzx eax, word [ebx + 2]
mov ecx, eax
test al, 0x20
je 0x428ed0
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x24]
mov dword [ecx + 0x28], edi
mov dword [ecx + 0x2c], eax
movzx ecx, word [ebx + 2]
mov eax, dword [edx + 8]
mov dword [ebp - 0xd8], eax
mov eax, dword [edx + 0xc]
push 0x10
mov dword [ebp - 0xcc], eax
pop eax
test al, cl
je 0x428eee
mov edi, dword [esi + 0x24]
jmp 0x428ef2
xor eax, eax
mov edi, eax
mov eax, 0x400
test word [edx + 0x10], ax
push 0
pop eax
je 0x428f0c
mov eax, dword [edx]
mov dword [ebp - 0xc8], eax
xor eax, eax
jmp 0x428f12
mov dword [ebp - 0xc8], eax
and ecx, 0x8a
mov dword [ebp - 0xe8], eax
push edi
push ecx
mov ecx, dword [esi + 0x2c]
lea edx, [ebp - 0xe8]
call fcn.0041c2f8
pop ecx
pop ecx
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x190], ecx
mov byte [esi + 3], dl
mov dword [esi + 0x20], edx
test ecx, ecx
jne 0x42b408
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x425a7e
push dword [ebp - 0xdc]
push dword [ebp - 0xe0]
push dword [eax]
push dword [ebp - 0x1c4]
push 4
pop eax
test byte [ebx + 2], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x19c]
push dword [eax + 0xf8]
call dword [eax + 0xfc]
add esp, 0x18
jmp 0x425a7e
mov ecx, dword [edi + 0x60]
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
mov eax, dword [ebx + 8]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x428fc5
mov ecx, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x1a4]
imul eax, eax, 0x28
mov ecx, dword [eax + ecx]
mov eax, dword [eax + edi + 4]
mov edi, dword [ebp - 0x18c]
jmp 0x428fd3
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov edx, dword [edx + 0x2c]
push eax
push ecx
mov ecx, dword [esi + 0x2c]
call fcn.0041c750
pop ecx
jmp 0x4264bc
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 0x60]
mov edi, dword [eax + ecx*4]
jne 0x429052
mov eax, dword [ebp - 0x19c]
xor ecx, ecx
cmp dword [eax + 0xfc], ecx
je 0x429052
movsx ecx, byte [edi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0x1c4], esi
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1b8]
test byte [ebx + 2], al
je 0x429059
cmp byte [edi + 4], 0
je 0x429059
mov esi, dword [edi + 0x2c]
mov ecx, esi
call fcn.0041820a
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov esi, dword [ebp - 0x1c4]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], ecx
jmp 0x429059
xor eax, eax
mov dword [ebp - 0x1c], eax
mov esi, eax
mov dl, byte [ebx + 2]
mov ecx, dword [edi + 0x2c]
call fcn.0041ca63
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x190], ecx
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], edx
test ecx, ecx
jne 0x42b408
mov ecx, dword [ebp - 0x1a0]
test byte [ebp - 0x24], cl
je 0x425a7e
mov eax, dword [ebp - 0x18c]
add dword [eax + 0x28], ecx
adc dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x19c]
mov eax, dword [edx + 0xfc]
test eax, eax
je 0x425a7e
test esi, esi
je 0x425a7e
test byte [esi + 0x1c], 0x80
jne 0x425a7e
push dword [edi + 0x44]
push dword [edi + 0x40]
push dword [esi]
push dword [ebp - 0x1c]
push 9
push dword [edx + 0xf8]
call eax
jmp 0x428f89
mov edx, dword [ebp - 0x19c]
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
add dword [edx + 0x70], eax
mov dword [edx + 0x68], eax
adc dword [edx + 0x74], ecx
xor eax, eax
mov dword [edx + 0x6c], ecx
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], eax
jmp 0x42b0ca
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x54]
add edx, dword [ebp - 0x1a4]
push eax
push dword [ebx + 0x10]
call fcn.0042e108
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
cmp dword [ebp - 0x54], eax
mov esi, eax
jmp 0x42576f
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
add edx, dword [ebp - 0x1a4]
mov ecx, dword [eax + ecx*4]
call fcn.0042e0b2
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 0x20], ecx
jmp 0x425ce8
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov ecx, dword [edi + 0x60]
mov esi, eax
mov edx, dword [ebx + 4]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x2c]
mov ecx, edi
call fcn.0041820a
mov eax, dword [ebp - 0x19c]
mov edx, dword [edi + 0x2c]
cmp edx, dword [eax + 0x78]
ja 0x42b2e1
push esi
mov ecx, edi
call fcn.0041faff
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
cmp dword [ebx + 0xc], eax
jne 0x425a7e
mov eax, 0x4000
test word [esi + 0x10], ax
je 0x425a7e
mov ecx, esi
call fcn.0041efd3
mov edi, dword [ebp - 0x18c]
test eax, eax
jne 0x425ad7
jmp 0x425ce8
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
mov dword [ebp - 0x1c], eax
mov edi, dword [ecx + edx*4]
cmp byte [edi + 2], 0
je 0x42921c
mov ecx, dword [ebp - 0x1a0]
mov word [eax + 0x10], cx
jmp 0x4259f4
cmp byte [edi + 3], 0
je 0x42922d
mov eax, dword [edi + 0x40]
mov ecx, dword [edi + 0x44]
jmp 0x4292d2
mov eax, dword [ebp - 0x1b8]
cmp byte [edi], al
jne 0x42927b
mov ecx, dword [edi + 0x2c]
lea edx, [ebp - 0x40]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
call dword [eax + 0x30]
mov edi, eax
mov edx, esi
pop ecx
pop ecx
mov dword [ebp - 0x190], edi
mov edi, dword [ebp - 0x18c]
mov ecx, edi
call fcn.004235ec
mov ecx, dword [ebp - 0x190]
test ecx, ecx
jne 0x42ac66
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x190]
jmp 0x4292de
mov eax, dword [edi + 0x2c]
cmp byte [eax], 0
je 0x42929e
mov ecx, edi
call fcn.00422348
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b402
mov esi, eax
jmp 0x4292a8
xor eax, eax
mov esi, eax
mov dword [ebp - 0x190], esi
cmp byte [edi + 2], 0
je 0x4292bc
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1a0]
jmp 0x42621e
mov esi, dword [edi + 0x2c]
mov ecx, esi
call fcn.0041820a
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov esi, dword [ebp - 0x190]
mov edi, dword [ebp - 0x18c]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x1c]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x42b0ca
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + edx*4]
test eax, eax
jne 0x42932c
push 3
push dword [ebp - 0x1a0]
mov ecx, edi
call fcn.00425225
pop ecx
pop ecx
test eax, eax
je 0x425ad7
mov ecx, dword [ebp - 0x1a0]
xor edx, edx
or dword [eax + 8], 8
mov dword [eax + 0x24], edx
mov byte [eax + 4], cl
mov dword [eax + 0x2c], 0x4a606c
jmp 0x429334
mov ecx, dword [ebp - 0x1a0]
xor edx, edx
cmp byte [eax], 0
mov byte [eax + 2], cl
mov dword [eax + 0x20], edx
jne 0x425a7e
mov esi, dword [eax + 0x2c]
push dword [esi + 0x10]
call fcn.0040528e
xor eax, eax
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x1a0]
pop ecx
mov byte [esi], al
jmp 0x425ce8
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
cmp byte [ebp - 0x1ad], 0x89
mov edi, dword [esi + 0x2c]
mov dword [ebp - 0x30], eax
jne 0x42938e
or dword [esi + 0x24], 0xffffffff
mov ecx, edi
call fcn.00418240
test eax, eax
jne 0x425a7e
lea edx, [ebp - 0x30]
mov ecx, edi
call fcn.00418949
mov ecx, eax
xor edx, edx
mov al, byte [ebp - 0x30]
mov dword [ebp - 0x190], ecx
mov byte [esi + 2], al
mov byte [esi + 3], dl
mov dword [esi + 0x20], edx
test ecx, ecx
jne 0x42b408
cmp dword [ebx + 8], edx
jle 0x425a7e
mov edi, dword [ebp - 0x18c]
mov esi, ecx
cmp dword [ebp - 0x30], edx
jmp 0x42576f
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x44]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call fcn.004188db
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
cmp dword [ebp - 0x44], eax
jne 0x42a98f
mov ecx, esi
call fcn.00418eae
xor ecx, ecx
cmp edx, ecx
jl 0x42942d
jg 0x429411
cmp eax, ecx
jb 0x42942d
push edx
push eax
call fcn.00409783
pop ecx
cwde
cmp eax, dword [ebx + 0xc]
pop ecx
mov ecx, dword [ebp - 0x44]
cmovl ecx, dword [ebp - 0x1a0]
mov dword [ebp - 0x44], ecx
jmp 0x429430
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x190]
test ecx, ecx
jmp 0x42576f
inc dword [edi + 0xac]
mov eax, dword [edi + 0x60]
lea edx, [ebp - 0x4c]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x4c], eax
cmp byte [esi], al
jne 0x429467
mov ecx, esi
call fcn.0042dfbe
xor edx, edx
jmp 0x429477
mov ecx, dword [esi + 0x2c]
call fcn.004188db
xor edx, edx
mov byte [esi + 3], dl
mov dword [esi + 0x20], edx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov al, byte [ebp - 0x4c]
mov byte [esi + 2], al
cmp dword [ebx + 8], edx
jle 0x425a7e
cmp dword [ebp - 0x4c], ecx
mov esi, ecx
jmp 0x42576f
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [eax + ecx*4]
mov edx, edi
mov ecx, dword [ebp - 0x19c]
call fcn.0042e00e
jmp 0x4294e2
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 0xc]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2c]
call fcn.004190f8
jmp 0x4294e2
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 0xc]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2c]
call fcn.00418feb
mov ecx, eax
mov dword [ebp - 0x190], ecx
xor edx, edx
mov dword [edi + 0x20], edx
test ecx, ecx
jne 0x42950c
mov byte [edi + 2], dl
movzx eax, word [ebx + 2]
mov edi, dword [ebp - 0x18c]
inc dword [edi + eax*4 + 0xa4]
jmp 0x42ab0b
cmp ecx, 0x65
jne 0x42b408
mov eax, dword [ebp - 0x1a0]
mov esi, edx
mov dword [ebp - 0x190], esi
mov byte [edi + 2], al
mov edi, dword [ebp - 0x18c]
jmp 0x42ab28
mov ecx, dword [ebx + 4]
imul esi, dword [ebx + 8], 0x28
mov eax, dword [edi + 0x60]
mov edi, dword [eax + ecx*4]
add esi, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x1a0]
test byte [ebx + 2], cl
je 0x42955e
mov eax, dword [ebp - 0x18c]
push 0
add dword [eax + 0x28], ecx
pop ecx
adc dword [eax + 0x2c], ecx
mov eax, 0x400
test word [esi + 0x10], ax
je 0x429580
mov ecx, esi
call fcn.0041f019
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], edx
mov eax, dword [esi + 8]
mov dword [ebp - 0xe8], eax
imul eax, dword [ebx + 0xc], 0x28
push 0x10
pop ecx
add eax, dword [ebp - 0x1a4]
mov dword [ebp - 0xd4], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xd0], ax
movzx eax, word [ebx + 2]
test cl, al
je 0x4295c4
mov ecx, dword [edi + 0x24]
jmp 0x4295c6
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x2c]
lea edx, [ebp - 0xe8]
and eax, 0x8a
push eax
call fcn.0041c2f8
pop ecx
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x190], ecx
mov dword [edi + 0x20], eax
jmp 0x4282f8
imul esi, dword [ebx + 8], 0x28
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
add esi, dword [ebp - 0x1a4]
mov edi, dword [eax + ecx*4]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x429624
mov ecx, esi
call fcn.0041f019
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov edx, esi
mov ecx, edi
call fcn.0042d485
mov ecx, eax
mov dword [ebp - 0x190], ecx
jmp 0x4282f8
mov eax, dword [edi + 0x60]
lea edx, [ebp - 0xe0]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x2c]
mov ecx, edi
mov dword [ebp - 0xe0], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0xcc], ax
xor eax, eax
mov byte [ebp - 0xca], al
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0x1a4]
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0x80]
push eax
call fcn.00418bce
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
cmp dword [ebp - 0x80], eax
jne 0x4296b7
push 4
pop eax
mov dl, al
mov ecx, edi
call fcn.0041ca63
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
jmp 0x4296d2
xor edx, edx
cmp word [ebx + 2], dx
je 0x4296d4
mov ecx, dword [ebp - 0x19c]
call fcn.0043c219
test eax, eax
je 0x42b2fb
xor edx, edx
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], edx
jmp 0x425a7e
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.00422382
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
cmp byte [esi + 2], al
jne 0x429783
mov ecx, dword [ebp - 0x19c]
lea eax, [ebp - 0x70]
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov edx, dword [esi + 0x2c]
push eax
call fcn.00423366
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
cmp byte [ebx], 0x8d
jne 0x42976a
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x60]
mov edx, dword [eax + ecx*4]
xor eax, eax
mov byte [edx + 2], al
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x1a0]
mov byte [edx + 3], al
xor eax, eax
mov dword [edx + 0x44], ecx
mov dword [edx + 0x20], eax
mov eax, dword [ebx + 0x10]
mov dword [edx + 0x10], eax
mov dword [edx + 0x28], esi
jmp 0x425ce8
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x425ce8
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x1a4]
call fcn.0041f600
jmp 0x425ce8
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 3], 0
je 0x42b0ca
call fcn.00422308
jmp 0x425cd8
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
cmp byte [ebp - 0x1ad], 0x2a
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0xe0], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xcc], ax
sbb al, al
mov byte [ebp - 0xca], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1a4]
mov dword [ebp - 0xdc], eax
mov edi, dword [ecx + 0x2c]
mov ecx, edi
call fcn.00418252
mov esi, eax
xor eax, eax
cmp esi, eax
jbe 0x42b315
cmp esi, 0x7fffffff
ja 0x42b315
mov edx, dword [ebp - 0x19c]
lea ecx, [ebp - 0x188]
push eax
call fcn.0041f5ec
pop ecx
lea eax, [ebp - 0x188]
mov edx, esi
push eax
mov ecx, edi
call fcn.0041faff
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x17c]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.00422b8c
pop ecx
pop ecx
lea ecx, [ebp - 0x188]
mov esi, eax
call fcn.0041f212
mov dl, byte [ebx]
lea ecx, [esi + 1]
mov edi, dword [ebp - 0x18c]
neg esi
and dl, byte [ebp - 0x1a0]
cmovne esi, ecx
test esi, esi
mov esi, dword [ebp - 0x190]
jg 0x426439
jmp 0x42b0ca
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov ecx, dword [ebp - 0x19c]
mov esi, eax
mov eax, dword [ebp - 0x1a0]
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ecx + 0xcc]
inc ecx
cmp dword [eax + 0xc0], ecx
jg 0x42b324
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov edx, dword [ebx + 4]
mov dword [ebp - 0x48], ecx
lea ecx, [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x1c], eax
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041d39e
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
push 4
pop eax
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x48]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
test ecx, ecx
jne 0x42b408
cmp dword [ebp - 0x48], ecx
je 0x425a7e
push dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x48]
mov ecx, dword [ebp - 0x19c]
call fcn.0043e663
mov al, byte [ebp - 0x1c]
pop ecx
inc al
pop ecx
mov byte [ebp - 0x1e1], al
jmp 0x425ce8
mov ecx, dword [ebp - 0x19c]
lea eax, [ebp - 0x20]
mov edx, dword [ebx + 4]
xorps xmm0, xmm0
push eax
mov eax, dword [ebx + 8]
mov ecx, dword [ecx + 0x10]
add eax, eax
movlpd qword [ebp - 0x20], xmm0
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041d1aa
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x190], ecx
cmp dword [ebx + 0xc], eax
je 0x425ce0
mov edx, dword [ebp - 0x20]
add dword [edi + 0x28], edx
mov eax, dword [ebp - 0x1c]
adc dword [edi + 0x2c], eax
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x425ce0
mov esi, dword [ebp - 0x1a4]
imul ecx, eax, 0x28
add dword [ecx + esi], edx
mov eax, dword [ebp - 0x1c]
adc dword [ecx + esi + 4], eax
mov ecx, dword [ebp - 0x190]
jmp 0x425ce0
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1a0]
cmp byte [ecx], al
jne 0x4299d6
mov edx, dword [ecx + 0x2c]
mov ecx, dword [ebp - 0x19c]
call fcn.0042cb5c
jmp 0x42b0ca
mov ecx, dword [ecx + 0x2c]
call fcn.0041d209
jmp 0x425cd8
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x5c]
push dword [ebx + 0xc]
mov esi, eax
shl ecx, 4
xor eax, eax
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x19c]
add ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 4]
call fcn.0041cfe0
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
mov eax, dword [ebp - 0x5c]
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], eax
jmp 0x425ce8
mov esi, dword [ebp - 0x19c]
xor eax, eax
push eax
push eax
push eax
inc byte [esi + 0x60]
push dword [ebx + 0x10]
push esi
call fcn.0044948f
add esp, 0x14
dec byte [esi + 0x60]
jmp 0x425cd8
mov esi, dword [ebx + 4]
xor ecx, ecx
mov eax, dword [ebp - 0x19c]
cmp dword [ebx + 0x10], ecx
jne 0x429ab4
mov eax, dword [eax + 0x10]
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.00441600
mov eax, dword [ebp - 0x19c]
mov edx, esi
mov esi, dword [ebp - 0x19c]
pop ecx
mov ecx, esi
and dword [eax + 0x18], 0xffffffef
movzx eax, word [ebx + 2]
push eax
lea eax, [edi + 0x7c]
push eax
call fcn.0044d62e
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x1a0]
or dword [esi + 0x18], eax
and dword [edi + 0x98], 0xfffffffc
mov dword [ebp - 0x190], ecx
jmp 0x429b99
mov dword [ebp - 0xdc], eax
lea eax, [edi + 0x7c]
mov edi, dword [ebp - 0x19c]
mov dword [ebp - 0xd4], esi
add esi, esi
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd8], eax
mov ecx, dword [edi + 0x10]
mov ecx, dword [ecx + esi*8 + 4]
call fcn.004164f8
push dword [ebx + 0x10]
mov dword [ebp - 0xc4], eax
mov eax, dword [edi + 0x10]
push str.sqlite_master
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.00407677
mov esi, eax
add esp, 0x14
test esi, esi
je 0x42b337
mov eax, dword [ebp - 0x1a0]
mov byte [edi + 0xb1], al
xor eax, eax
push eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xdc]
push eax
push fcn.0044d465
push esi
push edi
call fcn.0044948f
mov edi, eax
add esp, 0x14
mov dword [ebp - 0x190], edi
test edi, edi
jne 0x429b76
mov edi, dword [ebp - 0xd0]
mov dword [ebp - 0x190], edi
test edi, edi
jne 0x429b76
cmp dword [ebp - 0xc8], edi
jne 0x429b76
mov ecx, 0x17d50
call fcn.0046f6a3
mov edi, eax
mov dword [ebp - 0x190], edi
mov edx, esi
mov esi, dword [ebp - 0x19c]
mov ecx, esi
call fcn.004052f2
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov edi, dword [ebp - 0x18c]
mov byte [esi + 0xb1], al
test ecx, ecx
jne 0x42b340
jmp 0x425ce8
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x19c]
call fcn.0043a673
jmp 0x425cd8
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x19c]
call fcn.0043c0ad
jmp 0x425c84
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x19c]
call fcn.0043bc33
jmp 0x425c84
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x19c]
call fcn.004570a4
jmp 0x425c84
imul eax, dword [ebx + 4], 0x28
imul edi, dword [ebx + 0xc], 0x28
mov ecx, dword [ebx + 0x10]
add eax, dword [ebp - 0x1a4]
add edi, dword [ebp - 0x1a4]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [edi]
inc eax
push eax
push dword [ebx + 8]
lea eax, [ecx + 4]
mov ecx, dword [ebp - 0x19c]
push eax
movzx eax, word [ebx + 2]
add eax, eax
mov edx, dword [ecx + 0x10]
mov edx, dword [edx + eax*8 + 4]
call fcn.0041de36
mov ecx, dword [ebp - 0x24]
add esp, 0x14
mov esi, eax
mov dword [ebp - 0x190], esi
call fcn.0041f600
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x429c8c
test esi, esi
jne 0x42b35f
mov ecx, dword [ebp - 0x24]
dec eax
cdq
sub dword [edi], eax
push fcn.0040528e
push dword [ebp - 0x1a0]
sbb dword [edi + 4], edx
mov edx, dword [ebp - 0xec]
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0041f879
add esp, 0x10
movzx edx, byte [ebp - 0x198]
mov ecx, dword [ebp - 0x24]
call fcn.0041ee6a
jmp 0x429526
imul edi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 8], 0x28
push 0x10
pop ecx
add edi, dword [ebp - 0x1a4]
add eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1c], eax
test byte [edi + 0x10], cl
jne 0x429cd1
mov ecx, edi
call fcn.0041f6e0
test eax, eax
jne 0x425ad1
mov eax, dword [ebp - 0x1c]
push dword [eax + 4]
mov ecx, dword [edi + 8]
push dword [eax]
call fcn.0040e671
jmp 0x4269c2
imul edi, dword [ebx + 4], 0x28
push 0x10
pop eax
add edi, dword [ebp - 0x1a4]
test byte [edi + 0x10], al
je 0x429d29
mov ecx, dword [edi + 8]
lea edx, [ebp - 0x90]
call fcn.0040e8cd
test eax, eax
je 0x429d29
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
add ecx, dword [ebp - 0x1a4]
call fcn.0041f66c
pop ecx
pop ecx
jmp 0x429526
mov ecx, edi
call fcn.0041f600
mov edi, dword [ebp - 0x18c]
jmp case.0x4256f7.9
imul edi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebx + 0x10]
push 0x10
pop edx
add edi, dword [ebp - 0x1a4]
add eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c], ecx
test byte [edi + 0x10], dl
jne 0x429d7b
mov ecx, edi
call fcn.0041f6e0
test eax, eax
jne 0x425ad1
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x429da1
push dword [eax + 4]
mov edx, ecx
mov ecx, dword [edi + 8]
push dword [eax]
call fcn.0040e925
pop ecx
pop ecx
test eax, eax
jne 0x426433
cmp dword [ebp - 0x1c], eax
jl 0x425a7e
mov eax, dword [ebp - 0x1c4]
jmp 0x429cd1
imul eax, dword [ebx + 0xc], 0x28
xor ecx, ecx
mov edi, dword [ebx + 0x10]
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x14], edi
add eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x24], eax
cmp word [ebx + 2], cx
je 0x429deb
mov ecx, dword [edi + 0x14]
mov eax, dword [edx + 0xd0]
test eax, eax
je 0x429de8
cmp dword [eax + 0x18], ecx
je 0x42b0c8
mov eax, dword [eax + 4]
jmp 0x429dd6
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x19c]
mov ecx, dword [edx + 0xd8]
cmp ecx, dword [edi + 0xa0]
mov edi, dword [ebp - 0x14]
jge 0x42b376
test byte [eax + 0x10], 0x10
jne 0x429f19
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 8]
add eax, edx
test edx, edx
lea ecx, [eax + 1]
cmovne ecx, eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x1c4], ecx
add eax, 7
imul ecx, ecx, 0xa
add ecx, edx
mov eax, eax
test eax, eax
jns 0x429e3a
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x19c]
add eax, 0x58
mov dword [ebp - 0x1c], eax
cdq
push edx
push eax
call fcn.0040555b
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x425ad1
mov ecx, dword [ebp - 0x24]
call fcn.0041f1f9
mov eax, dword [ebp - 0x24]
mov ecx, 0x1010
sub ebx, dword [ebp - 0x194]
mov word [eax + 0x10], cx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x1c4]
mov dword [eax + 8], edi
mov dword [eax + 0x24], 0x420eaf
mov eax, dword [ebp - 0x18c]
mov dword [edi], eax
mov eax, dword [ebp - 0x14]
mov dword [edi + 0x3c], ecx
imul ecx, ecx, 0x28
mov eax, dword [eax + 0xc]
mov dword [edi + 0x40], eax
mov eax, ebx
cdq
idiv dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x18c]
add ecx, 0x58
mov ebx, dword [ebp - 0x14]
add ecx, edi
mov dword [edi + 0x30], eax
mov eax, dword [edx + 0x58]
mov dword [edi + 0xc], eax
mov eax, dword [edx + 0x14]
mov dword [edi + 0x38], eax
mov eax, dword [edx + 0x60]
mov dword [edi + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [edi + 0x2c], eax
mov eax, dword [edx + 0x68]
mov dword [edi + 8], eax
mov eax, dword [edx + 0x6c]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0x18], eax
lea eax, [edi + 0x58]
cmp eax, ecx
je 0x429f11
mov edx, dword [ebp - 0x19c]
xor ebx, ebx
mov dword [eax + 0x14], edx
mov word [eax + 0x10], bx
add eax, 0x28
cmp eax, ecx
jne 0x429ef8
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18c]
mov ecx, dword [edx + 0xd8]
jmp 0x429f1f
mov edi, dword [eax + 8]
mov ebx, dword [ebp - 0x14]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x19c]
mov dword [edx + 0xd8], eax
mov eax, dword [edx + 0xd0]
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], ecx
mov eax, dword [edx]
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0x6c]
mov dword [edi + 0x54], eax
mov dword [edi + 0x50], ecx
mov eax, dword [edx + 0xe4]
mov dword [edi + 0x28], eax
xor eax, eax
mov dword [edx + 0xe4], eax
mov dword [edx + 0x28], eax
mov dword [edx + 0x2c], eax
lea eax, [edi + 0x58]
mov dword [edx + 0x58], eax
mov dword [edx + 0xd0], edi
mov ecx, dword [edi + 0x3c]
mov dword [edx + 0x14], ecx
imul ecx, ecx, 0x28
mov dword [ebp - 0x1a4], eax
movzx eax, word [edi + 0x40]
mov dword [edx + 0x18], eax
add ecx, 0x58
add ecx, edi
mov dword [edx + 0x60], ecx
mov eax, dword [ebx + 0xc]
lea ecx, [ecx + eax*4]
mov dword [edi + 0x14], ecx
mov eax, dword [ebx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
xor eax, eax
push eax
push ecx
call fcn.004753e0
mov ecx, dword [ebx]
add esp, 0xc
mov edi, dword [ebp - 0x18c]
mov dword [ebp - 0x194], ecx
mov dword [edi + 0x68], ecx
mov eax, dword [ebx + 4]
lea ebx, [ecx - 0x14]
mov dword [edi + 0x6c], eax
jmp 0x42ab28
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov esi, dword [edi + 0xd0]
mov ecx, 0x4000
push ecx
imul edx, dword [esi + 0x30], 0x14
mov ecx, dword [esi + 8]
mov ecx, dword [edx + ecx + 4]
add ecx, dword [ebx + 4]
imul edx, ecx, 0x28
mov ecx, eax
add edx, dword [esi + 0xc]
call fcn.0041f795
pop ecx
jmp 0x425ce8
mov eax, dword [ebp - 0x19c]
xor edx, edx
mov eax, dword [eax + 0x20]
and eax, 0x80000
or eax, edx
mov eax, dword [ebx + 8]
je 0x42a049
mov ecx, dword [ebp - 0x19c]
cdq
add dword [ecx + 0x208], eax
mov eax, ecx
adc dword [eax + 0x20c], edx
jmp 0x42b0ca
cmp dword [ebx + 4], edx
cdq
je 0x42a068
mov ecx, dword [ebp - 0x19c]
add dword [ecx + 0x200], eax
mov eax, ecx
adc dword [eax + 0x204], edx
jmp 0x42b0ca
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp 0x425b1c
xor eax, eax
cmp dword [ebx + 4], eax
je 0x42a094
mov edx, dword [ebp - 0x19c]
mov eax, dword [edx + 0x200]
or eax, dword [edx + 0x204]
jne 0x425b1c
jmp 0x42a0a6
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jne 0x425b1c
mov edx, dword [ebp - 0x19c]
mov eax, dword [edx + 0x208]
or eax, dword [edx + 0x20c]
je 0x426439
jmp 0x425b1c
mov eax, dword [edi + 0xd0]
test eax, eax
jne 0x42a10d
imul edi, dword [ebx + 4], 0x28
add edi, dword [ebp - 0x1a4]
mov ecx, edi
call fcn.0041f3a2
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1a4]
mov ecx, esi
call fcn.0041f3a2
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x425a7e
jl 0x42a101
cmp dword [edi], eax
jae 0x425a7e
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x425a7e
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x42a10b
imul edi, dword [ebx + 4], 0x28
add edi, dword [eax + 0xc]
jmp 0x42a0d1
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
add ecx, dword [ebp - 0x1a4]
mov edi, dword [ecx]
cmp dword [ecx + 4], edx
jl 0x4259f4
jg 0x42a13e
cmp edi, edx
jbe 0x4259f4
mov eax, dword [ebx + 0xc]
cdq
sub edi, eax
mov eax, dword [ecx + 4]
mov dword [ecx], edi
sbb eax, edx
mov dword [ecx + 4], eax
jmp 0x426433
imul esi, dword [ebx + 4], 0x28
mov edx, ebx
imul edi, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x18c]
add esi, dword [ebp - 0x1a4]
add edi, dword [ebp - 0x1a4]
call fcn.004254fa
mov ecx, dword [esi + 4]
mov edx, dword [esi]
xor esi, esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], ecx
cmp ecx, esi
jl 0x42a1d9
jg 0x42a190
xor ecx, ecx
cmp edx, ecx
jbe 0x42a1d9
mov ecx, dword [edi + 4]
xor edx, edx
mov eax, dword [edi]
cmp ecx, edx
jl 0x42a1a1
jg 0x42a1b8
cmp eax, edx
ja 0x42a1b8
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c8], xmm0
mov ecx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1c8]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00409543
pop ecx
pop ecx
test eax, eax
jne 0x42a1d6
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x1c]
jmp 0x428e1e
mov eax, dword [ebp - 0x1c]
or dword [eax], 0xffffffff
or dword [eax + 4], 0xffffffff
jmp 0x425a7e
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x1a4]
mov edx, dword [ecx]
mov eax, edx
mov edi, dword [ecx + 4]
or eax, edi
je 0x4259f4
xor eax, eax
cmp edi, eax
jl 0x426433
jg 0x42a212
cmp edx, eax
jbe 0x426433
sub edx, 1
mov dword [ecx], edx
sbb edi, eax
mov dword [ecx + 4], edi
jmp 0x426433
imul edx, dword [ebx + 4], 0x28
add edx, dword [ebp - 0x1a4]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
cmp ecx, 0x80000000
jl 0x42a249
jg 0x42a23e
test eax, eax
je 0x42a249
sub eax, 1
mov dword [edx], eax
sbb ecx, 0
mov dword [edx + 4], ecx
or eax, ecx
jmp 0x426b00
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x1c], eax
push ecx
mov ecx, dword [ebp - 0x19c]
lea eax, [eax*4 + 0x44]
push eax
call fcn.004055cb
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x425ad7
push dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x19c]
xor eax, eax
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x1c]
add eax, 7
lea ecx, [esi + eax*4]
mov dword [esi], ecx
call fcn.0041f5ec
mov eax, dword [ebx + 0x10]
mov dword [esi + 4], eax
mov eax, ebx
sub eax, dword [ebp - 0x194]
cdq
idiv dword [ebp - 0x1d4]
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
xor eax, eax
mov byte [esi + 0x19], al
mov dword [esi + 0x14], eax
mov al, byte [ebp - 0x198]
mov byte [esi + 0x18], al
mov eax, dword [ebp - 0x1c]
mov byte [esi + 0x1a], al
pop ecx
mov word [ebx], 0xf1a3
mov dword [ebx + 0x10], esi
imul edx, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1c], edx
cmp dword [esi + 8], edx
je 0x42a31f
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edx
js 0x42a31f
lea edi, [ecx + 7]
push 4
lea edi, [esi + edi*4]
pop edx
mov eax, dword [ebx + 8]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [ebp - 0x1a4]
mov dword [edi], eax
sub edi, edx
sub ecx, 1
jns 0x42a2ff
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18c]
inc dword [edx + 0xc]
lea eax, [esi + 0x1c]
cmp dword [ebx + 4], 0
movzx edx, byte [esi + 0x1a]
mov ecx, dword [esi + 4]
push eax
push edx
push esi
je 0x42a33a
call dword [ecx + 0x1c]
jmp 0x42a33d
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x425a7e
jle 0x42a36d
push dword [esi]
call fcn.00423985
pop ecx
push eax
push 0x48f18c
push edi
call fcn.0042009b
mov edi, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x190], edi
cmp byte [esi + 0x19], 0
je 0x42a398
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x42a393
xor ecx, ecx
push ecx
push dword [ebp - 0x1a0]
imul ecx, eax, 0x28
add ecx, dword [ebp - 0x1a4]
call fcn.0041f66c
pop ecx
pop ecx
xor eax, eax
mov byte [esi + 0x19], al
mov ecx, dword [esi]
call fcn.0041f1f9
mov eax, dword [esi]
mov ecx, dword [ebp - 0x1a0]
mov word [eax + 0x10], cx
xor eax, eax
mov dword [esi + 0x14], eax
jmp 0x4282f2
imul edi, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
add edi, ecx
test eax, eax
je 0x42a3e5
push edx
imul edx, eax, 0x28
add edx, ecx
mov ecx, edi
call fcn.0041f13b
imul edi, dword [ebx + 0xc], 0x28
pop ecx
add edi, dword [ebp - 0x1a4]
jmp 0x42a3ec
mov ecx, edi
call fcn.0041f0c2
mov esi, eax
mov dword [ebp - 0x190], esi
test esi, esi
jne 0x42b390
movzx edx, byte [ebp - 0x198]
mov ecx, edi
call fcn.0041ee6a
jmp 0x4259f4
mov edx, dword [ebx + 4]
xor eax, eax
mov ecx, dword [ebp - 0x19c]
or dword [ebp - 8], 0xffffffff
or dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x10], eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 8]
call fcn.0046e7d7
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x190], ecx
test ecx, ecx
je 0x42a464
push 5
pop eax
cmp ecx, eax
jne 0x42b408
mov ecx, dword [ebp - 0x1a0]
xor eax, eax
mov esi, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x190], esi
jmp 0x42a466
xor eax, eax
imul edi, dword [ebx + 0xc], 0x28
mov esi, eax
add edi, dword [ebp - 0x1a4]
mov eax, dword [ebp + esi*4 - 0x10]
mov ecx, edi
cdq
push edx
push eax
call fcn.0041f66c
inc esi
add edi, 0x28
pop ecx
pop ecx
cmp esi, 3
jl 0x42a472
jmp 0x425a7e
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov edx, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x1c4], eax
call fcn.0041d54b
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.00412722
mov ecx, dword [ebp - 0x14]
cmp edi, 0xffffffff
mov dword [ebp - 0x24], eax
cmove edi, eax
call fcn.00412727
mov edx, dword [ebp - 0x1a0]
test eax, eax
mov ecx, dword [ebp - 0x14]
cmove edi, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edi
call fcn.004124bf
push 5
pop ecx
cmp edi, ecx
jne 0x42a51c
mov ecx, eax
call fcn.00408349
test eax, eax
je 0x42a511
mov ecx, dword [ebp - 0x14]
call fcn.004127c5
test eax, eax
jne 0x42a519
mov edi, dword [ebp - 0x24]
jmp 0x42a5b9
push 5
pop ecx
mov eax, dword [ebp - 0x24]
cmp edi, eax
je 0x42a5b9
cmp eax, ecx
je 0x42a533
cmp edi, ecx
jne 0x42a5b9
mov ecx, dword [ebp - 0x19c]
cmp byte [ecx + 0x55], 0
je 0x42b3b7
mov edx, dword [ebp - 0x1a0]
cmp dword [ecx + 0xc0], edx
jg 0x42b3b7
push 5
pop edx
cmp eax, edx
jne 0x42a582
mov esi, dword [ebp - 0x14]
mov edx, ecx
mov ecx, esi
call fcn.004128a3
mov edi, eax
mov dword [ebp - 0x190], edi
test edi, edi
jne 0x42a5bd
mov edi, dword [ebp - 0x1c]
mov ecx, esi
mov edx, edi
call fcn.00412658
jmp 0x42a59b
push 4
pop ecx
cmp eax, ecx
jne 0x42a597
mov edx, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x14]
call fcn.00412658
test esi, esi
jne 0x42a5bd
mov ecx, dword [ebp - 0x1c4]
xor edx, edx
push 5
pop eax
cmp edi, eax
sete dl
inc edx
call fcn.0041e327
mov esi, eax
mov dword [ebp - 0x190], esi
test esi, esi
je 0x42a5c0
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
mov edx, edi
call fcn.00412658
mov esi, dword [ebp - 0x1cc]
mov ecx, 0x2202
mov word [esi + 0x10], cx
mov ecx, eax
call fcn.0044a00b
mov ecx, eax
mov dword [esi + 8], eax
call fcn.00408349
movzx edx, byte [ebp - 0x198]
mov ecx, esi
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x1a0]
mov byte [esi + 0x12], al
call fcn.0041ee6a
jmp 0x4282f2
mov eax, dword [ebx + 8]
test eax, eax
je 0x42a61b
imul eax, eax, 0x28
add eax, dword [ebp - 0x1a4]
jmp 0x42a61d
xor eax, eax
mov edx, dword [ebp - 0x19c]
lea ecx, [edi + 0x7c]
push eax
push dword [ebx + 4]
call fcn.0045a195
jmp 0x428fe0
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00417aca
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
je 0x425a7e
cmp ecx, 0x65
jne 0x42b408
xor eax, eax
mov esi, eax
mov dword [ebp - 0x190], esi
jmp 0x426439
xor eax, eax
cmp dword [ebx + 4], eax
jne 0x42a68d
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x19c]
call fcn.00423506
jmp 0x42b0ca
mov eax, dword [ebx + 8]
inc eax
xor eax, dword [edi + 0x98]
and eax, 3
xor dword [edi + 0x98], eax
jmp 0x425b1c
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x2c]
call fcn.00418248
jmp 0x42b0ca
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x2c]
call fcn.0041824d
jmp 0x42b0ca
mov al, byte [ebx + 0xc]
mov edx, dword [ebp - 0x19c]
mov byte [ebp - 0x1f4], al
test al, al
jne 0x42a6f6
mov eax, dword [edx + 0x24]
mov edi, dword [ebp - 0x18c]
and eax, 4
jne 0x425b1c
mov eax, dword [ebx + 4]
mov ecx, dword [edx + 0x10]
add eax, eax
push dword [ebp - 0x1f4]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041e23d
pop ecx
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
je 0x425ce8
cmp cl, 6
jne 0x42b408
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
push edi
call fcn.0042009b
add esp, 0xc
jmp 0x42b36b
mov esi, dword [ebx + 0x10]
mov edx, esi
mov ecx, dword [ebp - 0x19c]
call fcn.0045b345
mov ecx, eax
mov dword [ebp - 0x190], ecx
test esi, esi
je 0x425ce0
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.004235ec
jmp 0x4299a5
imul edx, dword [ebx + 8], 0x28
lea edi, [ebp - 0x160]
mov esi, dword [ebp - 0x19c]
xor eax, eax
push 0xa
pop ecx
rep stosd dword es:[edi], eax
add edx, dword [ebp - 0x1a4]
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x14c], esi
call fcn.0041f7e6
mov edi, eax
lea eax, [ebp - 0x160]
push eax
mov dword [ebp - 0x190], edi
call fcn.00423985
pop ecx
test eax, eax
je 0x42a7d5
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebx + 4]
add ecx, 0x7c
push ecx
push eax
mov ecx, esi
call fcn.0045af84
pop ecx
mov edi, eax
pop ecx
mov dword [ebp - 0x190], edi
lea ecx, [ebp - 0x160]
call fcn.0041f1f9
jmp 0x4282f2
mov esi, dword [ebp - 0x19c]
mov ecx, esi
inc dword [esi + 0xcc]
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.0045b245
dec dword [esi + 0xcc]
pop ecx
jmp 0x425cd8
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x42b3ed
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x42b3ed
lea ecx, [ebp - 0x24]
push ecx
push esi
call dword [eax + 0x18]
mov edi, eax
mov edx, esi
pop ecx
pop ecx
mov dword [ebp - 0x190], edi
mov edi, dword [ebp - 0x18c]
mov ecx, edi
call fcn.004235ec
mov ecx, dword [ebp - 0x190]
test ecx, ecx
jne 0x42ac66
mov eax, dword [ebp - 0x24]
mov ecx, edi
push dword [ebp - 0x1b8]
mov dword [eax], esi
xor eax, eax
mov edx, dword [ebx + 4]
push eax
call fcn.00425225
pop ecx
pop ecx
test eax, eax
je 0x42b3de
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x2c], ecx
inc dword [esi + 4]
jmp 0x425ce8
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1c], eax
xor eax, eax
push eax
push 8
pop eax
push eax
call fcn.00405222
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x425ad1
mov ecx, dword [ebp - 0x1c]
mov edx, ebx
mov ecx, dword [ecx + 0x2c]
mov dword [edi], ecx
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0x1a4]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x18c]
call fcn.004254fa
mov ecx, dword [ebp - 0x1a0]
mov edx, edi
push 0x4241b6
push str.ValueList
mov word [eax + 0x10], cx
mov ecx, eax
call fcn.0041f69f
jmp 0x4269c2
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul edx, dword [ebx + 0xc], 0x28
mov edi, dword [edi + 0x5c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1cc], eax
add edx, dword [ebp - 0x1a4]
mov esi, dword [eax + 0x2c]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [ebp - 0x24], eax
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [edx]
mov dword [ebp - 0x1c4], eax
xor eax, eax
test ecx, ecx
jle 0x42a939
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x42a92e
mov eax, dword [ebp - 0x1c]
push edi
push ecx
push dword [ebx + 0x10]
push dword [ebp - 0x1c4]
push esi
call dword [eax + 0x20]
mov edx, dword [ebp - 0x24]
mov edi, eax
add esp, 0x14
mov dword [ebp - 0x190], edi
mov edi, dword [ebp - 0x18c]
mov ecx, edi
call fcn.004235ec
mov ecx, dword [ebp - 0x190]
test ecx, ecx
jne 0x42ac66
mov eax, dword [ebp - 0x1c]
push esi
call dword [eax + 0x28]
pop ecx
mov ecx, dword [ebp - 0x1cc]
xor edx, edx
mov byte [ecx + 2], dl
test eax, eax
je 0x425ce8
mov esi, dword [ebp - 0x190]
jmp 0x426439
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1c4], edx
add ecx, eax
cmp byte [edx + 2], 0
mov dword [ebp - 0x1c], ecx
je 0x42a9c8
call fcn.0041f600
jmp 0x42b0ca
mov eax, dword [edx + 0x2c]
lea edi, [ebp - 0x138]
mov esi, dword [ebp - 0x1c]
push 8
mov eax, dword [eax]
mov dword [ebp - 0x1cc], eax
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
pop eax
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov al, byte [ebp - 0x198]
mov ecx, dword [ebp - 0x1a0]
mov dword [ebp - 0x138], esi
mov byte [ebp - 0x120], al
test byte [ebx + 2], cl
je 0x42aa1f
mov ecx, esi
call fcn.0041f600
mov edx, dword [ebp - 0x1c4]
xor eax, eax
mov dword [esi], eax
mov eax, 0x401
jmp 0x42aa31
mov ax, word [esi + 0x10]
mov edi, 0xf241
and ax, di
or ax, cx
movzx eax, ax
mov word [esi + 0x10], ax
lea eax, [ebp - 0x138]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0x24]
push dword [edx + 0x2c]
call dword [eax + 0x2c]
mov edx, dword [ebp - 0x1cc]
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x190], edi
mov edi, dword [ebp - 0x18c]
mov ecx, edi
call fcn.004235ec
cmp dword [ebp - 0x124], 0
jle 0x42aa97
push esi
call fcn.00423985
pop ecx
push eax
push 0x48f18c
push edi
call fcn.0042009b
mov edi, dword [ebp - 0x124]
add esp, 0xc
mov dword [ebp - 0x190], edi
mov edi, dword [ebp - 0x18c]
movzx edx, byte [ebp - 0x198]
mov ecx, esi
call fcn.0041ee6a
jmp 0x4299a5
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1c], eax
cmp byte [eax + 2], 0
jne 0x42b0ca
mov eax, dword [eax + 0x2c]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x1c4], ecx
call dword [ecx + 0x24]
mov edi, eax
mov edx, esi
pop ecx
mov dword [ebp - 0x190], edi
mov edi, dword [ebp - 0x18c]
mov ecx, edi
call fcn.004235ec
mov ecx, dword [ebp - 0x190]
test ecx, ecx
jne 0x42ac66
mov eax, dword [ebp - 0x1c]
push dword [eax + 0x2c]
mov eax, dword [ebp - 0x1c4]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x42ab22
mov esi, dword [ebp - 0x190]
imul eax, dword [ebx + 8], 0x14
mov ecx, dword [ebp - 0x194]
lea ebx, [ecx - 0x14]
add ebx, eax
jmp 0x42ab28
mov esi, dword [ebp - 0x190]
mov edx, dword [ebp - 0x19c]
xor eax, eax
cmp dword [edx + 0x128], eax
jne 0x42b3ff
mov eax, dword [ebp - 0x1f0]
cmp eax, dword [ebp - 0x1e8]
jb 0x425a7e
mov ecx, dword [ebp - 0x1dc]
ja 0x42ab62
cmp dword [ebp - 0x1ec], ecx
jb 0x425a7e
mov eax, dword [edx + 0x174]
test eax, eax
je 0x425a7e
add ecx, dword [edx + 0x17c]
push 0
mov dword [ebp - 0x1dc], ecx
pop ecx
push dword [edx + 0x178]
adc dword [ebp - 0x1e8], ecx
call eax
pop ecx
test eax, eax
jne 0x42b3f1
mov eax, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x1dc]
cmp eax, dword [ebp - 0x1e8]
ja 0x42ab62
jb 0x42b0ca
cmp dword [ebp - 0x1ec], ecx
jae 0x42ab62
jmp 0x42b0ca
mov ecx, dword [ebp - 0x19c]
mov edx, 0x4000000
mov eax, dword [ecx + 0x20]
or dword [ecx + 0x20], edx
and eax, edx
mov edx, dword [ebp - 0x1a0]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0x10]
add esi, dword [ebp - 0x1a4]
mov edi, dword [eax + 8]
mov ecx, esi
mov dword [ebp - 0x1c4], edi
call fcn.0041ee6a
mov ecx, eax
mov dword [ebp - 0x190], ecx
test ecx, ecx
jne 0x42b408
push dword [esi + 8]
mov eax, dword [edi]
push edi
call dword [eax + 0x4c]
cmp dword [ebp - 0x1c], 0
mov edi, eax
pop ecx
pop ecx
mov dword [ebp - 0x190], edi
jne 0x42ac3e
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edi, dword [ebp - 0x18c]
mov ecx, edi
mov edx, dword [ebp - 0x1c4]
call fcn.004235ec
and dword [edi + 0x98], 0xfffffffc
mov ecx, dword [ebp - 0x190]
test ecx, ecx
je 0x425ce8
mov esi, edi
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x57], 0
je 0x42b5c7
push 7
pop ecx
jmp 0x42b5db
mov eax, dword [ebp - 0x19c]
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
cmp byte [eax + 0x57], 0
jne 0x425add
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0x1c4], edx
test edx, edx
je 0x42b3ed
mov eax, dword [edx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x42b3ed
cmp dword [eax + 0x34], 0
mov edi, dword [ebx + 8]
je 0x425b16
mov eax, dword [ebp - 0x19c]
xor ecx, ecx
mov al, byte [eax + 0x5c]
mov byte [ebp - 0x1ad], al
mov eax, dword [ebp - 0x18c]
mov esi, dword [eax + 0x5c]
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1a4]
test edi, edi
jle 0x42acf9
mov dword [esi + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, edi
jl 0x42acee
mov ecx, dword [ebp - 0x19c]
mov al, byte [ebx + 2]
mov byte [ecx + 0x5c], al
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x1c]
push esi
push edi
push edx
call dword [eax + 0x34]
mov esi, dword [ebp - 0x19c]
mov edi, eax
mov al, byte [ebp - 0x1ad]
add esp, 0x10
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x190], edi
mov edi, dword [ebp - 0x18c]
mov ecx, edi
mov byte [esi + 0x5c], al
call fcn.004235ec
mov ecx, dword [ebp - 0x190]
test ecx, ecx
jne 0x42ad64
xor edx, edx
cmp dword [ebx + 4], edx
je 0x42ad93
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x2c], ecx
mov ecx, dword [ebp - 0x190]
mov dword [esi + 0x28], eax
jmp 0x42ad93
cmp cl, 0x13
jne 0x42ad91
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x42ad91
movzx edx, word [ebx + 2]
push 4
pop eax
cmp dx, ax
jne 0x42b413
xor eax, eax
mov esi, eax
mov dword [ebp - 0x190], esi
jmp 0x42b0ca
xor edx, edx
mov eax, dword [ebp - 0x1a0]
add dword [edi + 0x28], eax
adc dword [edi + 0x2c], edx
jmp 0x42ac5e
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov edx, dword [ebx + 4]
mov esi, eax
mov eax, dword [ebp - 0x19c]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.004164f8
jmp 0x429a24
mov edx, ebx
mov ecx, edi
call fcn.004254fa
mov edx, dword [ebx + 4]
mov dword [ebp - 0x1c], eax
add edx, edx
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax + 0x10]
mov edi, dword [ecx + edx*8 + 4]
xor ecx, ecx
mov eax, ecx
cmp dword [ebx + 0xc], ecx
je 0x42ae00
mov ecx, edi
call fcn.004164f8
cmp eax, dword [ebx + 0xc]
cmovb eax, dword [ebx + 0xc]
mov edx, eax
mov ecx, edi
call fcn.00416f5c
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
xor eax, eax
mov dword [ecx + 4], eax
jmp 0x4259f4
imul edi, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add edi, dword [ebp - 0x1a4]
cmp dword [esi], edi
je 0x42ae60
mov eax, dword [ebp - 0x18c]
mov byte [esi + 0x18], ch
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 0xc], eax
mov dword [esi], edi
js 0x42ae60
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebx + 8]
add eax, ecx
imul eax, eax, 0x28
push 4
add eax, dword [ebp - 0x1a4]
mov dword [edx], eax
pop eax
sub edx, eax
sub ecx, 1
jns 0x42ae46
mov ax, word [edi + 0x10]
mov ecx, 0xf241
and ax, cx
or ax, word [ebp - 0x1a0]
mov word [edi + 0x10], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
push esi
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x425a7e
jle 0x42aebb
push edi
call fcn.00423985
pop ecx
push eax
push 0x48f18c
push dword [ebp - 0x18c]
call fcn.0042009b
mov edi, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x190], edi
push dword [ebx + 4]
mov edi, dword [ebp - 0x18c]
push dword [esi + 0x10]
mov ecx, dword [ebp - 0x19c]
lea edx, [edi + 0xe4]
call fcn.004221b5
pop ecx
xor eax, eax
pop ecx
mov dword [esi + 0x14], eax
jmp 0x42ac58
imul eax, dword [ebx + 4], 0x28
mov edx, 0xf7ff
add eax, dword [ebp - 0x1a4]
and word [eax + 0x10], dx
jmp 0x425b1c
imul edi, dword [ebx + 4], 0x28
mov edx, ebx
mov ecx, dword [ebp - 0x1a4]
add edi, dword [ebp - 0x1a4]
call fcn.0042551f
mov esi, eax
mov ecx, edx
mov eax, dword [edi + 0xc]
cdq
push edx
push eax
push ecx
push esi
call fcn.00482680
mov esi, eax
and eax, 7
shrd esi, edx, 3
mov edx, dword [edi + 8]
movsx ecx, byte [esi + edx]
bts ecx, eax
mov byte [esi + edx], cl
jmp 0x425a7e
imul ebx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1a4]
add ebx, dword [ebp - 0x1a4]
call fcn.0042551f
mov esi, eax
mov ecx, edx
mov eax, dword [ebx + 0xc]
cdq
push edx
push eax
push ecx
push esi
call fcn.00482680
mov ecx, dword [ebx + 8]
mov edi, eax
mov eax, dword [ebp - 0x1a0]
mov esi, edi
mov ebx, dword [ebp - 0x14]
and edi, 7
shrd esi, edx, 3
movsx edx, byte [esi + ecx]
mov ecx, edi
mov edi, dword [ebp - 0x18c]
mov esi, dword [ebp - 0x190]
shl eax, cl
test eax, edx
jne 0x42afa2
inc dword [edi + 0xc4]
jmp 0x426439
inc dword [edi + 0xc0]
jmp 0x42b0ca
mov eax, dword [ebp - 0x19c]
mov cl, byte [eax + 0x5e]
test cl, 0x41
je 0x42b076
cmp byte [edi + 0x93], 0xfe
je 0x42b076
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x42afe1
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x42b076
test cl, 0x40
je 0x42b00f
mov edx, eax
mov ecx, edi
call fcn.00424f39
mov esi, eax
mov eax, dword [ebp - 0x19c]
push esi
push dword [eax + 0xdc]
call dword [eax + 0xd8]
push esi
call fcn.0040528e
add esp, 0xc
jmp 0x42b05d
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x1a0]
push eax
cmp dword [ecx + 0xc8], edx
jle 0x42b065
push str.____s
push ecx
call fcn.00407677
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x19c]
push esi
push edi
push dword [eax + 0xdc]
push dword [ebp - 0x1a0]
call dword [eax + 0xd8]
push esi
push dword [ebp - 0x19c]
call fcn.0040538c
add esp, 0x18
mov esi, dword [ebp - 0x190]
jmp 0x42b076
push edi
push dword [ecx + 0xdc]
push edx
call dword [ecx + 0xd8]
add esp, 0x10
mov eax, dword [ebx + 4]
cmp eax, dword [0x49ba14]
jl 0x42b0b9
cmp byte [ebx], 0xb5
je 0x42b0ca
mov eax, dword [ebp - 0x1a0]
mov edx, eax
cmp dword [edi + 0x6c], eax
jle 0x42b0b7
mov eax, dword [ebp - 0x1d4]
mov esi, eax
mov ecx, dword [edi + 0x68]
cmp byte [eax + ecx], 0xf
jne 0x42b0a9
and dword [eax + ecx + 4], 0
inc edx
add eax, esi
cmp edx, dword [edi + 0x6c]
jl 0x42b09b
mov esi, dword [ebp - 0x190]
xor eax, eax
inc eax
mov dword [ebx + 4], eax
inc dword [edi + 0xbc]
jmp 0x426439
mov edi, edx
mov eax, dword [ebp - 0x194]
mov ch, byte [ebp - 0x198]
add ebx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1ec]
jmp 0x4256c5
mov ecx, dword [ebx + 4]
mov dword [edi + 0x24], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x92], al
test ecx, ecx
je 0x42b176
movzx eax, word [ebx + 2]
test ax, ax
je 0x42b13c
push dword [eax*4 + 0x489b88]
push str._s_constraint_failed
push edi
call fcn.0042009b
add esp, 0xc
cmp dword [ebx + 0x10], 0
je 0x42b14d
push dword [ebx + 0x10]
push dword [edi + 0x7c]
push str._z:__s
push dword [ebp - 0x19c]
call fcn.00407677
add esp, 0x10
mov dword [edi + 0x7c], eax
jmp 0x42b14d
push dword [ebx + 0x10]
push 0x48f18c
push edi
call fcn.0042009b
add esp, 0xc
mov eax, ebx
sub eax, dword [ebp - 0x194]
cdq
idiv dword [ebp - 0x1d4]
push dword [edi + 0x7c]
push dword [edi + 0xc8]
push eax
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.0040787c
add esp, 0x14
mov ecx, edi
call fcn.00421d90
mov esi, dword [ebp - 0x18c]
mov edi, eax
mov edx, dword [ebp - 0x19c]
push 5
pop eax
cmp edi, eax
jne 0x42b19a
mov dword [esi + 0x24], eax
jmp 0x427e7e
xor eax, eax
cmp dword [esi + 0x24], eax
push 0x65
pop ecx
cmovne ecx, dword [ebp - 0x1a0]
mov dword [ebp - 0x190], ecx
mov edi, ecx
jmp 0x427e7e
mov ecx, dword [ebp - 0x1d4]
jmp 0x42b402
push 0x492ba4
push 0x16e90
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0040787c
add esp, 0x14
push 0xb
jmp 0x42b401
mov eax, dword [ebp - 0x24]
and ecx, 0x3f
mov esi, dword [ebp - 0x1b4]
add eax, eax
push dword [esi + eax*8]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18c]
push dword [eax]
movzx eax, byte [ecx + 0x48e250]
push dword [edx*4 + 0x49c864]
push dword [eax*4 + 0x48cf58]
push str.cannot_store__s_value_in__s_column__s._s
push esi
call fcn.0042009b
add esp, 0x18
mov ecx, 0xc13
mov dword [ebp - 0x190], ecx
jmp 0x42ac68
push str.cannot_open_savepoint___SQL_statements_in_progress
mov esi, dword [ebp - 0x18c]
push esi
call fcn.0042009b
pop ecx
pop ecx
push 5
pop eax
mov ecx, eax
jmp 0x42b22a
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x42b23a
mov eax, ebx
mov esi, edi
sub eax, dword [ebp - 0x194]
cdq
idiv dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x19c]
mov dword [esi + 0x20], eax
xor eax, eax
mov byte [edx + 0x55], al
mov edi, ecx
mov dword [esi + 0x24], ecx
jmp 0x427e7e
and edx, esi
xor eax, eax
or edx, eax
mov esi, dword [ebp - 0x18c]
je 0x42b291
push 8
jmp 0x42b24a
push 0xb
pop ecx
jmp 0x42b22a
mov esi, dword [ebp - 0x18c]
cmp cl, 5
jne 0x42ac68
mov eax, ebx
mov dword [edi + 0x24], ecx
sub eax, dword [ebp - 0x194]
cdq
idiv dword [ebp - 0x1d4]
mov dword [edi + 0x20], eax
mov edi, dword [ebp - 0x190]
jmp 0x427e78
mov ecx, 0x204
jmp 0x42b402
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [eax]
call fcn.00416ceb
jmp 0x42b36b
mov edi, dword [ebp - 0x18c]
push str.string_or_blob_too_big
push edi
call fcn.0042009b
pop ecx
pop ecx
push 0x12
jmp 0x42b401
push str.index_corruption
mov edx, 0x17b87
mov ecx, 0x30b
call fcn.0046f681
pop ecx
jmp 0x42b4e2
mov ecx, 0x17c54
call fcn.0046f6a3
jmp 0x42b4e2
mov eax, dword [ebp - 0x1b8]
push 6
mov byte [edi + 0x92], al
jmp 0x42b401
push 7
pop edi
mov dword [ebp - 0x190], edi
mov ecx, dword [ebp - 0x19c]
call fcn.0043bd97
mov ecx, dword [ebp - 0x190]
cmp ecx, 7
je 0x425ad1
jmp 0x42b408
push dword [ebp - 0xec]
call fcn.0040528e
pop ecx
mov ecx, dword [ebp - 0x190]
jmp 0x42b408
mov edi, dword [ebp - 0x1a0]
push str.too_many_levels_of_trigger_recursion
push edx
mov dword [ebp - 0x190], edi
call fcn.0042009b
pop ecx
jmp 0x42b36a
push edi
call fcn.00423985
pop ecx
push eax
push 0x48f18c
mov esi, dword [ebp - 0x18c]
push esi
call fcn.0042009b
mov ecx, dword [ebp - 0x190]
add esp, 0xc
jmp 0x42ac68
mov edi, dword [ebp - 0x1a0]
mov eax, str.into
push 5
pop edx
cmp dword [ebp - 0x1c], edx
mov ecx, str.out_of
mov dword [ebp - 0x190], edi
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x42b39d
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x24]
call dword [eax + 0x1c]
pop ecx
jmp 0x425ad7
push 6
jmp 0x42b401
or dword [ebp - 0x1dc], 0xffffffff
or dword [ebp - 0x1e8], 0xffffffff
push 9
pop ecx
mov dword [ebp - 0x190], ecx
mov esi, dword [ebp - 0x18c]
jmp 0x42ac68
push 5
pop esi
cmp dx, si
movzx eax, dl
cmove eax, dword [ebp - 0x1b8]
mov byte [edi + 0x92], al
jmp 0x42ac66
mov eax, dword [edi + 0x1c]
add eax, dword [ebp - 0x1b8]
or eax, dword [ebp - 0x1a0]
mov dword [edi + 0x1c], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x1a4]
mov dword [edi + 0x78], eax
mov eax, dword [ebp - 0x19c]
cmp byte [eax + 0x57], 0
jne 0x425add
push 4
pop edx
test byte [eax + 0x5e], dl
je 0x42b479
xor ecx, ecx
push ecx
push edi
push dword [eax + 0xdc]
push edx
call dword [eax + 0xd8]
add esp, 0x10
mov eax, ebx
sub eax, dword [ebp - 0x194]
cdq
idiv dword [ebp - 0x1d4]
push 0x64
inc eax
mov dword [edi + 0x20], eax
jmp 0x427e71
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov dword [ebp - 0x30], edx
movzx eax, byte [ecx + 0x55]
cmp edx, eax
je 0x42b56c
test esi, esi
je 0x42b4c4
mov edx, 0x204
call fcn.0046dd89
mov al, byte [ebp - 0x1a0]
jmp 0x42b50c
test edx, edx
je 0x42b4e9
xor eax, eax
cmp dword [ecx + 0xc4], eax
jle 0x42b4e9
push str.cannot_commit_transaction___SQL_statements_in_progress
push edi
call fcn.0042009b
pop ecx
pop ecx
push 5
pop eax
mov ecx, eax
jmp 0x42b402
mov edx, dword [ebp - 0x1a0]
mov ecx, edi
call fcn.00421d22
mov edi, eax
test edi, edi
jne 0x427e72
mov al, byte [ebp - 0x30]
mov edi, dword [ebp - 0x18c]
mov byte [ebp - 0x30], al
mov esi, dword [ebp - 0x19c]
mov ecx, edi
mov byte [esi + 0x55], al
call fcn.00421d90
push 5
pop ecx
cmp eax, ecx
jne 0x42b54b
mov eax, ebx
sub eax, dword [ebp - 0x194]
cdq
idiv dword [ebp - 0x1d4]
mov edx, esi
mov esi, dword [ebp - 0x18c]
mov dword [edi + 0x20], eax
mov al, byte [ebp - 0x1a0]
sub al, byte [ebp - 0x30]
jmp 0x42b272
mov ecx, esi
call fcn.0046d917
mov esi, dword [ebp - 0x18c]
xor eax, eax
push 0x65
pop edi
cmp dword [esi + 0x24], eax
cmovne edi, dword [ebp - 0x1a0]
jmp 0x427e78
test esi, esi
mov eax, str.cannot_commit___no_transaction_is_active
mov ecx, str.cannot_rollback___no_transaction_is_active
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmovne eax, ecx
push eax
push edi
call fcn.0042009b
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1a0]
jmp 0x42b402
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1ec], eax
jmp 0x42b3ff
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1ec], eax
jmp 0x425ad7
cmp ecx, 0x210a
jne 0x42b5e1
mov ecx, 0x184e6
call fcn.0046f6a3
mov ecx, eax
mov dword [ebp - 0x190], ecx
xor eax, eax
cmp dword [esi + 0x7c], eax
jne 0x42b604
cmp ecx, 0xc0a
je 0x42b604
call fcn.0046de93
push eax
push 0x48f18c
push esi
call fcn.0042009b
add esp, 0xc
mov edi, dword [ebp - 0x190]
mov edx, edi
mov ecx, dword [ebp - 0x19c]
mov dword [esi + 0x24], edi
call fcn.004083d9
mov eax, ebx
sub eax, dword [ebp - 0x194]
cdq
idiv dword [ebp - 0x1d4]
push dword [esi + 0x7c]
push dword [esi + 0xc8]
push eax
push str.statement_aborts_at__d:___s___s
push edi
call fcn.0040787c
mov ecx, dword [ebp - 0x1b8]
add esp, 0x14
cmp byte [esi + 0x95], cl
jne 0x42b65c
mov ecx, esi
call fcn.00421d90
mov ecx, dword [ebp - 0x1b8]
cmp edi, 0xc0a
jne 0x42b69d
mov ecx, dword [ebp - 0x19c]
call fcn.0040589f
mov edx, dword [ebp - 0x19c]
mov al, byte [ebp - 0x1e1]
mov edi, dword [ebp - 0x1a0]
test al, al
je 0x427e7e
mov ecx, dword [ebp - 0x19c]
movzx edx, al
dec edx
call fcn.0043bd41
jmp 0x427e78
cmp edi, 0xb
jne 0x42b66f
mov edx, dword [ebp - 0x19c]
cmp byte [edx + 0x55], 0
jne 0x42b675
mov eax, dword [edx + 0x20]
or dword [edx + 0x24], ecx
mov dword [edx + 0x20], eax
jmp 0x42b675
mov ecx, dword [ebp - 0x1ec]
xor eax, eax
add dword [esi + 0xb4], ecx
cmp dword [esi + 0xa0], eax
je 0x42b6d6
mov ecx, esi
call fcn.00420e01
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00473c7a
leave
ret