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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x278
push esi
push edi
mov edi, ecx
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], edi
mov byte [esp + 0x6b], 0
mov dword [esp + 0x88], 0
mov esi, dword [edi]
mov eax, dword [edi + 0x58]
mov dword [esp + 0x58], eax
mov dword [esp + 0x14], eax
mov al, byte [esi + 0x42]
mov byte [esp + 0x60], al
mov eax, dword [edi + 0x5c]
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], eax
call fcn.00427f50
cmp dword [edi + 0x28], 7
je 0x434336
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x68], 0
cmp dword [esi + 0xf8], 0
mov dword [esi + 0x184], 0
jne 0x435172
cmp dword [esi + 0x130], 0
je 0x42eae2
mov ecx, dword [esi + 0x138]
xor edx, edx
mov eax, dword [edi + 0xb0]
div ecx
sub ecx, edx
mov dword [esp + 0xa4], ecx
jmp 0x42eaed
mov dword [esp + 0xa4], 0xffffffff
mov eax, dword [edi + 0x24]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x110], 0xff61
mov dword [esp + 0x90], 0x3e00
lea eax, [eax + eax*4]
mov dword [esp + 0x11c], 0x17
lea ecx, [ecx + eax*4]
xor eax, eax
inc eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], eax
mov al, byte [ecx]
movzx edx, al
mov byte [esp + 0x3b], al
mov dword [esp + 0x2c], edx
cmp edx, 0xa4
ja case.0x42eb3f.74
jmp dword [edx*4 + 0x435328]
mov edx, dword [esp + 0x14]
mov ecx, edx
mov edi, dword [esp + 0x28]
sub ecx, dword [esp + 0x58]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, 4
mov word [edi + esi*8 + 8], ax
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x58]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [edi + esi*8], eax
mov dword [edi + esi*8 + 4], edx
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42ec80
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x58]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
mov dword [esp + 0x14], eax
mov eax, 0x80
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [edi + ecx*8], eax
mov eax, edi
mov edi, dword [esp + 0x1c]
mov dword [eax + ecx*8 + 4], edx
mov edx, 4
mov word [eax + ecx*8 + 8], dx
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], 0
jne 0x431bcf
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x58]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [esi + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42ebab
mov edx, dword [esp + 0x14]
mov ecx, 4
mov edi, dword [esp + 0x28]
mov eax, dword [edx + 4]
sub edx, dword [esp + 0x58]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x28]
mov word [eax + esi*8 + 8], cx
mov ecx, dword [eax + esi*8]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [edi + esi*8], eax
mov eax, edi
mov dword [eax + esi*8 + 4], edx
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x58]
lea esi, [ecx + eax*4]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x42ec8f
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x58]
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [esp + 0x14]
cmp dword [edx + 4], 0
jne 0x434cb2
mov ecx, dword [edi + 0xc4]
test ecx, ecx
je 0x434cb2
mov eax, dword [ecx + 4]
mov esi, dword [esp + 0x18]
dec dword [edi + 0xcc]
mov dword [edi + 0xc4], eax
mov eax, dword [edi + 0x2c]
add dword [esi + 0x5c], eax
mov dword [esi + 0x58], eax
call fcn.004289d0
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], 4
jne 0x42ed1f
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov edx, dword [edi + 0x58]
lea eax, [eax + eax*4]
mov ecx, dword [edi + 0x5c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x58], edx
lea ecx, [edx + eax*4]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x42ed7e
call fcn.0042e9f0
mov ecx, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42eb1d
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edx, [eax + ecx*8]
mov eax, 0x2460
test word [edx + 8], ax
je 0x42edca
mov ecx, edx
call fcn.0042e9f0
mov edx, eax
jmp 0x42edd3
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x14]
mov dword [edx + 4], eax
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x42ee18
call fcn.0042e9f0
mov ecx, eax
jmp 0x42ee21
mov eax, 4
mov word [ecx + 8], ax
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0x20]
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x42ee6f
mov ecx, esi
call fcn.0042e9f0
mov esi, eax
jmp 0x42ee78
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x10]
mov ecx, edi
mov byte [eax], 0x3a
call fcn.0040c620
cmp byte [esp + 0x60], 1
mov edx, dword [esp + 0x14]
mov dword [edx + 4], eax
je 0x42eefb
push 0
push 1
push 0xffffffffffffffff
mov edx, edi
mov ecx, esi
call fcn.00426030
movzx edx, byte [esp + 0x6c]
add esp, 0xc
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.00425470
test eax, eax
jne 0x43432e
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
mov eax, dword [esp + 0x14]
cmp byte [eax + 1], 0xf9
jne 0x42eee7
mov edx, dword [eax + 0x10]
mov ecx, dword [esp + 0x18]
call fcn.00409990
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov byte [eax + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 4], eax
mov esi, dword [esp + 0x18]
mov eax, dword [edx + 4]
cmp eax, dword [esi + 0x60]
jg 0x434f3a
mov edi, dword [esp + 0x1c]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x42ef39
call fcn.0042e9f0
mov edx, dword [esp + 0x14]
mov ecx, eax
jmp 0x42ef42
mov edx, dword [esp + 0x14]
jmp 0x42ef0f
mov eax, 4
mov word [ecx + 8], ax
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [esp + 0x60]
mov byte [ecx + 0xa], al
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x42ec8f
mov edi, dword [esp + 0x28]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
cdq
cmp dword [edi + esi*8], eax
mov edi, dword [esp + 0x1c]
jne 0x42ebbc
mov eax, dword [esp + 0x28]
cmp dword [eax + esi*8 + 4], edx
mov esi, dword [esp + 0x18]
jne 0x42ec8f
mov eax, 0xa10
mov word [ecx + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x42efdb
mov ecx, esi
call fcn.0042e9f0
mov esi, eax
jmp 0x42efe4
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
mov edx, 0x101
mov ecx, dword [esp + 0x14]
mov edi, dword [eax + 0xc]
sub edi, dword [eax + 8]
mov eax, 1
cmp dword [ecx + 4], 0
mov dword [esi + 0xc], 0
cmovne eax, edx
movzx eax, ax
mov word [esi + 8], ax
add esi, 0xc
mov dword [esp + 0x30], eax
test edi, edi
jle 0x42fd45
lea esi, [esi + 0x28]
lea ecx, [esi - 0xc]
call fcn.00425dd0
mov eax, dword [esp + 0x30]
dec edi
mov word [esi - 4], ax
mov dword [esi], 0
test edi, edi
jg 0x42f020
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, word [esp + 0x110]
or ax, 1
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x42f0b0
mov ecx, esi
call fcn.0042e9f0
mov esi, eax
jmp 0x42f0b9
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, esi
push 0
push 0
push dword [eax + 4]
mov edx, dword [eax + 0x10]
call fcn.00426030
mov al, byte [esp + 0x6c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov byte [esi + 0xa], al
add ecx, 0x14
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x74]
lea edx, [edx - 5]
lea edx, [eax + edx*8]
movzx eax, word [edx + 8]
test al, 0x12
je 0x42f12a
mov esi, dword [edx + 0xc]
test eax, 0x4000
je 0x42f113
add esi, dword [edx]
mov eax, dword [edx + 0x20]
xor ecx, ecx
cmp esi, dword [eax + 0x60]
mov esi, dword [esp + 0x18]
setg cl
test ecx, ecx
jne 0x434f3e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
push 0x800
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00425f70
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x2c], ecx
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
nop dword [eax]
mov eax, 0x2460
test word [esi + 8], ax
jne 0x42f191
cmp dword [esi + 0x18], 0
je 0x42f19c
mov ecx, esi
call fcn.00425940
mov ecx, dword [esp + 0x2c]
movups xmm0, xmmword [edi]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esi + 0x20], xmm0
mov word [edi + 8], ax
mov eax, 0x1000
mov dword [edi + 0x18], 0
test word [esi + 8], ax
je 0x42f1e2
mov ecx, esi
call fcn.00425620
test eax, eax
jne 0x43432e
mov ecx, dword [esp + 0x2c]
add edi, 0x28
add esi, 0x28
sub ecx, 1
mov dword [esp + 0x2c], ecx
jne 0x42f180
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x50], eax
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
nop word [eax + eax]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.00425f70
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x42f25b
mov ecx, esi
call fcn.00425620
test eax, eax
jne 0x43432e
mov ecx, dword [esp + 0x50]
mov eax, ecx
dec ecx
mov dword [esp + 0x50], ecx
test eax, eax
je 0x42ec87
add esi, 0x28
add edi, 0x28
jmp 0x42f230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
push 0x1000
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00425f70
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
push dword [ecx + eax*8 + 4]
push dword [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00425e30
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edx + 8]
mov dword [esp + 0x2c], ecx
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [edx + 0xc]
movzx edx, word [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [edi + 8]
or al, dl
test al, 1
je 0x42f33a
mov ecx, esi
call fcn.00425dd0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
test edx, 0x4000
je 0x42f34f
call fcn.004256a0
test eax, eax
jne 0x43432e
mov eax, 0x4000
test word [edi + 8], ax
je 0x42f369
mov ecx, edi
call fcn.004256a0
test eax, eax
jne 0x43432e
mov eax, dword [esp + 0x2c]
test byte [eax + 8], 0x12
jne 0x42f38b
mov dl, byte [esp + 0x60]
mov ecx, eax
push 0
call fcn.00425750
add esp, 4
test eax, eax
jne 0x43432e
test byte [edi + 8], 0x12
jne 0x42f3a9
mov dl, byte [esp + 0x60]
mov ecx, edi
push 0
call fcn.00425750
add esp, 4
test eax, eax
jne 0x43432e
mov ecx, dword [esp + 0x2c]
mov eax, dword [edi + 0xc]
add eax, dword [ecx + 0xc]
cdq
mov dword [esp + 0x40], eax
mov ecx, edx
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
cdq
cmp ecx, edx
jg 0x434627
mov edx, dword [esp + 0x40]
jl 0x42f3d8
cmp edx, eax
ja 0x434627
xor eax, eax
mov ecx, esi
cmp esi, edi
sete al
add edx, 2
push eax
call fcn.00425490
add esp, 4
test eax, eax
jne 0x43432e
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x42f41e
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.004a45a0
add esp, 0xc
mov eax, dword [esp + 0x2c]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [edi + 0xc]
add eax, dword [esi + 0x10]
push eax
call fcn.004a45a0
mov eax, dword [esi + 0x10]
add esp, 0xc
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x1c]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [esi + 8], ax
mov al, byte [esp + 0x60]
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x14]
mov byte [esi + 0xa], al
add ecx, 0x14
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
movzx ecx, word [edi + eax*8 + 8]
lea edx, [edi + eax*8]
mov eax, ecx
mov dword [esp + 0x3c], edx
and eax, 0xc
je 0x42f49c
mov dword [esp + 0x40], eax
jmp 0x42f4b9
test cl, 0x12
je 0x42f4b1
mov ecx, edx
call fcn.0042e9a0
movzx eax, ax
mov dword [esp + 0x40], eax
jmp 0x42f4b9
mov dword [esp + 0x40], 0
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
movzx ecx, word [edi + eax*8 + 8]
lea edx, [edi + eax*8]
mov eax, ecx
mov dword [esp + 0x50], edx
and eax, 0xc
je 0x42f4d8
mov dword [esp + 0x2c], eax
jmp 0x42f4f9
test cl, 0x12
je 0x42f4f1
mov ecx, edx
call fcn.0042e9a0
mov edx, dword [esp + 0x50]
movzx eax, ax
mov dword [esp + 0x2c], eax
jmp 0x42f4f9
mov dword [esp + 0x2c], 0
mov eax, dword [esi + 0xc]
mov esi, dword [esp + 0x3c]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x44], eax
mov ax, word [edx + 8]
or ax, word [esi + 8]
movzx ecx, ax
mov al, byte [esp + 0x2c]
and al, byte [esp + 0x40]
test al, 4
je 0x42f646
mov eax, esi
mov byte [esp + 0x3b], 1
mov esi, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x70], esi
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], edx
movzx eax, byte [eax]
add eax, 0xffffffa8
cmp eax, 3
ja case.default.0x42f551
jmp dword [eax*4 + 0x4355bc]
push ecx
push edi
lea ecx, [esp + 0x78]
call fcn.0040d900
add esp, 8
test eax, eax
jne 0x42f656
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
jmp 0x42f611
test edi, edi
jne 0x42f5a4
cmp ecx, 0x80000000
jne 0x42f5a4
test edx, edx
jg 0x42f656
jl 0x42f599
test esi, esi
jae 0x42f656
add esi, 0
adc edx, 0x80000000
jmp 0x42f609
neg edi
adc ecx, 0
neg ecx
jmp case.0x42f551.88
push ecx
push edi
lea ecx, [esp + 0x78]
call fcn.0040d9a0
jmp 0x42f563
mov eax, edi
or eax, ecx
je 0x42f775
mov eax, edi
and eax, ecx
cmp eax, 0xffffffff
jne 0x42f5d9
test esi, esi
jne 0x42f5d9
cmp edx, 0x80000000
je 0x42f656
push ecx
push edi
push edx
push esi
call fcn.004d7340
jmp 0x42f607
mov eax, edi
or eax, ecx
je 0x42f775
mov eax, edi
and eax, ecx
cmp eax, 0xffffffff
jne 0x42f5fe
mov edi, 1
xor ecx, ecx
push ecx
push edi
push edx
push esi
call fcn.004d73f0
mov esi, eax
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edx
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x1c]
mov ax, word [ecx + 8]
mov dword [ecx + 4], edx
mov edx, 0x3e00
and ax, dx
mov dword [ecx], esi
mov esi, dword [esp + 0x18]
or ax, 4
mov word [ecx + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
test cl, 1
jne 0x42f775
mov byte [esp + 0x3b], 0
jmp 0x42f65a
mov esi, dword [esp + 0x3c]
mov ecx, esi
call fcn.00425b00
mov ecx, dword [esp + 0x50]
movsd qword [esp + 0x30], xmm0
call fcn.00425b00
mov eax, dword [esp + 0x14]
movaps xmm1, xmm0
movsd qword [esp + 0x48], xmm1
movzx eax, byte [eax]
add eax, 0xffffffa8
cmp eax, 3
ja case.default.0x42f688
jmp dword [eax*4 + 0x4355cc]
addsd xmm1, qword [esp + 0x30]
jmp 0x42f715
subsd xmm1, qword [esp + 0x30]
jmp 0x42f715
mulsd xmm1, qword [esp + 0x30]
jmp 0x42f715
movsd xmm0, qword [esp + 0x30]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x42f775
divsd xmm1, xmm0
jmp 0x42f715
movsd xmm0, qword [esp + 0x30]
call fcn.004d93cf
movsd xmm0, qword [esp + 0x48]
mov esi, eax
mov edi, edx
call fcn.004d93cf
mov ecx, eax
mov dword [esp + 0x74], edx
mov eax, esi
mov dword [esp + 0x70], ecx
or eax, edi
je 0x42f775
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x42f702
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ecx
call fcn.004d73f0
mov ecx, eax
call fcn.004d9520
movaps xmm1, xmm0
movaps xmm0, xmm1
call fcn.0040c5e0
test eax, eax
jne 0x42f775
mov ecx, dword [esp + 0x44]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm1
or ax, 8
mov word [ecx + 8], ax
mov eax, dword [esp + 0x2c]
or al, byte [esp + 0x40]
test al, 8
jne 0x42ec87
cmp byte [esp + 0x3b], 0
jne 0x42ec87
call fcn.00425b30
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov ecx, dword [esp + 0x44]
call fcn.00425dd0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
test eax, eax
je 0x42ec8f
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.00425e30
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [esi + 8]
mov dword [esp + 0x30], ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esi + 0xc]
mov esi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [edx + 8]
or al, byte [ecx + 8]
mov dword [esp + 0x48], esi
test al, 1
je 0x42f81f
mov ecx, esi
call fcn.00425dd0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov ecx, edx
call fcn.00425a80
mov ecx, dword [esp + 0x30]
mov edi, eax
mov esi, edx
mov dword [esp + 0x120], edi
mov dword [esp + 0x124], esi
call fcn.00425a80
mov ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov al, byte [eax]
mov byte [esp + 0x3b], al
cmp al, 0x54
jne 0x42f85e
and edi, ecx
and esi, edx
jmp 0x42f8f8
cmp al, 0x55
jne 0x42f86b
or edi, ecx
or esi, edx
jmp 0x42f8f8
mov eax, ecx
or eax, edx
je 0x42f8f8
test edx, edx
jg 0x42f89e
jl 0x42f87f
test ecx, ecx
jae 0x42f89e
mov al, 0xad
sub al, byte [esp + 0x3b]
cmp edx, 0xffffffff
jl 0x42f8ad
jg 0x42f891
cmp ecx, 0xffffffc0
jbe 0x42f8ad
neg ecx
mov dword [esp + 0x50], ecx
adc edx, 0
neg edx
jmp 0x42f8a2
mov al, byte [esp + 0x3b]
test edx, edx
jl 0x42f8d5
jg 0x42f8ad
cmp ecx, 0x40
jb 0x42f8d5
test esi, esi
jg 0x42f8c2
jl 0x42f8b7
test edi, edi
jae 0x42f8c2
cmp al, 0x56
je 0x42f8c2
or edi, 0xffffffff
or esi, edi
jmp 0x42f8f8
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
jmp 0x42f8f8
movq xmm1, qword [esp + 0x120]
movd xmm0, ecx
cmp al, 0x56
jne 0x42f92d
psllq xmm1, xmm0
movq qword [esp + 0x30], xmm1
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx], edi
mov edi, dword [esp + 0x1c]
or ax, 4
mov dword [ecx + 4], esi
mov esi, dword [esp + 0x18]
mov word [ecx + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
psrlq xmm1, xmm0
movq qword [esp + 0x30], xmm1
test esi, esi
jg 0x42f8f0
jl 0x42f941
test edi, edi
jae 0x42f8f0
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, dword [esp + 0x50]
or edx, 0xffffffff
call fcn.004d74b0
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
or edi, eax
or esi, edx
jmp 0x42f8f8
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00425b90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [esp + 0x20]
adc dword [esi + 4], edx
add ecx, 0x14
mov esi, dword [esp + 0x18]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
test al, 4
jne 0x42f9f6
test al, 8
jne 0x42f9cb
test al, 2
je 0x42f9d2
mov edx, 1
mov ecx, esi
call fcn.0042e800
jmp 0x42f9d2
mov ecx, esi
call fcn.00425b30
movzx eax, word [esi + 8]
test al, 4
jne 0x42f9f6
mov esi, dword [esp + 0x14]
cmp dword [esi + 8], 0
jne 0x431bd3
mov ecx, 0x14
mov esi, dword [esp + 0x18]
jmp 0x4351c3
mov ecx, dword [esp + 0x14]
and eax, 0x3e00
or eax, 4
add ecx, 0x14
mov word [esi + 8], ax
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea ecx, [ecx + eax*8]
je 0x42ec8f
call fcn.00425c00
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x42fa70
mov ecx, esi
call fcn.004256a0
mov dword [esp + 0x24], eax
jmp 0x42fa78
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x60]
mov dl, byte [eax + 8]
call fcn.00425d00
mov ecx, dword [esp + 0x28]
add esp, 4
mov esi, dword [esp + 0x18]
test ecx, ecx
jne 0x4351c3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x2c], edi
lea eax, [eax + eax*4]
movzx edx, word [ecx + eax*8 + 8]
lea esi, [ecx + eax*8]
movzx eax, word [edi + 8]
mov ecx, edx
or ecx, eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
test cl, 1
je 0x42fb83
movzx eax, word [eax + 2]
test al, al
jns 0x42fb18
mov al, dl
and al, byte [esp + 0x5c]
test al, 1
je 0x42fb0e
test edx, 0x100
jne 0x42fb0e
xor edx, edx
jmp 0x42fc92
mov edx, 1
jmp 0x42fc92
test al, 0x20
je 0x42fb63
mov eax, dword [esp + 0x14]
mov esi, 0x3e00
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x88], 1
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, si
mov esi, dword [esp + 0x18]
or ax, 1
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
test al, 0x10
jne 0x431bcf
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov al, byte [eax + 2]
and al, 0x47
cmp al, 0x43
jb 0x42fc15
test cl, 2
je 0x42fbc3
mov al, byte [esp + 0x5c]
and al, 0xe
cmp al, 2
jne 0x42fbb0
xor edx, edx
mov ecx, edi
call fcn.0042e800
movzx eax, word [esi + 8]
mov dword [esp + 0x3c], eax
mov al, byte [esp + 0x3c]
and al, 0xe
cmp al, 2
jne 0x42fbc3
xor edx, edx
mov ecx, esi
call fcn.0042e800
mov al, byte [edi + 8]
and al, byte [esi + 8]
test al, 4
je 0x42fc7d
mov edx, dword [esp + 0x2c]
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov eax, dword [edx]
mov edx, dword [edx + 4]
cmp edi, edx
jl 0x42fc01
jg 0x42fbe9
cmp ecx, eax
jbe 0x42fbf7
mov edi, dword [esp + 0x2c]
mov edx, 1
jmp 0x42fc92
cmp edi, edx
jg 0x42fc0d
jl 0x42fc01
cmp ecx, eax
jae 0x42fc0d
mov edi, dword [esp + 0x2c]
or edx, 0xffffffff
jmp 0x42fc92
mov edi, dword [esp + 0x2c]
xor edx, edx
jmp 0x42fc92
cmp al, 0x42
jne 0x42fc7d
mov al, byte [esp + 0x5c]
test al, 2
jne 0x42fc4b
test al, 0xc
je 0x42fc4b
mov dl, byte [esp + 0x60]
mov ecx, edi
push 1
call fcn.00425750
mov ax, word [edi + 8]
mov ecx, 0x3e00
xor ax, word [esp + 0x60]
add esp, 4
and ax, cx
xor word [esp + 0x5c], ax
mov al, byte [esp + 0x3c]
test al, 2
jne 0x42fc7d
test al, 0xc
je 0x42fc7d
mov dl, byte [esp + 0x60]
mov ecx, esi
push 1
call fcn.00425750
mov ax, word [esi + 8]
mov ecx, 0x3e00
xor ax, word [esp + 0x40]
add esp, 4
and ax, cx
xor word [esp + 0x3c], ax
mov eax, dword [esp + 0x14]
mov edx, edi
mov ecx, esi
push dword [eax + 0x10]
call fcn.0042a830
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x14]
movzx eax, byte [eax]
add eax, 0xffffffb3
cmp eax, 4
ja case.default.0x42fca1
jmp dword [eax*4 + 0x4355dc]
xor ecx, ecx
test edx, edx
sete cl
jmp 0x42fcd2
mov ecx, edx
jmp 0x42fcd2
mov ecx, edx
jmp 0x42fccf
xor ecx, ecx
test edx, edx
setle cl
jmp 0x42fcd2
xor ecx, ecx
test edx, edx
setg cl
jmp 0x42fcd2
mov ecx, edx
not ecx
shr ecx, 0x1f
movzx eax, word [esp + 0x5c]
mov word [edi + 8], ax
movzx eax, word [esp + 0x3c]
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
test al, 0x20
je 0x42fd59
mov eax, dword [esp + 0x14]
mov dword [esp + 0x88], edx
xor edx, edx
test ecx, ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 8]
setne dl
lea esi, [eax + eax*4]
movzx eax, word [ecx + 2]
test al, 8
je 0x42fd20
xor eax, eax
cmp byte [ecx], 0x4e
sete al
cmp eax, edx
je 0x42fd45
mov edi, dword [esp + 0x28]
mov ax, word [edi + esi*8 + 8]
and ax, word [esp + 0x90]
or ax, 4
mov dword [edi + esi*8], edx
mov word [edi + esi*8 + 8], ax
mov dword [edi + esi*8 + 4], 0
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
test ecx, ecx
jne 0x431bcf
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
cmp dword [esp + 0x88], 0
jne 0x431bcf
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov esi, dword [esp + 0x14]
test byte [esi + 2], 1
jne 0x42fda1
xor eax, eax
jmp 0x42fda7
mov eax, dword [esi - 4]
add eax, 4
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov edi, dword [esp + 0x14]
mov esi, dword [esi + 4]
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], eax
mov esi, dword [edi + 8]
mov dword [esp + 0x30], esi
xor esi, esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x40], edx
test ecx, ecx
jle 0x42ec87
lea edi, [edx + 0x14]
test eax, eax
je 0x42fde1
mov ecx, dword [eax + esi*4]
jmp 0x42fde3
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [esp + 0x28]
push dword [edi]
movzx eax, byte [eax + esi]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x34]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x4c]
add eax, ecx
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0042a830
mov edx, eax
add esp, 4
mov dword [esp + 0x88], edx
test edx, edx
jne 0x42fe4f
mov eax, dword [esp + 0x50]
inc esi
mov edx, dword [esp + 0x40]
add edi, 4
cmp esi, dword [esp + 0x2c]
jl 0x42fdd8
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
cmp dword [esp + 0x44], 0
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
je 0x42ec97
neg edx
add ecx, 0x14
mov dword [esp + 0x88], edx
jmp 0x42eb1d
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
test edx, edx
jns 0x42fea6
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x20]
add ecx, 0xffffffec
add ecx, 0x14
jmp 0x42eb1d
jne 0x42fec0
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x20]
add ecx, 0xffffffec
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x20]
add ecx, 0xffffffec
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x42fef7
mov esi, 2
jmp 0x42ff09
call fcn.00425a80
or eax, edx
je 0x42ff07
mov esi, 1
jmp 0x42ff09
xor esi, esi
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x42ff28
mov eax, 2
jmp 0x42ff3a
call fcn.00425a80
or eax, edx
je 0x42ff38
mov eax, 1
jmp 0x42ff3a
xor eax, eax
mov ecx, dword [esp + 0x14]
lea eax, [eax + esi*2]
cmp byte [ecx], 0x47
jne 0x42ff4f
mov al, byte [esi + eax + 0x4eded4]
jmp 0x42ff56
mov al, byte [esi + eax + 0x4eb3e4]
movzx edx, al
mov esi, 0x3e00
mov eax, dword [ecx + 0xc]
lea ecx, [eax + eax*4]
cmp edx, 2
jne 0x42ff7e
mov edx, dword [esp + 0x28]
mov ax, word [edx + ecx*8 + 8]
and ax, si
or ax, 1
jmp 0x42ebb7
mov eax, dword [esp + 0x28]
mov dword [eax + ecx*8], edx
mov edx, eax
mov ax, word [edx + ecx*8 + 8]
and ax, si
mov dword [edx + ecx*8 + 4], 0
or ax, 4
jmp 0x42ebb7
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00425dd0
test byte [edi + 8], 1
jne 0x42ec87
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.00425a80
or eax, edx
jne 0x430003
mov edi, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esi + 4], ecx
mov eax, 1
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
add ecx, 0x14
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov edi, dword [esp + 0x1c]
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
add ecx, 0x14
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00425dd0
test byte [edi + 8], 1
jne 0x42ec87
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.00425a80
mov ecx, dword [esp + 0x14]
not eax
mov edi, dword [esp + 0x1c]
not edx
mov dword [esi], eax
add ecx, 0x14
mov eax, dword [esp + 0x20]
mov dword [esi + 4], edx
mov esi, dword [esp + 0x18]
jmp 0x42eb1d
mov edi, dword [edi + 0xc4]
mov eax, dword [esp + 0x1c]
test edi, edi
je 0x4300fc
mov ecx, dword [esp + 0x14]
sub ecx, dword [eax + 0x58]
mov eax, 0x66666667
mov edi, dword [edi + 0x18]
imul ecx
mov eax, 1
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl eax, cl
movzx edx, byte [esi + edi]
test edx, eax
jne 0x431bcf
mov eax, dword [esp + 0x1c]
bts edx, ecx
mov ecx, dword [esp + 0x14]
mov byte [esi + edi], dl
mov esi, dword [esp + 0x18]
mov eax, dword [eax + 0x58]
mov edi, dword [esp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 4]
je 0x431bcf
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x1c]
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x430149
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0xc]
jmp 0x430172
call fcn.00425b00
mov edi, dword [esp + 0x14]
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
xor ecx, ecx
test ah, 0x44
mov eax, 1
cmovp ecx, eax
cmp byte [edi], 0x16
mov edi, dword [esp + 0x1c]
jne 0x430172
xor ecx, eax
test ecx, ecx
jne 0x431bcf
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x431bcf
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x431bcf
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x42ec8f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00425dd0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42ec80
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
mov ecx, dword [edx + 4]
mov esi, dword [edx + 8]
mov dword [esp + 0x78], esi
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x2c], edi
cmp byte [edi], 0
jne 0x430261
cmp byte [edi + 3], 0
je 0x4302c9
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4302c0
mov eax, dword [eax + esi*4 + 4]
test eax, eax
jle 0x4302c0
mov edi, dword [edi + 0x24]
dec eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x78], eax
mov dword [esp + 0x24], 0
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov edx, dword [edi + 0x48]
lea eax, [eax + eax*4]
mov dword [esp + 0x5c], edx
lea ecx, [ecx + eax*8]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x3c], ecx
cmp eax, dword [esi + 0x20]
je 0x4303b3
cmp byte [edi + 2], 0
je 0x4302f0
cmp byte [edi], 3
jne 0x42f31d
mov eax, dword [edi + 0x28]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8 + 0xc]
mov dword [edi + 0x54], esi
mov dword [edi + 0x50], esi
mov eax, dword [ecx + eax*8 + 0x10]
mov dword [edi + 0x4c], eax
jmp 0x430344
mov ecx, edi
call fcn.00429e40
jmp 0x4302d9
mov eax, dword [edi + 0x28]
cmp byte [eax + 0x42], 1
je 0x430261
mov ecx, edi
call fcn.00429eb0
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351bb
mov edx, dword [esp + 0x14]
jmp 0x430269
mov esi, dword [edi + 0x28]
mov ecx, esi
call fcn.0041e650
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x50], eax
movsx eax, byte [esi + 0x44]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + eax*4 + 0x74]
mov edx, dword [eax + 0x3c]
movzx eax, word [esi + 0x20]
sub edx, ecx
cmp eax, edx
mov dword [edi + 0x4c], ecx
cmovb edx, eax
mov eax, dword [edi + 0x50]
mov dword [esp + 0x50], edx
cmp eax, edx
ja 0x43032c
mov dword [edi + 0x54], eax
jmp 0x43033c
mov esi, dword [esp + 0x18]
cmp eax, dword [esi + 0x60]
ja 0x434f3a
mov dword [edi + 0x54], edx
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x4c]
mov eax, dword [eax + 0x20]
mov dword [edi + 0x1c], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x430368
movzx ecx, al
mov eax, 1
mov dword [esp + 0xd0], ecx
jmp 0x430382
lea edx, [esp + 0xd0]
call fcn.0040d780
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x5c]
movzx eax, al
movzx eax, al
mov dword [edi + 0x30], eax
xor eax, eax
mov word [edi + 0x3a], ax
mov dword [edx], ecx
cmp esi, ecx
jae 0x430446
mov dword [edi + 0x4c], eax
mov dword [edi + 0x54], eax
cmp ecx, 0x18003
ja 0x434d5a
cmp ecx, dword [edi + 0x50]
ja 0x434d5a
movzx eax, word [edi + 0x3a]
mov ecx, dword [esp + 0x78]
cmp eax, ecx
jg 0x430620
mov eax, dword [edi + 0x30]
cmp eax, dword [edx]
jae 0x4305cf
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x430489
xorps xmm0, xmm0
mov dword [esp + 0x24], eax
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movq qword [esp + 0x1d0], xmm0
mov esi, dword [edi + 0x28]
mov edx, dword [edx]
mov eax, dword [esi + 0x18]
mov dword [esp + 0x64], eax
movsx eax, byte [esi + 0x44]
mov eax, dword [esi + eax*4 + 0x74]
mov ecx, dword [eax + 0x3c]
sub ecx, dword [esp + 0x64]
movzx eax, word [esi + 0x20]
cmp eax, ecx
cmovb ecx, eax
cmp edx, ecx
ja 0x430457
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1c0], eax
mov eax, 0x1010
mov word [esp + 0x1b8], ax
mov dword [esp + 0x1bc], edx
jmp 0x430485
test ecx, ecx
je 0x4303b3
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x64], eax
jmp 0x430489
lea eax, [esp + 0x1b0]
mov ecx, esi
push eax
push edx
xor edx, edx
call fcn.00426250
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351bb
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x64], eax
mov edx, dword [esp + 0x5c]
movzx eax, word [edi + 0x3a]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x50], eax
mov edi, dword [edx + eax*4]
xor edx, edx
mov esi, dword [ecx + 0x30]
add esi, dword [esp + 0x64]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x5c]
mov edx, dword [edx]
add edx, dword [esp + 0x64]
add eax, 0x16
mov dword [esp + 0x30], edx
lea eax, [ecx + eax*4]
mov dword [esp + 0x48], eax
nop dword [eax]
movzx ecx, byte [esi]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x94], ecx
cmp ecx, 0x80
jae 0x4304ee
movzx eax, cl
movzx eax, byte [eax + 0x4ebd70]
cdq
add edi, eax
adc dword [esp + 0x40], edx
mov edx, 1
jmp 0x430516
lea edx, [esp + 0x94]
mov ecx, esi
call fcn.0040d780
mov ecx, dword [esp + 0x94]
movzx edx, al
mov dword [esp + 0x44], ecx
call fcn.0042a060
add edi, eax
adc dword [esp + 0x40], 0
mov eax, dword [esp + 0x50]
add esi, edx
mov edx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x50], eax
mov dword [edx], ecx
add edx, 4
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x5c]
mov dword [edx + eax*4], edi
mov edx, dword [esp + 0x30]
cmp eax, dword [esp + 0x78]
jg 0x430549
cmp esi, edx
jb 0x4304c0
jmp 0x43054d
cmp esi, edx
jb 0x430589
cmp esi, edx
ja 0x430562
mov edx, dword [esp + 0x2c]
cmp edi, dword [edx + 0x50]
jne 0x430562
mov edx, dword [esp + 0x40]
test edx, edx
je 0x43058d
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x4c], 0
jne 0x430578
lea ecx, [esp + 0x1b0]
call fcn.004259d0
mov ecx, 0x13e56
call fcn.00480cf0
mov ecx, eax
jmp 0x4351bb
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x50]
test edx, edx
ja 0x430562
jb 0x4305a8
cmp edi, dword [esp + 0x30]
ja 0x430562
mov edi, dword [esp + 0x2c]
sub esi, dword [esp + 0x64]
cmp dword [edi + 0x4c], 0
mov word [edi + 0x3a], ax
mov dword [edi + 0x30], esi
jne 0x4305dc
lea ecx, [esp + 0x1b0]
call fcn.004259d0
mov ecx, dword [esp + 0x44]
jmp 0x4305dc
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x94], ecx
movzx eax, word [edi + 0x3a]
cmp eax, dword [esp + 0x78]
jg 0x43062f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
cmp byte [eax + 1], 0xf5
jne 0x42f31d
mov edx, dword [eax + 0x10]
push 0x800
call fcn.00425f70
mov ecx, dword [esp + 0x18]
add esp, 4
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov ecx, dword [edi + ecx*4 + 0x58]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x94], ecx
mov esi, dword [esp + 0x3c]
mov eax, 0x2460
test word [esi + 8], ax
je 0x430649
mov ecx, esi
call fcn.00425dd0
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0x5c]
mov eax, dword [edi + 0x54]
cmp eax, dword [edx + esi*4 + 4]
mov esi, dword [esp + 0x3c]
jb 0x430723
mov eax, dword [esp + 0x78]
mov edi, dword [edi + 0x4c]
add edi, dword [edx + eax*4]
cmp ecx, 0xc
jae 0x430696
mov edx, ecx
mov ecx, edi
push esi
call fcn.0042a180
mov ecx, dword [esp + 0x18]
add esp, 4
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov al, byte [esp + 0x60]
lea esi, [ecx - 0xc]
mov ecx, dword [esp + 0x3c]
shr esi, 1
mov dword [ecx + 0xc], esi
lea edx, [esi + 2]
mov byte [ecx + 0xa], al
cmp dword [ecx + 0x18], edx
jge 0x4306d2
mov eax, 1
push 0
mov word [ecx + 8], ax
call fcn.00425490
add esp, 4
test eax, eax
jne 0x43432e
mov ecx, dword [esp + 0x3c]
jmp 0x4306d8
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
push esi
push edi
push dword [ecx + 0x10]
call fcn.004a45a0
mov ecx, dword [esp + 0x48]
add esp, 0xc
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x1c]
and edx, 1
mov eax, dword [ecx + 0x10]
mov byte [esi + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [esi + eax + 1], 0
mov ax, word [edx*2 + 0x4eddfc]
mov esi, dword [esp + 0x18]
mov word [ecx + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov al, byte [esp + 0x60]
mov byte [esi + 0xa], al
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
test al, 0xc0
je 0x430744
cmp ecx, 0xc
jb 0x430740
test cl, 1
je 0x43074f
test al, al
js 0x43074f
call fcn.0042a060
mov edx, eax
test edx, edx
jne 0x43075b
mov edx, ecx
mov ecx, 0x571504
jmp 0x430675
mov esi, dword [edi + 0x28]
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], 0
movsx eax, byte [esi + 0x44]
mov edi, dword [esi + 0x18]
mov dword [esp + 0x48], edi
mov eax, dword [esi + eax*4 + 0x74]
mov ecx, dword [eax + 0x3c]
movzx eax, word [esi + 0x20]
sub ecx, edi
mov esi, dword [esp + 0x78]
cmp eax, ecx
cmovb ecx, eax
mov eax, dword [esp + 0x5c]
mov edi, dword [eax + esi*4]
mov esi, dword [esp + 0x30]
lea eax, [edx + edi]
cmp eax, ecx
ja 0x4307b8
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
add eax, edi
mov dword [esi + 0x10], eax
mov eax, 0x1010
mov word [esi + 8], ax
mov dword [esi + 0xc], edx
jmp 0x4307db
push dword [esp + 0x3c]
mov ecx, esi
push edx
mov edx, edi
call fcn.00426250
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351bb
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ecx, dword [esi + 0x10]
push esi
call fcn.0042a180
mov ecx, dword [esp + 0x18]
mov eax, 0xefff
and word [esi + 8], ax
add esp, 4
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
push dword [esp + 0x60]
mov dl, al
mov ecx, edi
call fcn.0042e890
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x430822
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
xor eax, eax
mov ecx, dword [esp + 0x28]
xorps xmm0, xmm0
mov dword [esp + 0x3c], eax
movlpd qword [esp + 0x50], xmm0
mov eax, dword [edx + 4]
mov esi, dword [edx + 0x10]
movlpd qword [esp + 0x78], xmm0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + 8]
movzx edx, byte [edi + 0x8f]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*8]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x64], eax
test esi, esi
je 0x4308e1
mov al, byte [esi]
mov edi, ecx
nop dword [eax]
push dword [esp + 0x60]
mov dl, al
mov ecx, edi
call fcn.0042e890
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x4308c0
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x78], eax
lea eax, [esp + 0xa8]
mov ecx, edi
push eax
call fcn.00429f00
mov esi, eax
add esp, 4
mov eax, 0x4000
mov dword [edi + 0x1c], esi
test word [edi + 8], ax
je 0x430956
mov ecx, dword [esp + 0x44]
or ecx, dword [esp + 0x40]
je 0x430942
mov ecx, edi
call fcn.004256a0
test eax, eax
jne 0x43432e
jmp 0x430956
mov ecx, dword [edi]
mov eax, ecx
cdq
add dword [esp + 0x78], eax
adc dword [esp + 0x5c], edx
sub dword [esp + 0xa8], ecx
mov eax, dword [esp + 0x44]
mov edx, 1
add eax, dword [esp + 0xa8]
mov dword [esp + 0x44], eax
adc dword [esp + 0x40], 0
cmp esi, 0x7f
jbe 0x43098e
shr esi, 7
xor ecx, ecx
mov eax, esi
or eax, ecx
je 0x43098e
nop
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
jne 0x430980
mov eax, dword [esp + 0x3c]
add eax, edx
mov dword [esp + 0x3c], eax
cmp edi, dword [esp + 0x2c]
je 0x4309aa
mov edx, dword [esp + 0x30]
sub edi, 0x28
jmp 0x430905
cmp eax, 0x7e
jle 0x430a18
cdq
mov edi, 1
mov esi, eax
mov dword [esp + 0x30], edi
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x4309da
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x4309c8
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x3c]
add eax, edi
mov edi, 1
mov dword [esp + 0x3c], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x430a0e
nop dword [eax]
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x430a00
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x30], edi
jge 0x430a1d
inc eax
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x44]
cdq
mov edi, eax
mov esi, edx
mov eax, dword [esp + 0x40]
add ecx, edi
mov dword [esp + 0x44], ecx
adc eax, esi
add ecx, dword [esp + 0x78]
adc eax, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
cdq
cmp dword [esp + 0x40], edx
jg 0x434627
jl 0x430a5a
cmp ecx, eax
ja 0x434627
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x64]
call fcn.00425600
test eax, eax
jne 0x43432e
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x50], ecx
cmp eax, 0x80
jae 0x430a8e
mov byte [ecx], al
mov eax, 1
jmp 0x430a9c
push esi
push edi
call fcn.0040d5a0
mov ecx, dword [esp + 0x58]
add esp, 8
mov esi, dword [esp + 0x2c]
movzx edi, al
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x30], edx
cmp edx, 0x80
jae 0x430abc
mov byte [edi + ecx], dl
mov eax, 1
jmp 0x430ad1
push 0
push edx
add ecx, edi
call fcn.0040d5a0
mov edx, dword [esp + 0x38]
add esp, 8
mov ecx, dword [esp + 0x50]
movzx eax, al
add edi, eax
lea eax, [edx - 1]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x3c]
add edi, ecx
cmp eax, 6
ja 0x430b07
movzx edx, byte [edx + 0x4ebd70]
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov esi, edx
dec edx
mov byte [edx + edi], cl
shrd ecx, eax, 8
shr eax, 8
test edx, edx
jne 0x430af6
jmp 0x430b28
cmp edx, 0xc
jb 0x430b26
mov esi, dword [esi + 0xc]
test esi, esi
je 0x430b28
mov eax, dword [esp + 0x2c]
push esi
push dword [eax + 0x10]
push edi
call fcn.004a45a0
add esp, 0xc
jmp 0x430b28
xor esi, esi
add dword [esp + 0x3c], esi
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
add esi, 0x28
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x2c], esi
cmp esi, dword [esp + 0x48]
jbe 0x430aa3
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov dword [edx + 0xc], eax
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [esp + 0x5c]
je 0x42ec8f
mov dword [edx], ecx
mov eax, 0x4010
mov ecx, dword [esp + 0x14]
mov word [edx + 8], ax
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x128]
xorps xmm0, xmm0
movlpd qword [esp + 0x128], xmm0
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
call fcn.00423460
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351c3
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x430c0b
call fcn.0042e9f0
mov ecx, eax
mov eax, dword [esp + 0x128]
mov dword [ecx], eax
mov eax, dword [esp + 0x12c]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [esp + 0x128]
mov dword [ecx], eax
mov eax, dword [esp + 0x12c]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
test eax, eax
mov esi, dword [edx + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
jne 0x430d27
cmp dword [eax + 0xa4], 0
jg 0x434d6b
mov ecx, esi
call fcn.0040c620
mov edi, eax
xor edx, edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], edi
mov ecx, dword [eax + 0x1b4]
add ecx, dword [eax + 0x1b0]
push ecx
mov ecx, eax
call fcn.0046db20
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351bb
push ecx
mov ecx, dword [esp + 0x1c]
lea eax, [edi + 0x21]
push eax
call fcn.00409c40
mov edi, eax
add esp, 8
test edi, edi
je 0x42ec87
mov ecx, dword [esp + 0x30]
lea edx, [edi + 0x20]
inc ecx
mov dword [edi], edx
push ecx
push esi
push edx
call fcn.004a45a0
mov esi, dword [esp + 0x24]
add esp, 0xc
cmp byte [esi + 0x43], 0
je 0x430cda
mov byte [esi + 0x43], 0
mov byte [esi + 0x4b], 1
jmp 0x430ce0
inc dword [esi + 0x1b0]
mov eax, dword [esi + 0x1a8]
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x18], eax
add ecx, 0x14
mov eax, dword [esi + 0x1b8]
mov dword [esi + 0x1a8], edi
mov dword [edi + 8], eax
mov eax, dword [esi + 0x1bc]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x1c0]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x1c4]
mov dword [edi + 0x14], eax
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov edi, dword [eax + 0x1a8]
xor ecx, ecx
mov dword [esp + 0x44], ecx
test edi, edi
je 0x430d4f
mov ecx, dword [edi]
mov edx, esi
call fcn.0040c980
test eax, eax
je 0x430d70
inc dword [esp + 0x44]
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x430d37
mov edi, dword [esp + 0x1c]
push esi
push str.no_such_savepoint:__s
push edi
call fcn.004268e0
mov esi, dword [esp + 0x24]
add esp, 0xc
mov ecx, 1
jmp 0x4351c3
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
cmp dword [esi + 0xa4], 0
jle 0x430d8a
cmp edx, 1
je 0x434d87
cmp dword [edi + 0x18], 0
jne 0x430de2
cmp byte [esi + 0x4b], 0
je 0x430de2
mov dword [esp + 0x50], 1
cmp edx, 1
jne 0x430dea
mov ecx, dword [esp + 0x1c]
call fcn.004295c0
mov dword [esp + 0x24], eax
test eax, eax
jne 0x435300
mov ecx, dword [esp + 0x1c]
mov byte [esi + 0x43], 1
call fcn.00429620
cmp eax, 5
je 0x434da3
mov eax, dword [esp + 0x1c]
mov byte [esi + 0x4b], 0
mov eax, dword [eax + 0x28]
mov dword [esp + 0x24], eax
jmp 0x430ee3
mov dword [esp + 0x50], 0
mov eax, dword [esi + 0x1b0]
sub eax, dword [esp + 0x44]
dec eax
mov dword [esp + 0x44], eax
cmp edx, 2
jne 0x430e70
mov ecx, dword [esi + 0x18]
shr ecx, 0x17
and ecx, 1
mov dword [esp + 0x30], 0
cmp dword [esi + 0x14], 0
mov dword [esp + 0x48], ecx
jle 0x430e78
mov eax, ecx
xor eax, 1
xor esi, esi
mov dword [esp + 0x40], eax
push eax
mov eax, dword [esp + 0x1c]
mov edx, 0x204
mov ecx, dword [eax + 0x10]
mov ecx, dword [esi + ecx + 4]
call fcn.0041e110
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351bb
mov eax, dword [esp + 0x30]
add esi, 0x10
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x30], eax
cmp eax, dword [ecx + 0x14]
mov eax, dword [esp + 0x40]
jl 0x430e24
mov eax, dword [esp + 0x44]
mov esi, ecx
mov edx, dword [esp + 0x2c]
jmp 0x430e78
mov dword [esp + 0x48], 0
cmp dword [esi + 0x14], 0
mov dword [esp + 0x30], 0
jle 0x430ec9
xor esi, esi
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x10]
mov ecx, dword [esi + ecx + 4]
call fcn.0041e390
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351bb
mov eax, dword [esp + 0x30]
add esi, 0x10
mov ecx, dword [esp + 0x18]
inc eax
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
cmp eax, dword [ecx + 0x14]
mov eax, dword [esp + 0x44]
jl 0x430e88
mov esi, ecx
cmp dword [esp + 0x48], 0
je 0x430ee3
mov ecx, esi
call fcn.0042b760
call fcn.00447220
or dword [esi + 0x18], 0x800000
cmp dword [esi + 0x1a8], edi
je 0x430f50
nop dword [eax + eax]
cmp dword [esi + 0x1c8], 0
mov ecx, dword [esi + 0x1a8]
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x1a8], eax
je 0x430f13
mov edx, ecx
mov ecx, esi
call fcn.00409910
jmp 0x430f42
cmp ecx, dword [esi + 0x120]
jb 0x430f39
cmp ecx, dword [esi + 0x124]
jae 0x430f39
mov eax, dword [esi + 0x11c]
mov dword [ecx], eax
dec dword [esi + 0x108]
mov dword [esi + 0x11c], ecx
jmp 0x430f42
push ecx
call fcn.004098a0
add esp, 4
dec dword [esi + 0x1b0]
cmp dword [esi + 0x1a8], edi
jne 0x430ef0
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
cmp esi, 1
jne 0x430fb3
mov eax, dword [edi + 0x18]
mov edx, edi
mov dword [ecx + 0x1a8], eax
mov edi, ecx
call fcn.00409990
cmp dword [esp + 0x50], 0
jne 0x430fe3
dec dword [edi + 0x1b0]
mov ecx, dword [esp + 0x44]
mov edx, esi
mov esi, dword [esp + 0x18]
push ecx
mov ecx, esi
call fcn.0046db20
add esp, 4
mov edi, dword [esp + 0x1c]
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351c3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
cmp dword [esp + 0x50], 0
mov eax, dword [edi + 8]
mov dword [ecx + 0x1b8], eax
mov eax, dword [edi + 0xc]
mov dword [ecx + 0x1bc], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x1c0], eax
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x1c4], eax
je 0x430f7c
cmp esi, 2
je 0x430f7c
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
test ecx, ecx
jne 0x4351c3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 8]
test edx, edx
je 0x43101f
test dword [esi + 0x18], 0x80000
jne 0x434dd8
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x431172
mov ecx, esi
call fcn.0041d320
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x434de2
mov eax, dword [esp + 0x14]
cmp dword [eax + 8], ecx
je 0x43113b
test byte [edi + 0x94], 0x40
mov edi, dword [esp + 0x18]
je 0x43113f
cmp byte [edi + 0x43], cl
je 0x431078
cmp dword [edi + 0xa0], 1
jle 0x43113f
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x30], 0
jne 0x431097
mov eax, dword [edi + 0x1b0]
inc dword [edi + 0x1b4]
add eax, dword [edi + 0x1b4]
mov dword [ecx + 0x30], eax
mov eax, dword [ecx + 0x30]
xor edx, edx
dec eax
mov ecx, edi
push eax
call fcn.0046db20
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
jne 0x431111
cmp byte [esi + 9], 0
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 0x30]
mov eax, dword [esi + 4]
mov dword [esp + 0x30], eax
je 0x4310d8
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x4310d8
mov ecx, esi
call fcn.0041a790
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
cmp edi, dword [ecx + 0x68]
jle 0x4310f2
cmp byte [ecx + 6], 0
je 0x4310f2
mov edx, edi
call fcn.00417850
mov dword [esp + 0x24], eax
jmp 0x4310fa
mov dword [esp + 0x24], 0
cmp byte [esi + 9], 0
je 0x43110d
add dword [esi + 0xc], 0xffffffff
jne 0x43110d
mov ecx, esi
call fcn.0041a750
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x1b8]
mov dword [ecx + 0x48], eax
mov eax, dword [edi + 0x1bc]
mov dword [ecx + 0x4c], eax
mov eax, dword [edi + 0x1c0]
mov dword [ecx + 0x50], eax
mov eax, dword [edi + 0x1c4]
mov dword [ecx + 0x54], eax
jmp 0x43113f
mov edi, dword [esp + 0x18]
lea eax, [esp + 0xd4]
mov edx, 1
push eax
mov ecx, esi
call fcn.00423380
mov eax, dword [esp + 0x18]
add esp, 4
mov esi, dword [esp + 0xd4]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x431181
mov edi, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0xd4], esi
xor eax, eax
mov ecx, dword [esp + 0x14]
cmp word [ecx + 2], 0
je 0x43119e
cmp esi, dword [ecx + 0xc]
jne 0x434e13
cmp eax, dword [ecx + 0x10]
jne 0x434e13
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
test eax, eax
jne 0x434eea
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x114]
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00423380
mov eax, dword [esp + 0x18]
add esp, 4
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x431220
call fcn.0042e9f0
mov ecx, eax
mov eax, dword [esp + 0x114]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42eb1d
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [esp + 0x114]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [edx + 4]
push dword [edx + 0xc]
mov edx, dword [edx + 8]
shl esi, 4
add esi, dword [eax + 0x10]
mov ecx, dword [esi + 4]
call fcn.004233e0
mov dword [esp + 0x28], eax
add esp, 4
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x431291
mov ecx, dword [esi + 0xc]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
mov dword [ecx], eax
or dword [esi + 0x18], 0x800000
jmp 0x4312a7
cmp eax, 2
jne 0x4312a3
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 0xc]
mov byte [ecx + 0x4c], al
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 4], 1
jne 0x4312c3
mov ecx, esi
call fcn.0042b760
and dword [edi + 0x94], 0xfffffffe
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x434eea
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x4312f8
mov eax, dword [esi + 0x34]
cmp eax, dword [edx + 8]
je 0x43148d
mov esi, dword [esp + 0x18]
mov al, byte [esp + 0x3b]
test byte [edi + 0x94], 1
jne 0x434e6a
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x40], 0
mov dword [esp + 0x50], 0
mov edx, dword [esi + 8]
mov esi, dword [esi + 0xc]
mov ecx, esi
shl ecx, 4
add ecx, dword [edi + 0x10]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x48], esi
mov edi, dword [ecx + 4]
cmp al, 0x69
jne 0x431372
mov eax, dword [esp + 0x14]
movzx edx, word [eax + 2]
mov eax, dword [ecx + 0xc]
and edx, 8
mov ecx, dword [esp + 0x1c]
or edx, 4
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x2c]
mov al, byte [eax + 0x4c]
cmp al, byte [ecx + 0x8f]
jae 0x43137a
mov byte [ecx + 0x8f], al
jmp 0x43137a
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x14]
test byte [eax + 2], 0x10
je 0x43139f
mov ecx, dword [esp + 0x28]
lea eax, [edx + edx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00425b90
mov eax, dword [esi]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x14]
mov al, byte [edx + 1]
cmp al, 0xf7
jne 0x4313bd
mov eax, dword [edx + 0x10]
mov dword [esp + 0x50], eax
movzx ecx, word [eax + 8]
movzx eax, word [eax + 6]
add ecx, eax
jmp 0x4313ca
cmp al, 0xfd
jne 0x4313c6
mov ecx, dword [edx + 0x10]
jmp 0x4313ca
mov ecx, dword [esp + 0x40]
mov edx, dword [edx + 4]
push 0
push esi
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0042e710
mov esi, eax
add esp, 0xc
test esi, esi
je 0x43432e
mov eax, dword [esp + 0x2c]
or dword [esi + 8], 4
mov ecx, dword [esi + 0x28]
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
mov dword [esp + 0x48], ecx
cmp eax, 1
jge 0x43142a
push 0x56cfb4
push 0xf94f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0040bbc0
add esp, 0x14
mov dword [esp + 0x24], 0xb
jmp 0x431474
cmp byte [edi + 9], 0
je 0x431448
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x431448
mov ecx, edi
call fcn.0041a790
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
push ecx
push dword [esp + 0x54]
mov edx, eax
mov ecx, edi
push dword [esp + 0x38]
call fcn.0041e450
add esp, 0xc
mov dword [esp + 0x24], eax
cmp byte [edi + 9], 0
je 0x431474
add dword [edi + 0xc], 0xffffffff
jne 0x431474
mov ecx, edi
call fcn.0041a750
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x1c]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x14]
cmp byte [eax + 1], 0xf7
setne al
mov byte [esi + 4], al
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 2]
mov eax, dword [esi + 0x28]
and cl, 3
mov esi, dword [esp + 0x18]
mov byte [eax + 0x43], cl
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4351c3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
push 0
push 0xffffffffffffffff
mov ecx, dword [edx + 8]
mov edx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, edi
movsx eax, word [esi + 0x38]
push eax
call fcn.0042e710
mov edx, eax
add esp, 0xc
test edx, edx
je 0x4351ae
or dword [edx + 8], 1
mov edi, dword [edx + 0x28]
mov byte [edx + 2], 1
mov ecx, dword [esi + 0x2c]
mov dword [edx + 0x2c], ecx
mov al, byte [esi + 4]
mov byte [edx + 4], al
mov eax, ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x30], eax
cmp byte [esi + 9], 0
je 0x431524
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x431524
mov ecx, esi
call fcn.0041a790
mov eax, dword [esp + 0x30]
push edi
push eax
push 4
mov edx, 1
mov ecx, esi
call fcn.0041e450
add esp, 0xc
mov dword [esp + 0x24], eax
cmp byte [esi + 9], 0
je 0x42ec87
add dword [esi + 0xc], 0xffffffff
jne 0x42ec87
mov ecx, esi
call fcn.0041a750
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, edi
push 0
push 0xffffffffffffffff
push dword [eax + 8]
mov edx, dword [eax + 4]
call fcn.0042e710
mov edi, eax
add esp, 0xc
test edi, edi
je 0x434332
mov eax, dword [esp + 0x14]
lea esi, [edi + 0xc]
or dword [edi + 8], 1
xor edx, edx
mov byte [edi + 2], 1
push 0x41e
movzx eax, word [eax + 2]
or eax, 5
push eax
mov eax, dword [esp + 0x20]
push esi
push eax
mov ecx, dword [eax]
call fcn.0041c460
mov ecx, eax
add esp, 0x10
test ecx, ecx
jne 0x4351bb
mov ecx, dword [esi]
lea edx, [eax + 1]
call fcn.0041d320
mov ecx, eax
test ecx, ecx
jne 0x4351bb
mov ecx, dword [esp + 0x14]
mov esi, dword [esi]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x48], eax
mov dword [edi + 0x2c], eax
test eax, eax
je 0x4316e3
movzx eax, word [ecx + 2]
or eax, 2
cmp byte [esi + 9], 0
mov dword [esp + 0x30], eax
je 0x431619
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x431619
mov ecx, esi
call fcn.0041a790
mov eax, dword [esp + 0x30]
push eax
lea edx, [esp + 0xdc]
mov ecx, esi
call fcn.00422c60
add esp, 4
mov dword [esp + 0x24], eax
cmp byte [esi + 9], 0
je 0x431646
add dword [esi + 0xc], 0xffffffff
jne 0x431646
mov ecx, esi
call fcn.0041a750
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4316dd
mov eax, dword [edi + 0x28]
mov esi, dword [edi + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd8]
cmp eax, 1
jge 0x431693
push 0x56cfb4
push 0xf94f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0040bbc0
add esp, 0x14
mov dword [esp + 0x24], 0xb
mov byte [edi + 4], 0
jmp 0x431733
cmp byte [esi + 9], 0
je 0x4316b0
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x4316b0
mov ecx, esi
call fcn.0041a790
mov eax, dword [esp + 0xd8]
push dword [esp + 0x30]
mov edx, eax
mov ecx, esi
push dword [esp + 0x4c]
push 4
call fcn.0041e450
add esp, 0xc
mov dword [esp + 0x24], eax
cmp byte [esi + 9], 0
je 0x4316dd
add dword [esi + 0xc], 0xffffffff
jne 0x4316dd
mov ecx, esi
call fcn.0041a750
mov byte [edi + 4], 0
jmp 0x431733
cmp byte [esi + 9], 0
mov eax, dword [edi + 0x28]
mov dword [esp + 0x30], eax
je 0x431704
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x431704
mov ecx, esi
call fcn.0041a790
mov eax, dword [esp + 0x30]
push eax
push 0
push 4
mov edx, 1
mov ecx, esi
call fcn.0041e450
add esp, 0xc
mov dword [esp + 0x24], eax
cmp byte [esi + 9], 0
je 0x43172f
add dword [esi + 0xc], 0xffffffff
jne 0x43172f
mov ecx, esi
call fcn.0041a750
mov byte [edi + 4], 1
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
test ecx, ecx
jne 0x4351bf
mov eax, dword [esp + 0x14]
cmp word [eax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [edi + 8]
and eax, 0xfffffffb
or ecx, eax
mov eax, dword [esp + 0x20]
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 4]
mov edx, dword [eax + 8]
mov dword [esp + 0x48], edx
test edi, edi
jle 0x43179d
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x18]
sub eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, dword [esp + 0x1c]
jmp 0x4317a4
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x5c]
mov eax, dword [eax + 0x70]
lea ecx, [edx*8 + 0x60]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + edi*4]
test edx, edx
je 0x4317d4
mov ecx, dword [esp + 0x1c]
call fcn.004288f0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x70]
mov ecx, dword [esp + 0x30]
mov dword [eax + edi*4], 0
cmp dword [esi + 0x18], ecx
jge 0x4317f1
mov edx, ecx
mov ecx, esi
push 0
call fcn.00425490
add esp, 4
test eax, eax
jne 0x43432e
jmp 0x4317fc
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x10]
xorps xmm0, xmm0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
push ecx
mov eax, dword [eax + 0x70]
mov dword [eax + edi*4], ecx
mov eax, dword [esp + 0x4c]
movups xmmword [ecx], xmm0
movups xmmword [ecx + 0x10], xmm0
mov dword [ecx + 0x20], 0
mov word [ecx + 0x38], ax
add eax, 0x16
mov word [ecx], 0xff01
lea eax, [ecx + eax*4]
mov dword [ecx + 0x48], eax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x2c], eax
mov ecx, esi
mov edx, dword [edx + 0xc]
call fcn.004369a0
jmp 0x430f8e
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, 1
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov dword [edx + 0x14], eax
je 0x431bcf
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 4]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x48], edx
test edi, edi
jle 0x4318bb
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x18]
sub eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, dword [esp + 0x1c]
jmp 0x4318c2
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x5c]
mov eax, dword [eax + 0x70]
lea ecx, [edx*8 + 0x60]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + edi*4]
test edx, edx
je 0x4318f2
mov ecx, dword [esp + 0x1c]
call fcn.004288f0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x70]
mov ecx, dword [esp + 0x30]
mov dword [eax + edi*4], 0
cmp dword [esi + 0x18], ecx
jge 0x43190f
mov edx, ecx
mov ecx, esi
push 0
call fcn.00425490
add esp, 4
test eax, eax
jne 0x43432e
jmp 0x43191a
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x10]
xorps xmm0, xmm0
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov eax, dword [eax + 0x70]
mov dword [eax + edi*4], ecx
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x1c]
movups xmmword [ecx], xmm0
movups xmmword [ecx + 0x10], xmm0
mov dword [ecx + 0x20], 0
mov word [ecx + 0x38], ax
add eax, 0x16
mov word [ecx], 0xff03
lea eax, [ecx + eax*4]
mov dword [ecx + 0x48], eax
mov eax, dword [esp + 0x14]
mov byte [ecx + 2], 1
mov eax, dword [eax + 8]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x20]
mov byte [ecx + 4], 1
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, edi
mov edx, dword [edi + 0x70]
mov eax, dword [eax + 4]
mov edx, dword [edx + eax*4]
call fcn.004288f0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], 0
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 4], 0
mov byte [esi + 2], 0
je 0x431ae5
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [edi + 8]
and al, 0xe
cmp al, 2
jne 0x4319f3
xor edx, edx
mov ecx, edi
call fcn.0042e800
mov ecx, edi
call fcn.00425a80
movzx ecx, word [edi + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x50], edx
test cl, 4
jne 0x431a4d
test cl, 8
je 0x431bcf
mov ecx, eax
call fcn.004d9520
movsd xmm1, qword [edi]
comisd xmm0, xmm1
jbe 0x431a3a
mov ecx, dword [esp + 0x2c]
test cl, 1
lea eax, [ecx - 1]
cmove eax, ecx
mov ecx, eax
mov dword [esp + 0x2c], ecx
jmp 0x431a4d
comisd xmm1, xmm0
jbe 0x431a4d
mov eax, dword [esp + 0x2c]
test al, 1
jne 0x431a4d
inc eax
mov dword [esp + 0x2c], eax
mov edi, dword [esp + 0x30]
lea eax, [esp + 0x6c]
mov ecx, dword [esi + 0x28]
xor edx, edx
push eax
push 0
push dword [esp + 0x58]
push edi
call fcn.0041ef00
mov dword [esp + 0x34], eax
add esp, 0x10
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x50]
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], eax
test ecx, ecx
jne 0x4351bb
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x6c]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
cmp eax, 0x1a
jl 0x431be5
test ecx, ecx
js 0x431b93
jne 0x431ab7
cmp eax, 0x1b
je 0x431b93
mov dword [esp + 0x6c], 0
mov ecx, dword [esp + 0x14]
test edi, edi
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea eax, [ecx + 0x14]
cmove eax, ecx
mov ecx, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esi + 0x28]
mov ecx, dword [esp + 0x14]
mov al, byte [eax + 0x43]
and al, 2
mov byte [esp + 0x3b], al
mov eax, 0
setne al
test dl, 1
mov dword [esp + 0x40], eax
lea edx, [esp + 0x130]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x130], eax
mov ax, word [ecx + 0x10]
mov word [esp + 0x138], ax
sete al
mov byte [esp + 0x13e], 0
lea eax, [eax*2 - 1]
mov byte [esp + 0x13a], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x134], eax
lea eax, [esp + 0x6c]
mov ecx, dword [esi + 0x28]
push eax
push 0
push 0
push 0
call fcn.0041ef00
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x42f9ed
cmp byte [esp + 0x3b], al
je 0x431a84
mov edi, dword [esp + 0x40]
cmp byte [esp + 0x13e], al
jne 0x431a88
mov ecx, dword [esp + 0x6c]
jmp 0x431c00
push 0
push dword [esi + 0x28]
mov dword [esp + 0x74], 0
call fcn.0041f590
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x431abf
cmp ecx, 0x65
jne 0x4351bb
mov dword [esp + 0x6c], 1
mov dword [esp + 0x24], 0
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x58]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42ec80
test ecx, ecx
jg 0x431c09
jne 0x431bf0
cmp eax, 0x18
je 0x431c09
mov eax, dword [esi + 0x28]
xor ecx, ecx
cmp byte [eax + 0x42], 1
setne cl
mov dword [esp + 0x6c], ecx
test ecx, ecx
jne 0x431bcf
jmp 0x431abf
push 0
push dword [esi + 0x28]
mov dword [esp + 0x74], 0
call fcn.0041f700
jmp 0x431ba5
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
cmp dword [edx + 0x10], 0
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], edi
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jle 0x431c71
mov eax, dword [edi + 0x2c]
lea edi, [esp + 0x1a0]
mov dword [esp + 0x1a0], eax
mov ax, word [edx + 0x10]
mov word [esp + 0x1a8], ax
xor eax, eax
mov dword [esp + 0x1a4], esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x48], eax
jmp 0x431cbb
mov eax, 0x4000
test word [esi + 8], ax
je 0x431c8b
mov ecx, esi
call fcn.004256a0
test eax, eax
jne 0x43432e
mov ecx, dword [edi + 0x2c]
call fcn.0042a340
mov edi, eax
mov dword [esp + 0x48], edi
test edi, edi
je 0x43432e
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov esi, dword [esp + 0x38]
mov ecx, dword [esi + 0x2c]
call fcn.0042a390
mov edx, dword [esp + 0x1c]
add esp, 8
mov byte [edi + 0xa], 0
cmp byte [edx], 0x1c
mov dword [esp + 0x30], 0
jne 0x431cf7
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
je 0x431cf7
mov eax, dword [edi + 4]
add eax, 8
nop dword [eax]
test byte [eax], 1
jne 0x431cef
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x431ce0
jmp 0x431cf7
mov dword [esp + 0x30], 1
mov ecx, dword [esi + 0x28]
lea eax, [esp + 0x118]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.0041ef00
mov dword [esp + 0x34], eax
add esp, 0x10
mov eax, dword [esp + 0x48]
test eax, eax
je 0x431d29
mov ecx, dword [esp + 0x18]
mov edx, eax
call fcn.00409950
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4351bb
mov eax, dword [esp + 0x118]
test eax, eax
mov dword [esi + 0x20], eax
mov al, 1
sete cl
mov byte [esi + 3], 0
sub al, cl
mov dword [esi + 0x1c], 0
mov byte [esi + 2], al
mov esi, dword [esp + 0x14]
cmp byte [esi], 0x1e
jne 0x431d7f
test ecx, ecx
jne 0x431bd3
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
cmp dword [esp + 0x30], 0
jne 0x431bd3
test ecx, ecx
je 0x431bd3
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
test al, 4
jne case.0x42eb3f.32
test al, 8
jne 0x431dd9
test al, 2
je 0x431de0
mov edx, 1
mov ecx, esi
call fcn.0042e800
jmp 0x431de0
mov ecx, esi
call fcn.00425b30
test byte [esi + 8], 4
je 0x431bcf
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
mov dword [esp + 0xdc], 0
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x30], ecx
mov ecx, dword [ecx + 0x28]
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*8]
mov edi, dword [edx + eax*8 + 4]
lea eax, [esp + 0xdc]
push eax
push 0
push edi
push esi
xor edx, edx
call fcn.0041ef00
mov ecx, dword [esp + 0x40]
add esp, 0x10
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xdc]
mov dword [ecx + 0x40], esi
mov dword [ecx + 0x44], edi
mov word [ecx + 2], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x20], eax
test eax, eax
je 0x430fe3
mov esi, dword [esp + 0x14]
cmp dword [esi + 8], 0
jne 0x431bd3
mov ecx, 0x144af
call fcn.00480cf0
mov ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x430fe7
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edx, [eax + ecx*8]
mov eax, 0x2460
test word [edx + 8], ax
je 0x431ea6
mov ecx, edx
call fcn.0042e9f0
mov edx, eax
jmp 0x431eaf
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x10]
mov dword [edx], eax
mov eax, dword [ecx + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov esi, dword [esp + 0x14]
xorps xmm0, xmm0
movlpd qword [esp + 0x80], xmm0
mov dword [esp + 0x98], 0
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edx, [eax + ecx*8]
mov eax, 0x2460
mov dword [esp + 0x48], edx
test word [edx + 8], ax
je 0x431f2f
mov ecx, edx
call fcn.0042e9f0
mov dword [esp + 0x48], eax
jmp 0x431f38
mov eax, 4
mov word [edx + 8], ax
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x2c], edi
test byte [edi + 8], 2
jne 0x43202a
mov esi, dword [edi + 0x28]
cmp byte [esi + 0x42], 1
jne 0x431f68
test byte [esi + 0x40], 8
je 0x431f68
mov dword [esp + 0x24], 0
jmp 0x431fdd
mov ecx, esi
call fcn.0041ec40
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351bb
cmp byte [esi + 0x42], al
jne 0x431fab
mov edi, 1
mov dword [esp + 0x98], 1
xor esi, esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], esi
jmp 0x432038
mov ecx, esi
mov dword [esp + 0x98], 0
call fcn.0041ee30
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x431fd1
or byte [esi + 0x40], 8
mov dword [esp + 0x24], ecx
jmp 0x431fdd
and byte [esi + 0x40], 0xf7
test ecx, ecx
jne 0x4351bb
mov esi, dword [edi + 0x28]
mov ecx, esi
call fcn.0041e650
mov edi, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], esi
cmp esi, 0x7fffffff
jl 0x432014
jg 0x43200a
cmp edi, 0xffffffff
jb 0x432014
mov eax, dword [esp + 0x2c]
or dword [eax + 8], 2
jmp 0x432038
add edi, 1
mov dword [esp + 0x80], edi
adc esi, 0
mov dword [esp + 0x84], esi
jmp 0x432038
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4320da
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0xc4]
test edx, edx
je 0x432074
mov eax, dword [edx + 4]
test eax, eax
je 0x432069
nop dword [eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x432060
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
jmp 0x43207e
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x28]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x50], ecx
call fcn.00425b90
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
cmp ecx, 0xffffffff
jne 0x4320a1
cmp edx, 0x7fffffff
je 0x432169
mov eax, dword [esp + 0x2c]
test byte [eax + 8], 2
mov eax, dword [esp + 0x50]
jne 0x432169
add ecx, 1
adc edx, 0
cmp esi, edx
jg 0x4320d5
jl 0x4320c3
cmp edi, ecx
jae 0x4320d5
mov edi, ecx
mov esi, edx
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], esi
mov dword [eax], edi
mov dword [eax + 4], esi
mov eax, dword [esp + 0x2c]
test byte [eax + 8], 2
je 0x432177
mov dword [esp + 0x30], 0
lea eax, [esp + 0x80]
push eax
push 8
call fcn.0040bc00
mov esi, dword [esp + 0x8c]
lea eax, [esp + 0xa0]
mov edi, dword [esp + 0x88]
and esi, 0x3fffffff
push eax
mov eax, dword [esp + 0x38]
add edi, 1
push 0
adc esi, 0
mov dword [esp + 0x90], edi
push esi
mov ecx, dword [eax + 0x28]
xor edx, edx
push edi
mov dword [esp + 0x9c], esi
call fcn.0041ef00
mov ecx, eax
add esp, 0x18
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351bb
cmp dword [esp + 0x98], eax
jne 0x432173
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, 0x64
jl 0x4320f0
mov ecx, 0xd
jmp 0x4351bb
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov byte [eax + 3], 0
add ecx, 0x14
mov dword [eax + 0x1c], 0
mov eax, dword [esp + 0x48]
mov dword [eax], edi
mov edi, dword [esp + 0x1c]
mov dword [eax + 4], esi
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
cmp byte [esp + 0x3b], 0x74
mov edx, dword [esp + 0x14]
mov dword [esp + 0x30], 0
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
lea eax, [eax + eax*4]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
jne 0x4321dc
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8]
mov edx, dword [ecx + eax*8 + 4]
jmp 0x4321df
cdq
mov esi, eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x164], edx
mov dword [esp + 0x160], esi
cmp byte [ecx + 1], 0xfa
jne 0x432238
mov eax, dword [esp + 0x18]
cmp dword [eax + 0xdc], 0
je 0x432238
mov eax, dword [eax + 0x10]
movsx ecx, byte [edi + 1]
add ecx, ecx
mov ecx, dword [eax + ecx*8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x48], ecx
mov ecx, eax
mov eax, 0x12
test byte [ecx + 2], 4
cmovne eax, dword [esp + 0x11c]
mov dword [esp + 0x30], eax
jmp 0x432248
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
test byte [ecx + 2], 1
je 0x432255
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x2c]
test byte [ecx + 2], 0x20
je 0x432265
mov eax, dword [esp + 0x18]
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], edx
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
movzx eax, word [edx + esi*8 + 8]
mov dword [esp + 0x2c], eax
test al, 1
je 0x432292
mov dword [esp + 0x168], 0
mov dword [esp + 0x174], 0
jmp 0x4322ac
mov eax, dword [edx + esi*8 + 0x10]
mov dword [esp + 0x168], eax
mov eax, dword [edx + esi*8 + 0xc]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x2c]
movzx ecx, word [ecx + 2]
test cl, 0x10
je 0x4322ba
mov edx, dword [edi + 0x20]
jmp 0x4322bc
xor edx, edx
test eax, 0x4000
je 0x4322d3
mov eax, dword [esp + 0x28]
mov eax, dword [eax + esi*8]
mov dword [esp + 0x178], eax
jmp 0x4322de
mov dword [esp + 0x178], 0
push edx
and ecx, 0xa
mov dword [esp + 0x15c], 0
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [esp + 0x160]
call fcn.00422550
mov esi, dword [esp + 0x20]
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
test ecx, ecx
jne 0x4351bf
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x42ec8b
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x42ec8b
push dword [esp + 0x164]
mov edx, dword [esp + 0x4c]
push dword [esp + 0x164]
push dword [edx]
push dword [esp + 0x5c]
push ecx
push dword [esi + 0xd8]
call eax
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
jne 0x4323d5
cmp dword [esi + 0xdc], 0
je 0x4323d5
movsx ecx, byte [edi + 1]
mov eax, dword [esi + 0x10]
add ecx, ecx
test byte [edx + 2], 2
mov esi, dword [edx + 0x10]
mov dword [esp + 0x48], esi
mov eax, dword [eax + ecx*8]
mov dword [esp + 0x30], eax
je 0x4323df
cmp byte [edi + 4], 0
je 0x4323df
mov esi, dword [edi + 0x28]
mov ecx, esi
call fcn.0041e650
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0x14]
mov dword [edi + 0x40], eax
mov eax, dword [esi + 0x14]
mov esi, dword [esp + 0x48]
mov dword [edi + 0x44], eax
jmp 0x4323df
mov dword [esp + 0x30], 0
xor esi, esi
mov dl, byte [edx + 2]
mov ecx, dword [edi + 0x28]
call fcn.004228a0
mov ecx, eax
mov dword [edi + 0x1c], 0
mov dword [esp + 0x24], ecx
mov dword [edi + 0x20], 0
test ecx, ecx
jne 0x4351bb
test byte [esp + 0x50], 1
je 0x42ec87
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x2c]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xdc]
test eax, eax
je 0x42ec87
test byte [esi + 0x24], 0x20
jne 0x42ec87
push dword [edi + 0x44]
push dword [edi + 0x40]
push dword [esi]
mov esi, dword [esp + 0x24]
push dword [esp + 0x3c]
push 9
push dword [esi + 0xd8]
call eax
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [edi + 0x2c]
add dword [esi + 0x5c], eax
add ecx, 0x14
mov dword [esi + 0x58], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x2c], 0
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
mov dword [esp + 0xbc], 0
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [esp + 0xbc]
push eax
mov eax, dword [esp + 0x18]
push dword [eax + 0x10]
call fcn.00438d70
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351c3
cmp dword [esp + 0xbc], eax
jne 0x431bcf
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + ecx*4]
call fcn.00438cd0
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351c3
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
add ecx, 0x14
mov dword [eax + 0x1c], 0
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x432563
mov ecx, esi
call fcn.0042e9f0
mov esi, eax
jmp 0x43256c
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + 0x28]
mov ecx, edi
call fcn.0041e650
mov eax, dword [esp + 0x18]
mov edx, dword [edi + 0x1c]
cmp edx, dword [eax + 0x60]
ja 0x434f38
mov eax, dword [edi + 0x18]
mov dword [esp + 0x30], eax
movsx eax, byte [edi + 0x44]
mov dword [esp + 0x24], 0
mov eax, dword [edi + eax*4 + 0x74]
mov ecx, dword [eax + 0x3c]
sub ecx, dword [esp + 0x30]
movzx eax, word [edi + 0x20]
cmp eax, ecx
cmovb ecx, eax
cmp edx, ecx
ja 0x4325d3
mov eax, dword [esp + 0x30]
mov dword [esi + 0x10], eax
mov eax, 0x1010
mov word [esi + 8], ax
mov dword [esi + 0xc], edx
jmp 0x4325ef
push esi
push edx
xor edx, edx
mov ecx, edi
call fcn.00426250
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351bb
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0xc], 0
jne 0x42fd45
mov eax, 0x1000
test word [esi + 8], ax
je 0x42fd45
mov ecx, esi
call fcn.00425620
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
test eax, eax
jne 0x434336
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edi, [eax + ecx*8]
mov eax, 0x2460
test word [edi + 8], ax
je 0x432659
mov ecx, edi
call fcn.0042e9f0
mov edi, eax
jmp 0x432662
mov eax, 4
mov word [edi + 8], ax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x70]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 2], 0
je 0x432696
mov ecx, dword [esp + 0x14]
mov eax, 1
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov word [edi + 8], ax
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
cmp byte [esi + 3], 0
je 0x4326d4
mov ecx, dword [esi + 0x40]
mov dword [esp + 0xb0], ecx
mov eax, dword [esi + 0x44]
mov esi, dword [esp + 0x18]
mov dword [esp + 0xb4], eax
mov dword [edi], ecx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x14]
mov dword [edi + 4], eax
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
cmp byte [esi], 2
jne 0x432737
mov ecx, dword [esi + 0x28]
lea edx, [esp + 0xb0]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [esp + 0x24]
add esp, 8
mov edx, esi
mov dword [esp + 0x24], eax
call fcn.0042b880
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4351bb
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0x18]
mov dword [edi], ecx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x14]
mov dword [edi + 4], eax
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esi + 0x28]
cmp byte [eax + 0x42], 1
je 0x432757
mov ecx, esi
call fcn.00429eb0
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351bb
jmp 0x43275d
xor eax, eax
mov dword [esp + 0x24], eax
cmp byte [esi + 2], 0
je 0x432784
mov ecx, dword [esp + 0x14]
mov eax, 1
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov word [edi + 8], ax
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0041e650
mov ecx, dword [esi + 0x10]
mov dword [esp + 0xb0], ecx
mov eax, dword [esi + 0x14]
mov esi, dword [esp + 0x18]
mov dword [esp + 0xb4], eax
mov dword [edi], ecx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x14]
mov dword [edi + 4], eax
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 0
mov byte [ecx + 2], 1
mov dword [ecx + 0x1c], 0
jne 0x42ec8f
mov ecx, dword [ecx + 0x28]
call fcn.0041ac30
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
mov esi, dword [edi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x14]
cmp dword [eax + 0xc], ecx
je 0x432832
cmp byte [esi + 0x42], 1
je 0x42ec87
cmp byte [esi + 0x42], 1
jne 0x432846
test byte [esi + 0x40], 8
je 0x432846
xor eax, eax
mov dword [esp + 0x24], eax
jmp 0x432892
mov ecx, esi
call fcn.0041ec40
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x43288a
cmp byte [esi + 0x42], al
jne 0x432861
lea ecx, [eax + 1]
jmp 0x43288e
mov ecx, esi
mov dword [esp + 0x2c], 0
call fcn.0041ee30
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
mov ecx, dword [esp + 0x2c]
jne 0x432884
or byte [esi + 0x40], 8
jmp 0x43288e
and byte [esi + 0x40], 0xf7
jmp 0x43288e
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov byte [edi + 2], cl
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
test eax, eax
jne 0x4351b7
mov esi, dword [esp + 0x14]
cmp dword [esi + 8], eax
jle 0x42ec87
test ecx, ecx
jne 0x431bd3
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.0041ec40
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x42f9ed
cmp byte [esi + 0x42], al
jne 0x432924
mov esi, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xac], 1
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42ec80
mov ecx, esi
mov dword [esp + 0xac], 0
call fcn.0041ed70
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x42f9ed
cmp dword [esp + 0xac], eax
jne 0x431bcf
mov ecx, esi
call fcn.0041f420
test edx, edx
jl 0x42ebbc
jg 0x43296a
test eax, eax
jb 0x42ebbc
push edx
push eax
call fcn.0040db40
mov esi, dword [esp + 0x1c]
add esp, 8
cwde
cmp eax, dword [esi + 0xc]
jge 0x42ebbc
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xac], 1
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42ec80
inc dword [edi + 0xa8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x9c], 1
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
cmp byte [esi], 1
jne 0x4329d8
lea edx, [esp + 0x9c]
mov ecx, esi
call fcn.00438c10
mov ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x432a25
mov edi, dword [esi + 0x28]
mov ecx, edi
call fcn.0041ec40
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x432a16
cmp byte [edi + 0x42], al
jne 0x4329fe
mov dword [esp + 0x9c], 1
jmp 0x432a16
mov ecx, edi
mov dword [esp + 0x9c], 0
call fcn.0041ed70
mov ecx, eax
mov dword [esp + 0x24], ecx
mov edi, dword [esp + 0x1c]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test ecx, ecx
jne 0x42f9ed
mov eax, dword [esp + 0x9c]
mov byte [esi + 2], al
test eax, eax
jne 0x431bcf
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
mov esi, dword [edi + 0x28]
cmp byte [esi + 0x38], 0
je 0x432adf
cmp byte [esi + 0x39], 0
je 0x432aa3
mov ecx, dword [esi + 0x10]
call fcn.00436650
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x432b0f
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x18], ecx
jne 0x432b0f
mov esi, dword [esp + 0x18]
mov ecx, 0x65
mov dword [esp + 0x24], ecx
jmp 0x432b4e
mov ecx, dword [esi + 0x14]
lea edx, [esp + 0xc0]
mov dword [esp + 0xc0], 0
call fcn.00437920
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x432b0f
cmp dword [esp + 0xc0], eax
je 0x432b0f
mov esi, dword [esp + 0x18]
mov ecx, 0x65
mov dword [esp + 0x24], ecx
jmp 0x432b4e
mov edx, dword [esi + 0x24]
mov eax, dword [edx + 4]
mov dword [esi + 0x24], eax
mov dword [edx + 4], 0
cmp dword [esi + 0x28], 0
jne 0x432afe
mov ecx, dword [esp + 0x18]
call fcn.00436b70
xor eax, eax
mov ecx, 0x65
cmp dword [esi + 0x24], eax
cmovne ecx, eax
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 0x18]
jmp 0x432b4e
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
cmp dword [eax + ecx*4], 0
je 0x42ec8f
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x14]
push dword [eax + 0xc]
mov eax, dword [eax + 0x10]
push dword [edi + 0x28]
call eax
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
mov dword [edi + 0x1c], 0
test ecx, ecx
jne 0x432b74
mov eax, dword [esp + 0x14]
mov byte [edi + 2], cl
mov ecx, dword [esp + 0x1c]
movzx eax, word [eax + 2]
inc dword [ecx + eax*4 + 0xa0]
jmp case.0x42eb3f.13
cmp ecx, 0x65
jne 0x4351bf
mov dword [esp + 0x24], 0
mov byte [edi + 2], 1
jmp 0x4346a3
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
je 0x432bb9
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x432bd9
mov ecx, esi
call fcn.004256a0
mov ecx, eax
test ecx, ecx
jne 0x4351bb
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x7d
jne 0x432bf0
mov edx, esi
mov ecx, edi
call fcn.00437bf0
mov esi, dword [esp + 0x18]
jmp 0x430f91
mov eax, dword [esi + 0xc]
cdq
mov dword [esp + 0x238], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x230], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x23c], edx
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x244], eax
mov ax, word [ecx + 0x10]
mov word [esp + 0x248], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x432c39
mov ecx, dword [edi + 0x20]
jmp 0x432c3b
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [esp + 0x234]
and eax, 0xa
push eax
call fcn.00422550
mov esi, dword [esp + 0x20]
add esp, 8
mov dword [edi + 0x1c], 0
jmp 0x430f91
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [esp + 0x180], eax
mov ax, word [edx + 0xc]
mov word [esp + 0x188], ax
mov eax, dword [edx + 8]
lea edx, [esp + 0x180]
mov byte [esp + 0x18a], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [esp + 0x184], eax
lea eax, [esp + 0x100]
push eax
push 0
push 0
push 0
call fcn.0041ef00
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351bb
cmp dword [esp + 0x100], eax
jne 0x432cf1
mov dl, 4
mov ecx, edi
call fcn.004228a0
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4351bb
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov eax, dword [esp + 0x20]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov esi, dword [esp + 0x18]
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x28]
cmp byte [eax + 0x42], 1
je 0x432d48
mov ecx, esi
call fcn.00429eb0
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x42f9ed
mov edx, dword [esp + 0x14]
jmp 0x432d4e
xor eax, eax
mov dword [esp + 0x24], eax
cmp byte [esi + 2], 0
jne 0x432e4b
mov edx, dword [esi + 0x28]
lea eax, [esp + 0xe0]
mov ecx, dword [esp + 0x18]
xorps xmm0, xmm0
push eax
movlpd qword [esp + 0xe4], xmm0
call fcn.0042b520
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x42f9ed
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x80
jne 0x432dd6
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esp + 0xe0]
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0xe4]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x14]
mov word [ecx + 2], 0x100
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x24], esi
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x432e1b
call fcn.0042e9f0
mov esi, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [esp + 0xe0]
mov dword [ecx], eax
mov eax, dword [esp + 0xe4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov esi, dword [esp + 0x18]
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [esp + 0xe0]
mov dword [ecx], eax
mov eax, dword [esp + 0xe4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00425dd0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
cmp byte [esp + 0x3b], 0x28
mov dword [esp + 0x8c], 0
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edx, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x190], eax
mov ax, word [ecx + 0x10]
mov word [esp + 0x198], ax
sbb al, al
mov byte [esp + 0x19a], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, esi
mov dword [esp + 0x194], eax
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x194]
push eax
call fcn.0042b660
mov dword [esp + 0x2c], eax
add esp, 8
mov eax, dword [esp + 0x14]
test byte [eax], 1
mov eax, dword [esp + 0x8c]
jne 0x432ef7
neg eax
jmp 0x432ef8
inc eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x8c], eax
test ecx, ecx
jne 0x4351c3
test eax, eax
jg 0x431bcf
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edi, [eax + ecx*8]
mov eax, 0x2460
test word [edi + 8], ax
je 0x432f4d
mov ecx, edi
call fcn.0042e9f0
mov edx, dword [esp + 0x14]
mov edi, eax
jmp 0x432f56
mov eax, 4
mov word [edi + 8], ax
mov eax, 1
mov word [edi + 8], ax
mov eax, dword [esi + 0xac]
inc eax
cmp dword [esi + 0xa0], eax
jg 0x434e74
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 4]
mov dword [esp + 0x50], ecx
shl ecx, 4
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0xc4], 0
mov dword [esp + 0x48], ecx
mov esi, dword [ecx + eax + 4]
cmp byte [esi + 9], 0
je 0x432faf
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x432faf
mov ecx, esi
call fcn.0041a790
mov edx, dword [esp + 0x30]
lea eax, [esp + 0xc4]
push eax
mov ecx, esi
call fcn.00423170
add esp, 4
mov dword [esp + 0x24], eax
cmp byte [esi + 9], 0
je 0x432fdc
add dword [esi + 0xc], 0xffffffff
jne 0x432fdc
mov ecx, esi
call fcn.0041a750
mov esi, dword [esp + 0xc4]
mov eax, 4
mov ecx, dword [esp + 0x24]
mov word [edi + 8], ax
mov eax, esi
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
test ecx, ecx
jne 0x4351bb
test esi, esi
je 0x42ec87
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x10]
add edi, dword [esp + 0x48]
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x433035
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x1c], esi
jne 0x43302f
mov dword [ecx + 0x1c], edx
mov eax, dword [eax]
test eax, eax
jne 0x433024
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x433051
nop
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x2c], esi
jne 0x43304b
mov dword [ecx + 0x2c], edx
mov eax, dword [eax]
test eax, eax
jne 0x433040
mov al, byte [esp + 0x50]
mov ecx, dword [esp + 0x14]
inc al
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x6b], al
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
lea eax, [esp + 0xc8]
xor ecx, ecx
mov dword [esp + 0xc8], 0
cmp dword [edx + 0xc], ecx
cmove eax, ecx
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004230b0
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x24], eax
cmp dword [ecx + 0xc], 0
je 0x4330e1
mov eax, dword [esp + 0xc8]
add dword [edi + 0x2c], eax
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jle 0x4330dd
mov esi, dword [esp + 0x28]
lea ecx, [ecx + ecx*4]
cdq
add dword [esi + ecx*8], eax
mov eax, esi
mov esi, dword [esp + 0x18]
adc dword [eax + ecx*8 + 4], edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x434eea
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x433125
mov edx, dword [ecx + 0x28]
mov ecx, esi
call fcn.00436ed0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov ecx, dword [ecx + 0x28]
push 0
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx]
call fcn.004230b0
add esp, 4
jmp 0x430f95
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edi, [eax + ecx*8]
mov eax, 0x2460
test word [edi + 8], ax
je 0x433166
mov ecx, edi
call fcn.0042e9f0
mov edx, dword [esp + 0x14]
mov edi, eax
jmp 0x43316f
mov eax, 4
mov word [edi + 8], ax
mov eax, dword [edx + 4]
xor ecx, ecx
shl eax, 4
add eax, dword [esi + 0x10]
cmp byte [edx], 0x87
mov dword [esp + 0xcc], 0
setne cl
mov esi, dword [eax + 4]
inc ecx
mov dword [esp + 0x30], ecx
cmp byte [esi + 9], 0
je 0x4331ad
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x4331ad
mov ecx, esi
call fcn.0041a790
mov ecx, dword [esp + 0x30]
push ecx
lea edx, [esp + 0xd0]
mov ecx, esi
call fcn.00422c60
add esp, 4
mov ecx, eax
cmp byte [esi + 9], 0
mov dword [esp + 0x24], ecx
je 0x4331dc
add dword [esi + 0xc], 0xffffffff
jne 0x4331dc
mov ecx, esi
call fcn.0041a750
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
test ecx, ecx
jne 0x4351bf
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x14]
cdq
add ecx, 0x14
mov dword [edi], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 4], edx
mov edi, dword [esp + 0x1c]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
inc byte [esi + 0x4e]
push 0
push 0
push 0
push dword [eax + 0x10]
push esi
call fcn.00458550
add esp, 0x14
dec byte [esi + 0x4e]
jmp 0x430f95
mov edx, dword [esp + 0x14]
lea eax, [edi + 0x6c]
mov dword [esp + 0x14c], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x148], esi
mov ecx, dword [edx + 4]
push dword [edx + 0x10]
mov dword [esp + 0x154], ecx
add ecx, ecx
push 0x5693a0
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.0040b990
mov esi, eax
add esp, 0x14
test esi, esi
je 0x434e89
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x148]
push 0
push ecx
push fcn.0045c930
push esi
push eax
mov byte [eax + 0x99], 1
mov dword [esp + 0x168], 0
call fcn.00458550
add esp, 0x14
mov edx, esi
mov esi, dword [esp + 0x18]
test eax, eax
mov ecx, esi
cmove eax, dword [esp + 0x154]
mov dword [esp + 0x24], eax
call fcn.00409950
cmp dword [esp + 0x24], 0
mov byte [esi + 0x99], 0
jne 0x434e95
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, esi
mov edx, dword [eax + 4]
call fcn.00445380
jmp 0x430f95
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0x10]
add ecx, ecx
mov edi, dword [eax + ecx*8 + 0xc]
lea eax, [esp + 0x104]
push eax
lea ecx, [edi + 8]
call fcn.0040e000
add esp, 4
mov esi, dword [eax + 8]
test esi, esi
je 0x43338b
push dword [esp + 0x104]
mov edx, eax
lea ecx, [edi + 8]
call fcn.0040e0e0
add esp, 4
test esi, esi
je 0x43338b
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x1c8], 0
jne 0x433348
add dword [esi + 0x20], 0xffffffff
jne 0x43336e
mov edx, esi
mov esi, eax
mov ecx, esi
call fcn.004473d0
mov ecx, dword [esp + 0x14]
or dword [esi + 0x18], 0x800000
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov ecx, dword [esp + 0x14]
mov esi, eax
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
or dword [esi + 0x18], 0x800000
add ecx, 0x14
jmp 0x42eb1d
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
or dword [esi + 0x18], 0x800000
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, esi
push dword [eax + 0x10]
mov edx, dword [eax + 4]
call fcn.00447000
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, esi
push dword [eax + 0x10]
mov edx, dword [eax + 4]
call fcn.00469290
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
lea esi, [eax + eax*4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
lea eax, [esp + 0x108]
push eax
mov eax, dword [ecx + esi*8]
mov ecx, dword [esp + 0x1c]
inc eax
push eax
movzx eax, word [edx + 2]
push dword [edx + 8]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov edx, dword [edx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00423f10
add esp, 0xc
mov dword [esp + 0x30], eax
mov ecx, edi
call fcn.00425dd0
mov eax, dword [esp + 0x108]
test eax, eax
je 0x43347d
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x43432e
mov ecx, dword [esp + 0x28]
dec eax
cdq
push fcn.004098a0
push 1
sub dword [ecx + esi*8], eax
mov eax, ecx
push 0xffffffffffffffff
mov ecx, edi
sbb dword [eax + esi*8 + 4], edx
mov edx, dword [esp + 0x3c]
call fcn.00426030
add esp, 0xc
movzx edx, byte [esp + 0x60]
mov ecx, edi
call fcn.00425470
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea edi, [eax + eax*4]
jne 0x4334d0
mov ecx, esi
call fcn.00425e70
test byte [esi + 8], 0x20
je 0x43432e
mov eax, dword [esp + 0x28]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.00412c80
mov ecx, dword [esp + 0x1c]
add esp, 8
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea edi, [ecx + eax*8]
je 0x433578
mov esi, dword [edi]
movzx eax, word [esi + 0x1a]
test al, 2
jne 0x433533
test al, 1
jne 0x43352e
mov ecx, dword [esi + 8]
call fcn.00412d70
mov dword [esi + 8], eax
or word [esi + 0x1a], 3
mov eax, dword [esi + 8]
test eax, eax
je 0x433578
mov ecx, dword [eax + 4]
mov edi, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], ecx
mov dword [esi + 8], eax
test eax, eax
jne 0x433558
mov ecx, esi
call fcn.00412bf0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x2c]
push edi
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00425e30
add esp, 8
jmp 0x43469f
mov ecx, edi
call fcn.00425dd0
jmp case.0x42eb3f.13
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edx + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x30], eax
jne 0x4335c2
mov ecx, esi
call fcn.00425e70
test byte [esi + 8], 0x20
je 0x43432e
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
test eax, eax
je 0x4335e7
push dword [ecx + edi*8 + 4]
mov edx, eax
push dword [ecx + edi*8]
mov ecx, dword [esi]
call fcn.00413010
add esp, 8
test eax, eax
jne 0x431bcf
mov eax, dword [esp + 0x30]
test eax, eax
js 0x42ec87
mov eax, dword [esp + 0x28]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.00412c80
mov ecx, dword [esp + 0x1c]
add esp, 8
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x40], esi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
cmp word [eax + 2], 0
je 0x433664
mov eax, dword [edi + 0xc4]
mov ecx, dword [esi + 0x14]
test eax, eax
je 0x433660
nop
cmp dword [eax + 0x1c], ecx
je 0x42ebbc
mov eax, dword [eax + 4]
test eax, eax
jne 0x433650
mov ecx, dword [esp + 0x2c]
mov eax, dword [edi + 0xcc]
mov edi, dword [esp + 0x18]
cmp eax, dword [edi + 0x88]
jge 0x434eae
test byte [ecx + 8], 0x40
jne 0x43383b
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
add eax, ecx
test ecx, ecx
lea esi, [eax + 1]
cmovne esi, eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x4336b0
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, edi
cdq
push edx
push eax
call fcn.00409bb0
mov edi, eax
add esp, 8
test edi, edi
je 0x43432e
mov ecx, dword [esp + 0x2c]
call fcn.004259d0
mov eax, dword [esp + 0x2c]
mov ecx, 0x40
mov edx, dword [esp + 0x14]
sub edx, dword [esp + 0x58]
mov word [eax + 8], cx
mov ecx, dword [esp + 0x40]
mov dword [eax], edi
mov eax, dword [esp + 0x1c]
mov dword [edi], eax
mov dword [edi + 0x3c], esi
mov eax, dword [ecx + 0xc]
mov dword [edi + 0x40], eax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x30], eax
mov eax, dword [edx + 0x5c]
mov dword [edi + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [edi + 0x38], eax
mov eax, dword [edx + 0x70]
mov dword [edi + 0x14], eax
mov eax, dword [edx + 0x1c]
mov dword [edi + 0x2c], eax
mov eax, dword [edx + 0x58]
mov dword [edi + 8], eax
mov eax, dword [edx + 0x88]
mov dword [edi + 0x34], eax
mov eax, dword [ecx + 0x14]
mov dword [edi + 0x1c], eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
lea eax, [edi + 0x50]
cmp eax, ecx
je 0x433772
mov edx, dword [esp + 0x18]
mov esi, 0x80
nop
mov word [eax + 8], si
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x433760
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x40]
inc dword [edx + 0xcc]
mov eax, dword [edx + 0xc4]
mov ecx, dword [esp + 0x18]
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x20]
mov dword [edi + 0x20], eax
mov eax, dword [ecx + 0x24]
lea ecx, [edi + 0x50]
mov dword [edi + 0x24], eax
mov eax, dword [edx + 0x2c]
mov dword [edi + 0x44], eax
mov eax, dword [edx]
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 0x58]
mov dword [edi + 0x48], eax
mov eax, dword [edx + 0xd8]
mov dword [edi + 0x28], eax
mov dword [edx + 0x5c], ecx
mov dword [edx + 0xd8], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0xc4], edi
mov eax, dword [edi + 0x3c]
mov dword [edx + 0x18], eax
movzx eax, word [edi + 0x40]
mov dword [edx + 0x1c], eax
mov eax, dword [edx + 0x18]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [edx + 0x70], ecx
mov eax, dword [esi + 0xc]
lea ecx, [ecx + eax*4]
mov dword [edi + 0x18], ecx
mov eax, dword [esi + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call fcn.004a4070
mov edx, dword [esi]
add esp, 0xc
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x58], edx
mov dword [edi + 0x58], edx
mov eax, dword [esi + 4]
lea esi, [edx - 0x14]
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov dword [edi + 0x88], eax
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov edi, dword [ecx]
mov edx, dword [esp + 0x1c]
jmp 0x433776
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x43386c
mov ecx, esi
call fcn.0042e9f0
mov esi, eax
jmp 0x433875
mov eax, 4
mov word [esi + 8], ax
mov edx, dword [edi + 0xc4]
push 0x1000
mov eax, dword [edx + 0x30]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [esp + 0x18]
add eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.00425f70
mov ecx, dword [esp + 0x18]
add esp, 4
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
test dword [esi + 0x18], 0x40000
mov eax, dword [esp + 0x14]
je 0x4338e8
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x14]
cdq
add dword [esi + 0x1c0], eax
mov eax, dword [esp + 0x20]
adc dword [esi + 0x1c4], edx
add ecx, 0x14
jmp 0x42eb1d
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x14]
cdq
je 0x43390e
add dword [esi + 0x1b8], eax
mov eax, dword [esp + 0x20]
adc dword [esi + 0x1bc], edx
add ecx, 0x14
jmp 0x42eb1d
add dword [edi + 0x40], eax
mov eax, dword [esp + 0x20]
adc dword [edi + 0x44], edx
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
cmp dword [eax + 4], 0
je 0x43395e
mov eax, dword [esi + 0x1b8]
or eax, dword [esi + 0x1bc]
jne 0x42ec8f
mov eax, dword [esi + 0x1c0]
or eax, dword [esi + 0x1c4]
je 0x431bcf
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jmp 0x433936
mov edx, dword [edi + 0xc4]
test edx, edx
je 0x433992
mov eax, dword [edx + 4]
test eax, eax
je 0x433980
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x433977
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x4339a3
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00425b90
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00425b90
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x42ec87
jl 0x4339da
cmp dword [edi], eax
jae 0x42ec87
mov esi, dword [esp + 0x18]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [edi], eax
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea esi, [eax + eax*4]
mov edi, dword [edx + esi*8 + 4]
mov ecx, dword [edx + esi*8]
test edi, edi
jl 0x42ec87
jg 0x433a1e
test ecx, ecx
je 0x42ec87
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
sbb edi, edx
mov edx, dword [esp + 0x28]
mov dword [edx + esi*8], ecx
mov ecx, dword [esp + 0x58]
mov dword [edx + esi*8 + 4], edi
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42ec80
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 4]
lea edi, [eax + eax*4]
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
mov dword [esp + 0x30], edx
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x433a89
mov ecx, esi
call fcn.0042e9f0
mov edx, dword [esp + 0x30]
mov esi, eax
jmp 0x433a92
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + edi*8]
mov eax, dword [eax + edi*8 + 4]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
test eax, eax
jl 0x433b1b
jg 0x433ab5
test ecx, ecx
je 0x433b1b
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
test ecx, ecx
jl 0x433aca
jg 0x433adb
test eax, eax
jne 0x433adb
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0xf0]
call fcn.0040d900
add esp, 8
test eax, eax
jne 0x433b1b
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov dword [esi], eax
mov eax, dword [esp + 0xec]
mov dword [esi + 4], eax
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov eax, dword [esp + 0x20]
mov dword [esi], 0xffffffff
mov dword [esi + 4], 0xffffffff
mov esi, dword [esp + 0x18]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + esi*8]
mov edx, dword [eax + esi*8 + 4]
mov eax, ecx
or eax, edx
je 0x42ebbc
test edx, edx
jl 0x431bcf
jg 0x433b71
test ecx, ecx
je 0x431bcf
mov eax, dword [esp + 0x28]
sub ecx, 1
sbb edx, 0
mov dword [eax + esi*8], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + esi*8 + 4], edx
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42ec80
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
mov edx, dword [edx + ecx*8 + 4]
cmp edx, 0x80000000
jl 0x433bd2
jg 0x433bbb
test eax, eax
je 0x433bd2
mov edi, dword [esp + 0x28]
sub eax, 1
sbb edx, 0
mov dword [edi + ecx*8], eax
mov eax, edi
mov edi, dword [esp + 0x1c]
mov dword [eax + ecx*8 + 4], edx
mov edx, dword [esp + 0x28]
mov eax, dword [edx + ecx*8]
or eax, dword [edx + ecx*8 + 4]
je 0x431bcf
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, esi
push 0
movzx eax, word [eax + 2]
mov dword [esp + 0x34], eax
lea eax, [eax*4 + 0x1c]
push eax
call fcn.00409c40
mov esi, eax
add esp, 8
test esi, esi
je 0x4351ae
mov eax, dword [esp + 0x14]
mov dword [esi + 8], 0
mov ecx, dword [eax + 0x10]
mov dword [esi + 4], ecx
mov ecx, eax
sub ecx, dword [esp + 0x58]
mov eax, 0x66666667
imul ecx
mov dword [esi + 0xc], edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x30]
mov byte [esi + 0x1a], al
mov eax, dword [esp + 0x14]
mov word [eax], 0xf095
mov dword [eax + 0x10], esi
jmp 0x433c64
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], esi
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [esp + 0x48], edi
cmp dword [esi + 8], edi
je 0x433cbe
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edi
js 0x433cbe
mov edi, dword [esp + 0x14]
lea edx, [esi + 0x1c]
mov esi, dword [esp + 0x28]
lea edx, [edx + ecx*4]
nop dword [eax + eax]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + 4], eax
jns 0x433ca0
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
inc dword [edi + 0xc]
mov eax, 1
mov word [esp + 0x260], ax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x278], eax
lea eax, [esp + 0x258]
mov dword [esp + 0x270], 0
mov ecx, dword [esi + 4]
mov dword [esi], eax
lea eax, [esi + 0x1c]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov word [esi + 0x18], 0
mov eax, dword [ecx + 0xc]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x433d55
cmp dword [esi + 0x14], 0
je 0x433d3d
lea eax, [esp + 0x258]
push eax
call fcn.0042bee0
add esp, 4
push eax
push 0x569418
push dword [esp + 0x24]
call fcn.004268e0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x258]
call fcn.004259d0
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4351bb
cmp byte [esi + 0x18], 0
je 0x42ec87
mov eax, dword [esp + 0x14]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x42ec87
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.00425e30
mov ecx, dword [esp + 0x1c]
add esp, 8
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00425830
mov dword [esp + 0x24], eax
test eax, eax
jne 0x434ece
movzx edx, byte [esp + 0x60]
mov ecx, esi
call fcn.00425470
movzx eax, word [esi + 8]
test al, 0x12
je 0x42ebbc
mov edx, dword [esi + 0xc]
test eax, 0x4000
je 0x433de7
add edx, dword [esi]
mov eax, dword [esi + 0x20]
xor ecx, ecx
mov esi, dword [esp + 0x18]
cmp edx, dword [eax + 0x60]
setg cl
test ecx, ecx
jne 0x434f3e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
lea eax, [esp + 0xfc]
mov dword [esp + 0xf4], 0
push eax
lea eax, [esp + 0xfc]
mov dword [esp + 0x100], 0xffffffff
push eax
mov eax, dword [esp + 0x1c]
mov ecx, esi
mov dword [esp + 0x100], 0xffffffff
push dword [eax + 8]
mov edx, dword [eax + 4]
call fcn.0047f8c0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x433e79
cmp ecx, 5
jne 0x4351c3
mov dword [esp + 0x24], 0
mov dword [esp + 0xf4], 1
mov eax, dword [esp + 0x14]
xor esi, esi
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
nop dword [eax]
mov eax, dword [esp + esi*4 + 0xf4]
mov ecx, edi
cdq
push edx
push eax
call fcn.00425e30
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x433e90
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
mov dword [esp + 0x30], esi
test word [esi + 8], ax
je 0x433ef1
mov ecx, esi
call fcn.0042e9f0
mov dword [esp + 0x30], eax
jmp 0x433efa
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x18]
add ecx, ecx
cmp edx, 0xffffffff
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x48], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
movzx ecx, byte [edi + 5]
cmove edx, ecx
mov dword [esp + 0x44], ecx
cmp byte [edi + 0x11], 3
jb 0x433f32
xor eax, eax
jmp 0x433f51
mov eax, dword [edi + 0x44]
cmp dword [eax], 0
je 0x433f4c
cmp dword [edi + 0x54], 0
jl 0x433f4c
jg 0x433f48
cmp dword [edi + 0x50], 0
jbe 0x433f4c
xor eax, eax
jmp 0x433f51
mov eax, 1
test eax, eax
mov esi, ecx
mov eax, 0x571282
cmovne esi, edx
cmp byte [edi + 0x10], 0
jne 0x433f69
mov eax, dword [edi + 0xb0]
cmp esi, 5
jne 0x433f9e
mov ecx, eax
call fcn.0040c620
test eax, eax
je 0x433fee
cmp byte [edi + 0xe], 0
mov eax, dword [edi + 0x40]
mov eax, dword [eax]
jne 0x433fee
cmp byte [edi + 4], 0
jne 0x433f95
cmp dword [eax], 2
jl 0x433fee
cmp dword [eax + 0x34], 0
je 0x433fee
mov ecx, dword [esp + 0x44]
mov esi, 5
cmp esi, ecx
je 0x434022
cmp ecx, 5
je 0x433fb0
cmp esi, 5
jne 0x434022
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x43], 0
je 0x434ef3
cmp dword [eax + 0xa0], 1
jg 0x434ef3
cmp ecx, 5
jne 0x433ff6
mov edx, eax
mov ecx, edi
call fcn.00417ed0
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x434022
mov edx, esi
mov ecx, edi
call fcn.00417c40
jmp 0x43400c
mov edx, dword [esp + 0x44]
mov esi, edx
jmp 0x434026
cmp ecx, 4
jne 0x434005
lea edx, [ecx - 2]
mov ecx, edi
call fcn.00417c40
cmp dword [esp + 0x24], 0
jne 0x434022
mov ecx, dword [esp + 0x48]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.004245a0
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x44]
cmp dword [esp + 0x24], 0
mov ecx, edi
cmove edx, esi
call fcn.00417c40
mov esi, dword [esp + 0x30]
mov ecx, 0xa02
mov word [esi + 8], cx
cmp eax, 6
jne 0x43404b
xor ecx, ecx
jmp 0x434052
mov ecx, dword [eax*4 + 0x4eb554]
mov dword [esi + 0x10], ecx
call fcn.0040c620
movzx edx, byte [esp + 0x60]
mov ecx, esi
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], 1
call fcn.00425470
jmp 0x430fe3
mov eax, dword [esp + 0x14]
lea ecx, [edi + 0x6c]
mov edx, esi
push dword [eax + 4]
call fcn.0046c220
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
jmp 0x430fef
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0041dc40
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x42ec8f
cmp ecx, 0x65
jne 0x4351c3
jmp 0x431bc7
cmp dword [ecx + 4], 0
jne 0x4340df
mov ecx, esi
call fcn.0042b760
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
or dword [edi + 0x94], 1
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov al, byte [eax + 0xc]
mov byte [esp + 0x10c], al
test al, al
jne 0x434111
test dword [esi + 0x18], 0x400
jne 0x42ec8f
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x14]
push dword [esp + 0x10c]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00424470
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x42ec8f
cmp cl, 6
jne 0x4351c3
mov eax, dword [esp + 0x14]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push edi
call fcn.004268e0
mov ecx, dword [esp + 0x30]
add esp, 0xc
jmp 0x4351c3
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [eax + 0x10]
mov edx, esi
call fcn.0046da50
mov ecx, eax
mov dword [esp + 0x24], ecx
test esi, esi
je 0x430feb
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.0042b880
mov ecx, dword [esp + 0x24]
jmp 0x430feb
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x28]
movq qword [esp + 0x200], xmm0
movaps xmmword [esp + 0x1e0], xmm0
mov eax, dword [eax + 8]
movaps xmmword [esp + 0x1f0], xmm0
mov dword [esp + 0x200], esi
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
lea ecx, [esp + 0x1e0]
call fcn.00425fc0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x1e0]
push eax
call fcn.0042bee0
add esp, 4
test eax, eax
je 0x434211
lea ecx, [edi + 0x6c]
push ecx
push eax
mov eax, dword [esp + 0x1c]
mov ecx, esi
mov edx, dword [eax + 4]
call fcn.0046d4f0
add esp, 8
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x1e0]
call fcn.004259d0
mov ecx, dword [esp + 0x24]
jmp 0x430fef
mov eax, dword [esp + 0x14]
mov ecx, esi
inc dword [esi + 0xac]
push dword [eax + 0x10]
mov edx, dword [eax + 4]
call fcn.0046d810
mov ecx, eax
add esp, 4
dec dword [esi + 0xac]
mov dword [esp + 0x24], ecx
jmp 0x430fef
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa0], 0
mov eax, dword [eax + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x434f24
mov eax, dword [edi]
mov dword [esp + 0x48], eax
test eax, eax
je 0x434f24
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xa0]
push ecx
push edi
call eax
mov ecx, dword [esp + 0x24]
add esp, 8
mov edx, edi
mov dword [esp + 0x24], eax
call fcn.0042b880
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4351bf
mov eax, dword [esp + 0xa0]
mov dword [eax], edi
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov dword [esp + 0x30], edx
test edx, edx
jle 0x4342d8
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x18]
sub eax, edx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x1c]
jmp 0x4342df
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx + 0x5c]
mov eax, dword [ecx + 0x70]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x434300
call fcn.004288f0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x70]
mov ecx, dword [esp + 0x30]
mov dword [eax + ecx*4], 0
cmp dword [esi + 0x18], 0x60
jge 0x434377
push 0
mov edx, 0x60
mov ecx, esi
call fcn.00425490
add esp, 4
test eax, eax
je 0x434382
mov eax, dword [esp + 0x48]
push dword [esp + 0xa0]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
cmp byte [esi + 0x45], 0
jne 0x43435f
cmp byte [esi + 0x46], 0
jne 0x43435f
cmp dword [esi + 0xa8], 0
mov byte [esi + 0x45], 1
jle 0x434359
mov dword [esi + 0xf8], 1
inc dword [esi + 0x100]
push 0x5694cc
push edi
call fcn.004268e0
add esp, 8
mov ecx, 7
jmp 0x4351c3
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x10]
xorps xmm0, xmm0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x18]
mov eax, dword [eax + 0x70]
mov dword [eax + edx*4], ecx
xor eax, eax
movups xmmword [ecx], xmm0
movups xmmword [ecx + 0x10], xmm0
mov dword [ecx + 0x20], 0
mov word [ecx + 0x38], ax
lea eax, [ecx + 0x58]
mov dword [ecx + 0x48], eax
mov word [ecx], 0xff02
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0x28], eax
inc dword [edi + 4]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
add edi, 0x28
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x1c]
mov esi, dword [edi + edx*8]
lea edi, [edi + edx*8]
movd xmm0, edi
mov dword [esp + 0x30], edi
mov eax, dword [eax + 0x70]
pshufd xmm3, xmm0, 0
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esp + 0x44], eax
mov eax, dword [eax + 0x28]
mov dword [esp + 0x50], eax
mov eax, dword [eax]
mov dword [esp + 0x40], eax
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + edx*8]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0x60]
test esi, esi
jle 0x4344d3
cmp esi, 8
jb 0x4344bb
cmp dword [0x57001c], 2
jl 0x4344bb
movaps xmm2, xmmword [0x55cc30]
mov eax, esi
and eax, 0x80000007
jns 0x434465
dec eax
or eax, 0xfffffff8
inc eax
movaps xmm1, xmmword [str.____]
mov edi, esi
sub edi, eax
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx + ecx*4], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx + ecx*4 + 0x10], xmm0
add ecx, 8
cmp ecx, edi
jl 0x434470
mov edi, dword [esp + 0x30]
cmp ecx, esi
jge 0x4344d3
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x4344c8
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
push edx
push esi
push dword [eax + 0x10]
mov esi, dword [esp + 0x5c]
push dword [esp + 0x54]
mov eax, dword [edi + 0x20]
push esi
call eax
mov edx, dword [esp + 0x54]
add esp, 0x14
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
call fcn.0042b880
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4351bb
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [esp + 0x48]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
jne 0x431bcf
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
cmp byte [edx + 2], 0
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x43457e
mov ecx, edi
call fcn.00425dd0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42eb1d
mov eax, dword [edx + 0x28]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movaps xmmword [esp + 0x210], xmm0
movaps xmmword [esp + 0x220], xmm0
mov dword [esp + 0x210], edi
mov ax, word [edi + 8]
and ax, word [esp + 0x90]
or ax, 1
mov word [edi + 8], ax
mov eax, dword [esp + 0x14]
push dword [eax + 8]
lea eax, [esp + 0x214]
push eax
push dword [edx + 0x28]
mov eax, dword [ecx + 0x2c]
call eax
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov edx, esi
mov dword [esp + 0x24], eax
call fcn.0042b880
mov eax, dword [esp + 0x224]
test eax, eax
mov ecx, dword [esp + 0x24]
movzx edx, byte [esp + 0x60]
cmovne ecx, eax
mov dword [esp + 0x24], ecx
mov ecx, edi
call fcn.00425470
movzx eax, word [edi + 8]
test al, 0x12
je 0x430fe3
mov edx, dword [edi + 0xc]
test eax, 0x4000
je 0x434614
add edx, dword [edi]
mov eax, dword [edi + 0x20]
xor ecx, ecx
cmp edx, dword [eax + 0x60]
setg cl
test ecx, ecx
je 0x430fe3
mov esi, dword [esp + 0x18]
jmp 0x434f3a
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x42ec8b
mov eax, dword [edi + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [esp + 0x34], ecx
mov eax, dword [ecx + 0x24]
call eax
mov ecx, dword [esp + 0x20]
add esp, 4
mov edx, esi
mov dword [esp + 0x24], eax
call fcn.0042b880
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4351bb
mov eax, dword [esp + 0x30]
push dword [edi + 0x28]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x43469f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
mov esi, dword [eax + 8]
dec esi
lea esi, [esi + esi*4]
lea esi, [ecx + esi*4]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
cmp dword [esi + 0xf8], 0
jne 0x43516e
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0xa4]
jb 0x434ca2
mov ecx, dword [esi + 0x130]
test ecx, ecx
je 0x434ca2
mov edi, dword [esi + 0x138]
xor edx, edx
div edi
push dword [esi + 0x134]
sub edi, edx
add edi, dword [esp + 0x24]
mov dword [esp + 0xa8], edi
call ecx
mov edi, dword [esp + 0x20]
add esp, 4
test eax, eax
jne 0x434f7c
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 2
lea esi, [ecx + eax*8]
je 0x434744
cmp byte [esi + 0xa], 1
je 0x434744
mov dl, 1
mov ecx, esi
call fcn.0040bf80
mov ecx, eax
test ecx, ecx
jne 0x4351bb
mov eax, dword [edi]
push dword [esi + 0x10]
push edi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [esp + 0x24], eax
mov edx, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.0042b880
and dword [edi + 0x94], 0xfffffffe
mov ecx, dword [esp + 0x24]
jmp 0x430feb
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 8]
mov dword [esp + 0x48], edx
test edx, edx
je 0x434f2e
mov eax, dword [edx]
mov dword [esp + 0x30], eax
test eax, eax
je 0x434f2e
cmp dword [eax + 0x34], 0
mov esi, dword [esp + 0x14]
mov esi, dword [esi + 8]
je 0x42ebbc
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov edi, dword [edi + 0x60]
mov al, byte [eax + 0x4a]
mov byte [esp + 0x3b], al
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x4347db
nop dword [eax]
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x4347d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov al, byte [eax + 2]
mov byte [ecx + 0x4a], al
lea eax, [esp + 0x140]
push eax
mov eax, dword [esp + 0x34]
push edi
push esi
push edx
mov eax, dword [eax + 0x34]
call eax
mov esi, dword [esp + 0x28]
add esp, 0x10
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov edx, dword [esp + 0x48]
mov dword [esp + 0x24], eax
mov al, byte [esp + 0x3b]
mov byte [esi + 0x4a], al
call fcn.0042b880
cmp dword [esp + 0x24], 0
mov eax, dword [esp + 0x14]
jne 0x434847
cmp dword [eax + 4], 0
je 0x434847
mov eax, dword [esp + 0x140]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x144]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
cmp cl, 0x13
jne 0x434893
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x434893
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
cmp eax, 4
jne 0x43487e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
mov dword [esp + 0x24], 0
jmp 0x42eb1d
cmp eax, 5
jne 0x434888
mov eax, 2
mov byte [edi + 0x8e], al
jmp 0x430fef
inc dword [edi + 0x2c]
jmp 0x430fef
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edx, [eax + ecx*8]
mov eax, 0x2460
test word [edx + 8], ax
je 0x4348c1
mov ecx, edx
call fcn.0042e9f0
mov edx, eax
jmp 0x4348ca
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [esp + 0x14]
add ecx, 0x14
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [edx], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 4], 0
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edx, [eax + ecx*8]
mov eax, 0x2460
mov dword [esp + 0x30], edx
test word [edx + 8], ax
je 0x434925
mov ecx, edx
call fcn.0042e9f0
mov dword [esp + 0x30], eax
jmp 0x43492e
mov eax, 4
mov word [edx + 8], ax
mov edx, dword [esp + 0x14]
xor edi, edi
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + 4]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x434952
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x2c]
cmp edi, ecx
cmovb edi, ecx
cmp byte [esi + 9], 0
je 0x434968
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x434968
mov ecx, esi
call fcn.0041a790
mov eax, dword [esi + 4]
mov eax, dword [eax]
test edi, edi
jle 0x434977
mov dword [eax + 0xa4], edi
cmp byte [esi + 9], 0
mov edi, dword [eax + 0xa4]
je 0x434990
add dword [esi + 0xc], 0xffffffff
jne 0x434990
mov ecx, esi
call fcn.0041a750
mov ecx, dword [esp + 0x30]
mov eax, edi
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42eb1d
mov eax, dword [esp + 0x14]
mov ecx, esi
push 0
movzx eax, word [eax + 2]
mov dword [esp + 0x34], eax
lea eax, [eax*4 + 0x1c]
push eax
call fcn.00409c40
mov esi, eax
add esp, 8
test esi, esi
je 0x4351ae
mov eax, dword [esp + 0x14]
mov dword [esi], 0
mov ecx, dword [eax + 0x10]
mov dword [esi + 4], ecx
mov ecx, eax
sub ecx, dword [esp + 0x58]
mov eax, 0x66666667
imul ecx
mov dword [esi + 0xc], edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x30]
mov byte [esi + 0x1a], al
mov eax, dword [esp + 0x14]
add byte [eax], 2
mov byte [eax + 1], 0xf0
mov dword [eax + 0x10], esi
jmp 0x434a26
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], esi
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [esp + 0x48], edi
cmp dword [esi], edi
je 0x434a7e
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi], edi
js 0x434a7e
mov edi, dword [esp + 0x14]
lea edx, [esi + 0x1c]
mov esi, dword [esp + 0x28]
lea edx, [edx + ecx*4]
nop dword [eax + eax]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + 4], eax
jns 0x434a60
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
mov ax, word [edi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 1
mov word [edi + 8], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov byte [esi + 0x19], 0
mov eax, dword [ecx + 0xc]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x434b09
cmp dword [esi + 0x14], 0
je 0x434ad9
push edi
call fcn.0042bee0
add esp, 4
push eax
push 0x569484
push dword [esp + 0x24]
call fcn.004268e0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push dword [eax + 4]
lea edx, [edx + 0xd8]
push dword [esi + 0x10]
mov esi, dword [esp + 0x20]
mov ecx, esi
call fcn.00429ae0
mov ecx, dword [esp + 0x2c]
add esp, 8
test ecx, ecx
jne 0x4351bf
jmp 0x434b0d
mov esi, dword [esp + 0x18]
test byte [edi + 8], 0x12
je 0x42ec8b
movzx edx, byte [esp + 0x60]
mov ecx, edi
call fcn.00425470
movzx eax, word [edi + 8]
test al, 0x12
je 0x42ec8b
mov edx, dword [edi + 0xc]
test eax, 0x4000
je 0x434b3b
add edx, dword [edi]
mov eax, dword [edi + 0x20]
xor ecx, ecx
mov edi, dword [esp + 0x1c]
cmp edx, dword [eax + 0x60]
setg cl
test ecx, ecx
jne 0x434f3e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42eb1d
mov cl, byte [esi + 0x4c]
test cl, 0x81
je 0x434c1d
test byte [edi + 0x94], 2
jne 0x434c1d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x434b94
mov eax, dword [edi + 0xbc]
test eax, eax
je 0x434c1d
test cl, cl
jns 0x434bc7
mov ecx, dword [esp + 0x1c]
mov edx, eax
mov edi, dword [esi + 0xb8]
call fcn.0042e270
mov esi, eax
mov eax, dword [esp + 0x18]
push esi
push dword [eax + 0xbc]
call edi
push esi
call fcn.004098a0
mov edi, dword [esp + 0x28]
add esp, 0xc
jmp 0x434c1d
cmp dword [esi + 0xa8], 1
push eax
jle 0x434c09
push str.____s
push esi
call fcn.0040b990
add esp, 0xc
mov esi, eax
push esi
push edi
mov edi, dword [esp + 0x20]
push dword [edi + 0xbc]
mov ecx, dword [edi + 0xb8]
push 1
call ecx
add esp, 0x10
mov edx, esi
mov ecx, edi
call fcn.00409990
mov edi, dword [esp + 0x1c]
jmp 0x434c1d
mov eax, dword [esi + 0xb8]
push edi
push dword [esi + 0xbc]
push 1
call eax
add esp, 0x10
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
cmp eax, dword [0x56daf0]
jl 0x434c83
mov edx, 1
cmp dword [edi + 0x88], edx
jle 0x434c5d
mov eax, 0x14
nop
mov ecx, dword [edi + 0x58]
cmp byte [eax + ecx], 0x14
jne 0x434c51
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [edi + 0x88]
jl 0x434c40
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
mov dword [esi + 4], 0
inc dword [esi + 4]
inc dword [edi + 0xb8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42ec80
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
inc dword [esi + 4]
inc dword [edi + 0xb8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42ec80
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x42eb1d
mov ecx, dword [edx + 4]
mov dword [edi + 0x28], ecx
mov al, byte [edx + 8]
mov byte [edi + 0x8e], al
mov dword [edi + 0x24], esi
test ecx, ecx
je 0x434d3e
movzx eax, word [edx + 2]
test ax, ax
je 0x434d0f
push dword [eax*4 + 0x4eb3d0]
push str._s_constraint_failed
push edi
call fcn.004268e0
mov eax, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [eax + 0x10]
test eax, eax
je 0x434d20
push eax
push dword [edi + 0x6c]
push str._z:__s
push dword [esp + 0x24]
call fcn.0040b990
add esp, 0x10
mov dword [edi + 0x6c], eax
jmp 0x434d20
push dword [edx + 0x10]
push 0x569224
push edi
call fcn.004268e0
add esp, 0xc
push dword [edi + 0x6c]
mov eax, dword [esp + 0x18]
push dword [edi + 0xbc]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.0040bbc0
add esp, 0x14
mov ecx, edi
call fcn.00429620
mov dword [esp + 0x24], eax
cmp eax, 5
jne 0x435125
mov dword [edi + 0x28], eax
jmp 0x435304
mov ecx, 0x13e1b
call fcn.00480cf0
mov ecx, eax
jmp 0x4351bb
push str.cannot_open_savepoint___SQL_statements_in_progress
push edi
call fcn.004268e0
mov esi, dword [esp + 0x20]
add esp, 8
mov ecx, 5
jmp 0x4351c3
mov edi, dword [esp + 0x1c]
push str.cannot_release_savepoint___SQL_statements_in_progress
push edi
call fcn.004268e0
add esp, 8
mov ecx, 5
jmp 0x4351c3
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x1c]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov eax, 5
mov byte [esi + 0x43], 0
mov dword [esp + 0x24], eax
mov dword [edi + 0x28], eax
jmp 0x435304
mov ecx, 8
jmp 0x4351c3
cmp cl, 5
jne 0x42f9ed
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x58]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 0x28], eax
jmp 0x435304
mov eax, dword [esp + 0x1c]
mov ecx, edi
mov edx, dword [eax + 0x6c]
call fcn.00409990
mov edx, 0x569384
mov ecx, edi
call fcn.00409ea0
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x6c], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov ecx, edx
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], esi
mov esi, dword [esp + 0x18]
je 0x434e55
mov ecx, esi
call fcn.004471e0
mov edi, dword [esp + 0x1c]
mov ecx, 0x11
or dword [edi + 0x94], 1
jmp 0x4351c3
mov ecx, 0x204
jmp 0x4351c3
mov edi, dword [esp + 0x1c]
mov ecx, 6
mov byte [edi + 0x8e], 2
jmp 0x4351c3
mov esi, dword [esp + 0x18]
mov dword [esp + 0x24], 7
mov ecx, esi
call fcn.00447220
mov ecx, dword [esp + 0x24]
cmp ecx, 7
je 0x434336
jmp 0x4351c3
mov edi, dword [esp + 0x1c]
push str.too_many_levels_of_trigger_recursion
push edi
call fcn.004268e0
mov esi, dword [esp + 0x20]
add esp, 8
mov ecx, 1
jmp 0x4351c3
push esi
call fcn.0042bee0
add esp, 4
push eax
push 0x56941c
push edi
call fcn.004268e0
mov esi, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [esp + 0x24]
jmp 0x4351c3
mov edi, dword [esp + 0x1c]
mov ecx, str.out_of
cmp esi, 5
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push edi
call fcn.004268e0
mov esi, dword [esp + 0x24]
add esp, 0xc
mov ecx, 1
jmp 0x4351c3
mov ecx, 6
jmp 0x4351bf
mov ecx, 6
jmp 0x4351c3
mov esi, eax
mov edi, dword [esp + 0x1c]
push 0x5694b4
push edi
call fcn.004268e0
add esp, 8
mov ecx, 0x12
jmp 0x4351c3
mov eax, dword [esi + 0x130]
test eax, eax
je 0x434f86
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0xa4]
jb 0x434f86
push dword [esi + 0x134]
call eax
add esp, 4
test eax, eax
je 0x434f86
mov ecx, 9
jmp 0x4351c3
xor edx, edx
mov ecx, edi
call fcn.004295c0
mov ecx, eax
test ecx, ecx
jne 0x4351c3
lea edx, [eax + 1]
mov ecx, edi
call fcn.004295a0
mov eax, dword [edi + 0x20]
mov ecx, dword [esp + 0x14]
add eax, 2
mov edx, dword [esp + 0x28]
or eax, 1
mov dword [edi + 0x20], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov dword [edi + 0x68], esi
xor edi, edi
cmp dword [ecx + 8], edi
jle 0x434ffe
nop word [eax + eax]
mov eax, 0x1000
test word [esi + 8], ax
je 0x434fea
mov ecx, esi
call fcn.00425620
test eax, eax
jne 0x43432e
mov ecx, esi
call fcn.00425730
mov eax, dword [esp + 0x14]
inc edi
add esi, 0x28
cmp edi, dword [eax + 8]
jl 0x434fd0
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x45], 0
jne 0x434332
test byte [esi + 0x4c], 4
mov edi, dword [esp + 0x1c]
je 0x43502c
mov eax, dword [esi + 0xb8]
push 0
push edi
push dword [esi + 0xbc]
push 4
call eax
add esp, 0x10
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x58]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [edi + 0x24], eax
mov eax, 0x64
mov dword [esp + 0x24], eax
jmp 0x435304
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x90], ecx
movzx eax, byte [eax + 0x43]
cmp ecx, eax
je 0x43513f
test esi, esi
mov esi, dword [esp + 0x18]
je 0x435092
mov edx, 0x204
mov ecx, esi
call fcn.0047ec90
mov byte [esi + 0x43], 1
jmp 0x4350d9
test ecx, ecx
je 0x4350b7
cmp dword [esi + 0xa4], 0
jle 0x4350b7
push str.cannot_commit_transaction___SQL_statements_in_progress
push edi
call fcn.004268e0
add esp, 8
mov ecx, 5
jmp 0x4351c3
mov edx, 1
mov ecx, edi
call fcn.004295c0
mov dword [esp + 0x24], eax
test eax, eax
jne 0x435304
mov eax, dword [esp + 0x90]
mov byte [esi + 0x43], al
mov ecx, edi
call fcn.00429620
cmp eax, 5
jne 0x43511e
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x58]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov al, 1
sub al, byte [esp + 0x90]
mov byte [esi + 0x43], al
mov eax, 5
mov dword [esp + 0x24], eax
mov dword [edi + 0x28], eax
jmp 0x435304
mov ecx, esi
call fcn.0047e4e0
cmp dword [edi + 0x28], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [esp + 0x24], eax
jmp 0x435304
test ecx, ecx
jne 0x43514a
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x435159
test esi, esi
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push eax
push edi
call fcn.004268e0
mov esi, dword [esp + 0x20]
add esp, 8
mov ecx, 1
jmp 0x4351c3
mov edi, dword [esp + 0x1c]
xor eax, eax
mov ecx, str.unknown_error
cmp byte [esi + 0x45], al
sete al
lea eax, [eax*2 + 7]
mov dword [esp + 0x24], eax
mov dword [edi + 0x28], eax
mov eax, dword [eax*4 + 0x4ea930]
test eax, eax
cmovne ecx, eax
push ecx
push 0x5694dc
push edi
call fcn.004268e0
mov ecx, dword [esp + 0x30]
add esp, 0xc
jmp 0x4351c3
mov esi, dword [esp + 0x18]
jmp 0x434336
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
cmp byte [esi + 0x45], 0
mov eax, 7
cmovne ecx, eax
cmp dword [edi + 0x6c], 0
mov dword [esp + 0x24], ecx
jne 0x43521d
cmp ecx, 0xc0a
je 0x43521d
mov eax, str.unknown_error
cmp ecx, 0x204
je 0x435205
movzx ecx, cl
cmp ecx, 0x1b
jae 0x43520a
mov ecx, dword [ecx*4 + 0x4ea930]
test ecx, ecx
je 0x43520a
mov eax, ecx
jmp 0x43520a
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x569490
push edi
call fcn.004268e0
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [edi + 0x28], ecx
cmp ecx, 0xc0a
je 0x43524f
movzx eax, cl
cmp eax, 0xe
je 0x435235
cmp eax, 0xa
jne 0x43524f
mov eax, dword [esi]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x43524a
push 0
push 0
push eax
call ecx
add esp, 0xc
jmp 0x43524c
xor eax, eax
mov dword [esi + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x58]
push dword [edi + 0x6c]
imul ecx
push dword [edi + 0xbc]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push dword [esp + 0x34]
call fcn.0040bbc0
add esp, 0x14
mov ecx, edi
call fcn.00429620
cmp dword [esp + 0x24], 0xc0a
jne 0x4352bd
cmp byte [esi + 0x45], 0
jne 0x4352bd
cmp byte [esi + 0x46], 0
jne 0x4352bd
cmp dword [esi + 0xa8], 0
mov byte [esi + 0x45], 1
jle 0x4352b7
mov dword [esi + 0xf8], 1
inc dword [esi + 0x100]
mov cl, byte [esp + 0x6b]
mov eax, 1
mov dword [esp + 0x24], eax
test cl, cl
je 0x435304
mov edi, dword [esp + 0x18]
movzx esi, cl
dec esi
mov ecx, esi
mov eax, dword [edi + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.0044d6e0
add esp, 4
cmp esi, 1
je 0x4352fc
mov eax, dword [edi + 0x10]
push dword [eax + 0x1c]
call fcn.0044d6e0
add esp, 4
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
add dword [edi + 0xb0], ecx
cmp dword [edi + 0x9c], 0
je 0x435322
mov ecx, edi
call fcn.00427fc0
mov eax, dword [esp + 0x24]
pop edi
pop esi
mov esp, ebp
pop ebp
ret