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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x17c
mov eax, dword [0x65de64]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor edx, edx
mov esi, edx
mov dword [ebp - 0x14], edi
xorps xmm0, xmm0
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x18], esi
mov ecx, dword [edi]
mov eax, dword [edi + 0x68]
mov ebx, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
mov al, byte [ecx + 0x54]
mov byte [ebp - 0x68], al
mov eax, dword [edi + 0x58]
mov byte [ebp - 0x7d], dl
mov dword [ebp - 0x78], edx
movlpd qword [ebp - 0xa8], xmm0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xac], edx
cmp dword [edi + 0xa0], edx
je 0x42e420
mov ecx, edi
call fcn.00429714
mov ecx, dword [ebp - 0x1c]
xor edx, edx
cmp dword [ecx + 0x174], edx
je 0x42e449
mov eax, dword [ecx + 0x17c]
xor edx, edx
mov dword [ebp - 0x74], eax
mov eax, dword [edi + 0xb4]
div dword [ebp - 0x74]
sub dword [ebp - 0x74], edx
xor edx, edx
mov dword [ebp - 0x88], edx
jmp 0x42e454
or dword [ebp - 0x74], 0xffffffff
or dword [ebp - 0x88], 0xffffffff
cmp dword [edi + 0x24], 7
mov dword [ebp - 0x138], 0x14
je 0x433b16
mov dword [edi + 0x24], edx
mov dword [edi + 0x38], edx
mov dword [edi + 0x3c], edx
mov dword [ecx + 0x1c8], edx
cmp dword [ecx + 0x128], edx
jne 0x433af9
imul ebx, dword [edi + 0x20], 0x14
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa8]
add ebx, eax
add ecx, 1
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x8c], ecx
push 0
pop ecx
adc edx, ecx
mov cl, byte [ebx]
mov dword [ebp - 0x94], edx
movzx edx, cl
mov byte [ebp - 0x39], cl
mov dword [ebp - 0x2c], edx
cmp edx, 0xb8
ja case.0x42e4c6.89
jmp dword [edx*4 + 0x433ca0]
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0x28]
mov word [ecx + 0x10], ax
mov eax, ebx
sub eax, dword [ebp - 0x20]
cdq
idiv dword [ebp - 0x138]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x42e4c6.9
imul eax, dword [ebx + 4], 0x28
push 4
pop ecx
add eax, dword [ebp - 0x28]
test byte [eax + 0x10], cl
je 0x42e764
imul ebx, dword [eax], 0x14
mov eax, dword [ebp - 0x20]
add ebx, eax
jmp case.0x42e4c6.89
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
push 4
add ecx, dword [ebp - 0x28]
dec eax
cdq
mov dword [ecx], eax
pop eax
mov word [ecx + 0x10], ax
xor eax, eax
mov dword [ecx + 4], edx
cmp dword [ebx + 8], eax
jne 0x431089
jmp 0x42e764
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x28]
lea ebx, [edx - 0x14]
imul eax, dword [ecx], 0x14
imul eax, dword [eax + edx + 8], 0x14
add ebx, eax
xor eax, eax
mov word [ecx + 0x10], ax
jmp 0x42e764
imul esi, dword [ebx + 4], 0x28
sub ebx, eax
push 4
pop ecx
mov eax, ebx
cdq
push 0x14
pop ebx
idiv ebx
add esi, dword [ebp - 0x28]
cdq
mov word [esi + 0x10], cx
mov ecx, dword [esi]
imul ebx, ecx, 0x14
mov dword [esi], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x18]
add ebx, eax
jmp case.0x42e4c6.89
imul eax, dword [ebx + 0xc], 0x28
xor edx, edx
mov ecx, dword [ebp - 0x28]
inc edx
test byte [eax + ecx + 0x10], dl
je 0x42e764
mov edi, dword [edi + 0xd0]
test edi, edi
je 0x4336e3
xor eax, eax
cmp dword [ebx + 4], eax
jne 0x4336e3
mov ecx, dword [ebp - 0x14]
mov eax, dword [edi + 4]
push dword [ecx + 0x2c]
dec dword [ecx + 0xd8]
push dword [ecx + 0x28]
mov dword [ecx + 0xd0], eax
mov ecx, dword [ebp - 0x1c]
call fcn.0042bfd2
pop ecx
pop ecx
mov ecx, edi
call fcn.00429f9d
mov edi, dword [ebp - 0x14]
push 4
pop ecx
cmp dword [ebx + 8], ecx
jne 0x42e5f8
imul ecx, eax, 0x14
mov eax, dword [edi + 0x68]
mov eax, dword [ecx + eax + 8]
dec eax
mov ecx, dword [edi + 0x68]
mov dword [ebp - 0x20], ecx
mov ecx, dword [edi + 0x58]
mov dword [ebp - 0x28], ecx
imul ebx, eax, 0x14
jmp 0x42e508
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x42e764
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x42e764
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
push 8
pop ecx
mov word [eax + 0x10], cx
mov ecx, dword [ebx + 0x10]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
jmp 0x42e764
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov edx, dword [ebx + 0x10]
mov edi, eax
test edx, edx
jne 0x42e678
xor eax, eax
mov ecx, eax
jmp 0x42e692
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x34], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42e680
sub ecx, dword [ebp - 0x34]
and ecx, 0x3fffffff
xor eax, eax
cmp byte [ebp - 0x68], 1
mov dword [ebx + 4], ecx
je 0x42e6fd
push eax
xor eax, eax
mov ecx, edi
inc eax
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004281e7
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x18], esi
test esi, esi
jne 0x433892
movzx edx, byte [ebp - 0x68]
mov ecx, edi
call fcn.0042779d
test eax, eax
jne 0x42e836
mov dword [edi + 0x18], eax
mov eax, 0x2000
or word [edi + 0x10], ax
cmp byte [ebx + 1], 0xfa
jne 0x42e6ed
push dword [ebx + 0x10]
push dword [ebp - 0x1c]
call fcn.0040c975
pop ecx
pop ecx
mov byte [ebx + 1], 0xfa
mov eax, dword [edi + 8]
mov dword [ebx + 0x10], eax
mov ecx, dword [edi + 0xc]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x14]
cmp ecx, dword [eax + 0x78]
jg 0x433895
mov byte [ebx], 0x49
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov edi, eax
mov eax, 0x2202
mov word [edi + 0x10], ax
mov ecx, dword [ebx + 0x10]
mov al, byte [ebp - 0x68]
mov dword [edi + 8], ecx
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov byte [edi + 0x12], al
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x42e761
mov esi, dword [ebp - 0x28]
imul ecx, eax, 0x28
movzx eax, word [ebx + 2]
cdq
cmp dword [ecx + esi], eax
mov esi, dword [ebp - 0x18]
jne 0x42e761
mov eax, dword [ebp - 0x28]
cmp dword [ecx + eax + 4], edx
jne 0x42e761
mov eax, 0x2210
mov word [edi + 0x10], ax
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x94]
push 0x14
pop ecx
add ebx, ecx
mov ecx, dword [ebp - 0x8c]
jmp 0x42e498
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov ecx, dword [ebx + 0xc]
mov edi, 0x101
mov edx, dword [ebx + 8]
mov dword [ebp - 0x54], ecx
xor ecx, ecx
inc ecx
cmp dword [ebx + 4], 0
cmovne ecx, edi
and dword [eax + 0xc], 0
lea edi, [eax + 0x10]
movzx ecx, cx
mov eax, dword [ebp - 0x54]
sub eax, edx
mov dword [ebp - 0x34], ecx
mov word [edi], cx
mov dword [ebp - 0x54], eax
test eax, eax
jle 0x42e761
xor edx, edx
mov ebx, 0x9000
lea edi, [edi + 0x28]
test word [edi], bx
je 0x42e7d9
lea ecx, [edi - 0x10]
call fcn.00427b26
mov eax, dword [ebp - 0x54]
xor edx, edx
mov ecx, dword [ebp - 0x34]
dec eax
mov word [edi], cx
mov dword [edi - 4], edx
mov dword [ebp - 0x54], eax
test eax, eax
jg 0x42e7c1
mov ebx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x18]
jmp 0x42e761
imul ecx, dword [ebx + 4], 0x28
mov edx, 0xffc1
add ecx, dword [ebp - 0x28]
mov ax, word [ecx + 0x10]
and ax, dx
xor edx, edx
inc edx
or ax, dx
jmp 0x42e553
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
cmp dword [ebx + 0x10], 0
mov edi, eax
mov ecx, edi
jne 0x42e855
mov edx, dword [ebx + 4]
call fcn.00427f8a
mov ecx, edi
call fcn.004279d3
test eax, eax
je 0x42e86a
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
call fcn.0040cea4
push 0x63252c
push edi
call fcn.004289e4
pop ecx
pop ecx
push 7
jmp 0x4338a4
xor eax, eax
push eax
push eax
mov eax, dword [ebx + 4]
cdq
push edx
mov edx, dword [ebx + 0x10]
push eax
call fcn.004281e7
add esp, 0x10
mov dl, byte [ebp - 0x68]
mov byte [edi + 0x12], dl
jmp 0x42e761
imul ecx, dword [ebx + 4], 0x28
mov esi, dword [edi + 0x64]
add ecx, 0xffffffd8
add esi, ecx
mov ecx, esi
call fcn.004280bf
test eax, eax
jne 0x433895
imul edx, dword [ebx + 8], 0x28
mov eax, 0x9000
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x34], edx
test word [edx + 0x10], ax
je 0x42e8af
mov ecx, edx
call fcn.00427f6e
mov edx, dword [ebp - 0x34]
push 5
pop eax
mov ecx, eax
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ax, word [edx + 0x10]
mov ecx, 0xafff
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [edx + 0x10], ax
jmp 0x42e7ea
mov eax, dword [ebx + 0xc]
imul edi, dword [ebx + 8], 0x28
mov dword [ebp - 0x50], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x28]
add edi, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
mov edx, eax
mov ecx, edi
call fcn.004281c5
mov eax, 0x4000
test word [edi + 0x10], ax
je 0x42e90f
mov ecx, edi
call fcn.0042798d
test eax, eax
jne 0x42e836
mov eax, dword [ebp - 0x44]
add edi, 0x28
add eax, 0x28
sub dword [ebp - 0x50], 1
mov dword [ebp - 0x44], eax
jne 0x42e8ec
jmp 0x42e761
mov eax, dword [ebx + 0xc]
imul edi, dword [ebx + 8], 0x28
mov dword [ebp - 0x44], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x28]
add edi, dword [ebp - 0x28]
push 0x4000
mov edx, eax
mov dword [ebp - 0x50], eax
mov ecx, edi
call fcn.00428103
mov eax, 0x4000
pop ecx
test word [edi + 0x10], ax
je 0x42e966
mov ecx, edi
call fcn.0042798d
test eax, eax
jne 0x42e836
movzx eax, word [edi + 0x10]
bt eax, 0xb
jae 0x42e983
push 2
pop ecx
test byte [ebx + 2], cl
je 0x42e983
mov ecx, 0xf7ff
and eax, ecx
mov word [edi + 0x10], ax
mov ecx, dword [ebp - 0x44]
mov eax, ecx
dec ecx
mov dword [ebp - 0x44], ecx
test eax, eax
je 0x42e761
mov eax, dword [ebp - 0x50]
add edi, 0x28
add eax, 0x28
jmp 0x42e93a
imul edx, dword [ebx + 4], 0x28
mov eax, 0x4000
imul ecx, dword [ebx + 8], 0x28
push eax
add edx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x28]
call fcn.00428103
pop ecx
jmp 0x42e764
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x28]
add ecx, edx
mov edx, dword [eax + edx]
mov eax, dword [eax + edi + 4]
mov edi, 0x9000
test word [ecx + 0x10], di
mov edi, dword [ebp - 0x14]
je 0x42e9ed
push eax
push edx
call fcn.00427fb8
pop ecx
jmp 0x42e9b8
mov dword [ecx], edx
mov dword [ecx + 4], eax
push 4
pop eax
jmp 0x42e553
xor edx, edx
mov ecx, edi
call fcn.0042a724
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431ca1
mov esi, dword [ebp - 0x18]
jmp 0x42e764
imul edx, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x28]
imul ecx, dword [ebx + 8], 0x28
imul edi, dword [ebx + 0xc], 0x28
add edx, eax
mov dword [ebp - 0x2c], edx
add ecx, eax
add edi, eax
mov dword [ebp - 0x24], ecx
movzx eax, word [edx + 0x10]
mov dword [ebp - 0x40], eax
mov al, byte [ecx + 0x10]
or al, byte [ebp - 0x40]
test al, 1
je 0x42ea67
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x42ea5b
mov ecx, edi
call fcn.00427b26
jmp 0x42e761
xor ecx, ecx
inc ecx
mov word [edi + 0x10], cx
jmp 0x42e761
mov eax, dword [ebp - 0x40]
test al, 0x12
jne 0x42ea9c
mov dl, byte [ebp - 0x68]
xor eax, eax
mov ecx, dword [ebp - 0x2c]
push eax
call fcn.00427a20
pop ecx
test eax, eax
jne 0x42e836
mov eax, dword [ebp - 0x2c]
mov ecx, 0xfffd
mov ax, word [eax + 0x10]
and ax, cx
movzx edx, ax
mov dword [ebp - 0x40], edx
jmp 0x42eac7
test eax, 0x400
je 0x42eaca
mov ecx, edx
call fcn.004279d3
test eax, eax
jne 0x42e836
mov eax, dword [ebp - 0x2c]
mov ecx, 0xfffd
mov ax, word [eax + 0x10]
and ax, cx
movzx eax, ax
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x24]
movzx eax, word [ecx + 0x10]
mov dword [ebp - 0x4c], eax
test al, 0x12
jne 0x42eae3
mov dl, byte [ebp - 0x68]
xor eax, eax
push eax
call fcn.00427a20
pop ecx
jmp 0x42eaee
bt eax, 0xa
jae 0x42eb0b
call fcn.004279d3
test eax, eax
jne 0x42e836
mov ecx, dword [ebp - 0x24]
mov ax, word [ecx + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
add eax, ecx
mov dword [ebp - 0x34], eax
cdq
mov ecx, eax
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x50], ecx
mov eax, dword [eax + 0x78]
cdq
cmp dword [ebp - 0x44], edx
jg 0x433892
jl 0x42eb3f
cmp ecx, eax
ja 0x433892
mov edx, dword [ebp - 0x34]
xor eax, eax
cmp edi, dword [ebp - 0x24]
mov ecx, edi
sete al
add edx, 2
push eax
call fcn.004277b6
pop ecx
test eax, eax
jne 0x42e836
mov ax, word [edi + 0x10]
mov ecx, 0xf242
and ax, cx
push 2
pop ecx
or ax, cx
mov word [edi + 0x10], ax
mov eax, dword [ebp - 0x24]
cmp edi, eax
je 0x42eb96
push dword [eax + 0xc]
push dword [eax + 8]
push dword [edi + 8]
call fcn.005cadb0
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov ecx, dword [ebp - 0x4c]
mov word [eax + 0x10], cx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax + 0xc]
add eax, dword [edi + 8]
push dword [ecx + 0xc]
push dword [ecx + 8]
push eax
call fcn.005cadb0
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov dl, byte [ebp - 0x68]
mov word [eax + 0x10], cx
xor eax, eax
mov ecx, dword [ebp - 0x50]
inc eax
cmp dl, al
jbe 0x42ebce
mov eax, dword [ebp - 0x44]
and ecx, 0xfffffffe
mov dword [ebp - 0x34], eax
mov eax, dword [edi + 8]
mov byte [ecx + eax], 0
mov eax, dword [edi + 8]
mov byte [ecx + eax + 1], 0
mov eax, 0x200
or word [edi + 0x10], ax
mov dword [edi + 0xc], ecx
jmp 0x42e86d
imul eax, dword [ebx + 4], 0x28
mov edi, dword [ebp - 0x14]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
movzx edx, word [eax + 0x10]
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x54], eax
movzx ecx, word [eax + 0x10]
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x6c], eax
mov al, cl
and al, dl
test al, 4
jne 0x42ec51
xor eax, eax
or cl, dl
inc eax
test al, cl
jne 0x42ee88
mov edi, dword [ebp - 0x2c]
mov ecx, edi
call fcn.0042e143
mov ecx, dword [ebp - 0x54]
movzx ebx, ax
call fcn.0042e143
push 4
and al, bl
mov ebx, dword [ebp - 0x24]
pop ecx
test cl, al
je 0x42edaa
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x9c], eax
movzx eax, byte [ebx]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0xa0], ecx
sub eax, 0x6a
je 0x42ed1a
sub eax, 1
je 0x42ecfe
sub eax, 1
je 0x42ecef
sub eax, 1
mov eax, edx
je 0x42ecbe
or eax, edi
je 0x42ee82
mov eax, edx
and eax, edi
cmp eax, 0xffffffff
jne 0x42eca8
xor eax, eax
mov edi, eax
lea edx, [eax + 1]
push edi
push edx
push dword [ebp - 0x24]
push ecx
call fcn.005ecc70
mov dword [ebp - 0xa0], eax
jmp 0x42eec6
or eax, edi
je 0x42ee82
mov eax, edx
and eax, edi
cmp eax, 0xffffffff
jne 0x42ece2
xor eax, eax
cmp ecx, eax
jne 0x42ece2
cmp dword [ebp - 0x24], 0x80000000
je 0x42eda7
push edi
push edx
push dword [ebp - 0x24]
push ecx
call fcn.005c9750
jmp 0x42ecb3
push edi
push edx
lea ecx, [ebp - 0xa0]
call fcn.00411a82
jmp 0x42ed0b
push edi
push edx
lea ecx, [ebp - 0xa0]
call fcn.00411a34
pop ecx
pop ecx
test eax, eax
jne 0x42eda7
jmp 0x42eecc
xor eax, eax
cmp edi, eax
jl 0x42ed5e
jg 0x42ed26
cmp edx, eax
jb 0x42ed5e
cmp dword [ebp - 0x24], eax
jl 0x42eeb9
jg 0x42ed39
cmp ecx, eax
jbe 0x42eeb9
or eax, 0xffffffff
sub eax, ecx
mov dword [ebp - 0x34], eax
mov eax, SysReAllocString
sbb eax, dword [ebp - 0x24]
cmp eax, edi
jg 0x42eeb9
jl 0x42eda7
cmp dword [ebp - 0x34], edx
jae 0x42eeb9
jmp 0x42eda7
cmp dword [ebp - 0x24], eax
jg 0x42eeb9
jl 0x42ed71
cmp ecx, eax
jae 0x42eeb9
xor ecx, ecx
mov eax, edx
inc ecx
add eax, ecx
mov ecx, edi
mov dword [ebp - 0x5c], eax
push 0
pop eax
adc ecx, eax
inc eax
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x34], eax
mov eax, SysReAllocStringLen
sbb eax, dword [ebp - 0x24]
cmp eax, ecx
jl 0x42eeb6
jg 0x42eda7
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x5c]
jbe 0x42eeb6
mov edi, dword [ebp - 0x2c]
mov ecx, edi
call fcn.00427c37
mov ecx, dword [ebp - 0x54]
movsd qword [ebp - 0x38], xmm0
call fcn.00427c37
movzx eax, byte [ebx]
sub eax, 0x6a
je 0x42ee5b
sub eax, 1
je 0x42ee54
sub eax, 1
je 0x42ee4d
sub eax, 1
je 0x42ee34
mov ecx, edi
call fcn.00427bd1
mov ecx, dword [ebp - 0x54]
mov edi, eax
mov dword [ebp - 0x34], edx
call fcn.00427bd1
mov ecx, edx
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x9c], ecx
mov ecx, edi
or ecx, edx
mov dword [ebp - 0xa0], eax
je 0x42ee82
mov eax, edi
and eax, edx
cmp eax, 0xffffffff
jne 0x42ee1e
xor eax, eax
mov edx, eax
lea edi, [eax + 1]
push edx
push edi
push dword [ebp - 0x5c]
push dword [ebp - 0x44]
call fcn.005ecc70
mov ecx, eax
call fcn.005ed030
jmp 0x42ee60
movsd xmm1, qword [ebp - 0x38]
ucomisd xmm1, qword [0x63ef08]
lahf
test ah, 0x44
jnp 0x42ee82
divsd xmm0, xmm1
jmp 0x42ee60
mulsd xmm0, qword [ebp - 0x38]
jmp 0x42ee60
subsd xmm0, qword [ebp - 0x38]
jmp 0x42ee60
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x38], xmm0
mov edi, 0x7ff00000
mov ecx, dword [ebp - 0x34]
mov eax, ecx
and eax, edi
cmp eax, edi
jne 0x42eea6
mov eax, dword [ebp - 0x38]
and ecx, 0xfffff
or eax, ecx
je 0x42eea6
mov edi, dword [ebp - 0x14]
xor eax, eax
inc eax
mov edx, dword [ebp - 0x6c]
mov ecx, 0x9000
test word [edx + 0x10], cx
je 0x433057
mov ecx, edx
call fcn.00427b26
jmp 0x42e764
mov edx, dword [ebp - 0x6c]
mov ecx, 0xf248
push 8
movsd qword [edx], xmm0
jmp 0x42eee7
mov ecx, dword [ebp - 0x4c]
add ecx, edx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0xa0], ecx
adc edx, edi
mov dword [ebp - 0x9c], edx
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa0]
push 4
mov dword [edx + 4], ecx
mov ecx, 0xf244
mov dword [edx], eax
mov ax, word [edx + 0x10]
and ax, cx
pop ecx
or ax, cx
movzx eax, ax
mov word [edx + 0x10], ax
jmp 0x42e761
mov eax, dword [ebx + 4]
test eax, eax
je 0x42e764
imul eax, eax, 0x28
mov ecx, 0x9000
add eax, dword [ebp - 0x28]
test word [eax + 0x10], cx
je 0x42ef25
xor ecx, ecx
push ecx
push ecx
mov ecx, eax
jmp 0x42e9e5
xor ecx, ecx
push 4
mov dword [eax], ecx
mov dword [eax + 4], ecx
pop ecx
mov word [eax + 0x10], cx
jmp 0x42e764
imul ecx, dword [ebx + 8], 0x28
imul edi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x28]
imul edx, dword [ebx + 0xc], 0x28
add ecx, eax
add edi, eax
add edx, eax
mov al, byte [ecx + 0x10]
or al, byte [edi + 0x10]
mov dword [ebp - 0x44], edx
test al, 1
je 0x42ef71
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x42ef6c
mov ecx, edx
jmp 0x42ea51
xor eax, eax
inc eax
jmp 0x42eef5
call fcn.00427bd1
mov ecx, edi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], edx
call fcn.00427bd1
mov cl, byte [ebx]
mov edi, eax
cmp cl, 0x66
jne 0x42ef9b
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
and ecx, edi
and eax, edx
jmp 0x42f06d
cmp cl, 0x67
jne 0x42efaf
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
or ecx, edi
or eax, edx
jmp 0x42f06d
mov eax, edi
or eax, edx
je 0x42f067
xor eax, eax
cmp edx, eax
jg 0x42f005
jl 0x42efc5
cmp edi, eax
jae 0x42efe0
mov al, 0xd1
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x42f003
jg 0x42efd7
cmp edi, 0xffffffc0
jbe 0x42f003
neg edi
push 0
pop eax
adc edx, eax
neg edx
cmp edx, eax
jl 0x42efeb
jg 0x42f005
cmp edi, 0x40
jae 0x42f005
mov eax, dword [ebp - 0x2c]
cmp cl, 0x68
mov edx, dword [ebp - 0x24]
mov ecx, edi
jne 0x42f02d
call fcn.005ecc30
mov ecx, eax
mov eax, edx
jmp 0x42f06d
xor eax, eax
cmp dword [ebp - 0x24], eax
jg 0x42f01d
jl 0x42f011
cmp dword [ebp - 0x2c], eax
jae 0x42f01d
cmp cl, 0x68
je 0x42f01d
or ecx, 0xffffffff
or eax, ecx
jmp 0x42f06d
xorps xmm0, xmm0
movlpd qword [ebp - 0x38], xmm0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
jmp 0x42f06d
call fcn.005ecc50
mov ecx, eax
mov eax, edx
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x24], edx
jg 0x42f06d
jl 0x42f04a
cmp dword [ebp - 0x2c], edx
jae 0x42f06d
push 0x40
pop ecx
sub ecx, edi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.005ecc30
mov ecx, dword [ebp - 0x34]
or ecx, eax
mov eax, dword [ebp - 0x5c]
jmp 0x42efa8
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x44]
push 4
mov dword [edx + 4], eax
mov ax, word [edx + 0x10]
mov dword [edx], ecx
mov ecx, 0xf244
and ax, cx
pop ecx
or ax, cx
jmp 0x42eef5
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x28]
mov ecx, esi
call fcn.00427cfb
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x42ea10
imul edi, dword [ebx + 4], 0x28
push 4
pop edx
add edi, dword [ebp - 0x28]
movzx eax, word [edi + 0x10]
mov ecx, eax
test dl, al
jne 0x42f0f1
push dword [ebp - 0x68]
mov dl, 0x43
mov ecx, edi
call fcn.0042e029
movzx eax, word [edi + 0x10]
pop ecx
push 4
pop edx
mov ecx, eax
test dl, al
jne 0x42f0f1
mov edi, dword [ebp - 0x14]
xor eax, eax
cmp dword [ebx + 8], eax
jne 0x431089
push 0x14
pop eax
mov ecx, eax
mov dword [ebp - 0x18], ecx
jmp 0x431ca1
mov eax, 0xf244
and ecx, eax
push 4
pop eax
or ecx, eax
jmp 0x42ea5e
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x28]
test byte [ecx + 0x10], 0x24
je case.0x42e4c6.89
call fcn.00427d20
jmp 0x42e764
imul esi, dword [ebx + 4], 0x28
mov eax, 0x400
add esi, dword [ebp - 0x28]
test word [esi + 0x10], ax
je 0x42f143
mov ecx, esi
call fcn.004279d3
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431ca1
push dword [ebp - 0x68]
mov dl, byte [ebx + 8]
mov ecx, esi
call fcn.00427e8e
pop ecx
jmp 0x42ea03
imul eax, dword [ebx + 4], 0x28
imul edi, dword [ebx + 0xc], 0x28
push 4
add eax, dword [ebp - 0x28]
add edi, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
movzx eax, word [eax + 0x10]
movzx ecx, word [edi + 0x10]
mov dword [ebp - 0x5c], eax
movzx eax, ax
mov dword [ebp - 0x54], ecx
and dword [ebp - 0x54], eax
mov dword [ebp - 0x70], eax
pop eax
mov dword [ebp - 0x2c], ecx
test byte [ebp - 0x54], al
je 0x42f1f7
mov eax, dword [ebp - 0x24]
mov ecx, dword [edi + 4]
cmp ecx, dword [eax + 4]
jl 0x42f1b7
jg 0x42f19c
mov edi, dword [edi]
cmp edi, dword [eax]
jbe 0x42f1b9
cmp byte [edx + 0x63ade0], 0
mov edi, dword [ebp - 0x14]
jne 0x431089
xor ecx, ecx
inc ecx
mov dword [ebp - 0x78], ecx
jmp 0x42e764
mov edi, dword [edi]
cmp ecx, dword [eax + 4]
jg 0x42f1dd
jl 0x42f1c4
cmp edi, dword [eax]
jae 0x42f1dd
cmp byte [edx + 0x63add4], 0
mov edi, dword [ebp - 0x14]
jne 0x431089
or dword [ebp - 0x78], 0xffffffff
jmp 0x42e764
cmp byte [edx + 0x63adda], 0
mov edi, dword [ebp - 0x14]
jne 0x431089
xor eax, eax
mov dword [ebp - 0x78], eax
jmp 0x42e764
mov edx, dword [ebp - 0x70]
mov eax, ecx
or eax, edx
mov dword [ebp - 0x34], eax
test al, 1
je 0x42f260
movzx eax, word [ebx + 2]
test al, al
jns 0x42f24d
xor eax, eax
inc eax
test byte [ebp - 0x54], al
je 0x42f23a
test ecx, 0x100
jne 0x42f23a
xor eax, eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
movzx eax, byte [ebx]
jne 0x42f388
mov al, byte [eax + 0x63adda]
jmp 0x42f38e
mov eax, ecx
not eax
and eax, 1
lea eax, [eax*2 - 1]
jmp 0x42f372
mov edi, dword [ebp - 0x14]
push 0x10
pop ecx
test cl, al
jne 0x431089
xor eax, eax
inc eax
jmp 0x42f1ef
mov al, byte [ebx + 2]
and al, 0x47
mov byte [ebp - 0x39], al
cmp al, 0x43
mov eax, dword [ebp - 0x34]
jb 0x42f2b0
test al, 2
je 0x42f35e
mov al, dl
push 2
and al, 0x2e
pop edx
cmp al, dl
jne 0x42f293
mov ecx, dword [ebp - 0x24]
xor edx, edx
call fcn.0042df7a
movzx ecx, word [edi + 0x10]
mov dword [ebp - 0x2c], ecx
mov al, cl
push 2
and al, 0x2e
pop ecx
cmp al, cl
jne 0x42f35e
xor edx, edx
mov ecx, edi
call fcn.0042df7a
jmp 0x42f35e
cmp byte [ebp - 0x39], 0x42
jne 0x42f35e
test al, 2
je 0x42f35e
push 2
pop eax
test al, dl
je 0x42f2dc
mov edx, dword [ebp - 0x5c]
mov eax, 0xffd3
and edx, eax
mov eax, dword [ebp - 0x24]
mov word [eax + 0x10], dx
jmp 0x42f321
test dl, 0x2c
je 0x42f321
mov dl, byte [ebp - 0x68]
xor eax, eax
mov ecx, dword [ebp - 0x24]
inc eax
push eax
call fcn.00427a20
mov edx, dword [ebp - 0x70]
pop ecx
mov ecx, dword [ebp - 0x24]
movzx eax, word [ecx + 0x10]
xor edx, eax
and edx, 0xdbf
xor edx, eax
movzx edx, dx
mov dword [ebp - 0x70], edx
cmp ecx, edi
jne 0x42f31e
push 2
pop ecx
mov eax, edx
or eax, ecx
movzx ecx, ax
mov dword [ebp - 0x2c], ecx
jmp 0x42f321
mov ecx, dword [ebp - 0x2c]
push 2
pop edx
test dl, cl
je 0x42f333
mov eax, 0xffd3
and word [edi + 0x10], ax
jmp 0x42f35e
test cl, 0x2c
je 0x42f35e
mov dl, byte [ebp - 0x68]
xor eax, eax
inc eax
mov ecx, edi
push eax
call fcn.00427a20
movzx eax, word [edi + 0x10]
pop ecx
mov ecx, dword [ebp - 0x2c]
xor ecx, eax
and ecx, 0xdbf
xor ecx, eax
movzx ecx, cx
mov dword [ebp - 0x2c], ecx
push dword [ebx + 0x10]
mov edx, dword [ebp - 0x24]
mov ecx, edi
call fcn.0042b410
mov edx, dword [ebp - 0x70]
pop ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x78], eax
test eax, eax
jns 0x42f222
movzx eax, byte [ebx]
mov al, byte [eax + 0x63add4]
jmp 0x42f38e
mov al, byte [eax + 0x63ade0]
mov word [edi + 0x10], cx
test al, al
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
mov word [ecx + 0x10], dx
jmp 0x42e52f
cmp dword [ebp - 0x78], 0
je 0x431089
jmp case.0x42e4c6.89
xor eax, eax
inc eax
test byte [ebx + 2], al
jne 0x42f3be
xor eax, eax
jmp 0x42f3c6
mov eax, dword [ebx - 4]
push 4
pop ecx
add eax, ecx
mov edi, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x5c], edi
mov edi, dword [ebx + 8]
mov dword [ebp - 0x34], edi
xor edi, edi
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
test edx, edx
jle 0x42e761
lea edx, [ecx + 0x14]
mov dword [ebp - 0x4c], edx
test eax, eax
je 0x42f3fa
mov ecx, dword [eax + edi*4]
jmp 0x42f3fc
mov ecx, edi
mov eax, dword [ebp - 0x50]
xor edx, edx
inc edx
mov eax, dword [eax + 0x10]
movzx eax, byte [eax + edi]
and eax, edx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x34]
add eax, ecx
push dword [edx]
imul eax, eax, 0x28
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x6c]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [ebp - 0x28]
mov ecx, eax
mov dword [ebp - 0x70], eax
call fcn.0042b410
pop ecx
mov ecx, eax
mov dword [ebp - 0x78], ecx
test ecx, ecx
jne 0x42f457
push 4
pop eax
add dword [ebp - 0x4c], eax
inc edi
mov eax, dword [ebp - 0x44]
cmp edi, dword [ebp - 0x54]
jl 0x42f3f1
jmp 0x42e761
mov eax, dword [ebp - 0x50]
push 2
pop edx
mov eax, dword [eax + 0x10]
test byte [edi + eax], dl
je 0x42f47d
mov eax, dword [ebp - 0x70]
xor edx, edx
inc edx
test byte [eax + 0x10], dl
jne 0x42f478
mov eax, dword [ebp - 0x6c]
test byte [eax + 0x10], dl
je 0x42f47d
neg ecx
mov dword [ebp - 0x78], ecx
cmp dword [ebp - 0x24], 0
mov edi, dword [ebp - 0x14]
je 0x42e764
neg ecx
jmp 0x42f1af
mov ecx, dword [ebp - 0x78]
test ecx, ecx
jns 0x42f49e
imul ebx, dword [ebx + 4], 0x14
jmp 0x42f4aa
jne 0x42f4a6
imul ebx, dword [ebx + 8], 0x14
jmp 0x42f4aa
imul ebx, dword [ebx + 0xc], 0x14
add ebx, eax
add ebx, 0xffffffec
jmp case.0x42e4c6.89
imul ecx, dword [ebx + 4], 0x28
push 2
pop eax
mov edx, eax
add ecx, dword [ebp - 0x28]
call fcn.00427c5e
imul ecx, dword [ebx + 8], 0x28
mov esi, eax
push 2
pop eax
mov edx, eax
add ecx, dword [ebp - 0x28]
call fcn.00427c5e
imul ecx, esi, 3
cmp byte [ebx], 0x2c
jne 0x42f4e9
mov al, byte [ecx + eax + 0x638f94]
jmp 0x42f4f0
mov al, byte [ecx + eax + 0x63a2d0]
imul esi, dword [ebx + 0xc], 0x28
push 2
pop edx
add esi, dword [ebp - 0x28]
movzx ecx, word [esi + 0x10]
cmp al, dl
jne 0x42f50e
mov eax, 0xf241
and ecx, eax
xor eax, eax
inc eax
jmp 0x42f521
movzx eax, al
cdq
mov dword [esi], eax
mov eax, 0xf244
push 4
and ecx, eax
mov dword [esi + 4], edx
pop eax
or ecx, eax
mov word [esi + 0x10], cx
jmp 0x42ea10
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, dword [ebp - 0x28]
call fcn.00427c5e
imul ecx, dword [ebx + 8], 0x28
mov edi, 0x9000
xor eax, dword [ebx + 0x10]
cdq
add ecx, dword [ebp - 0x28]
test word [ecx + 0x10], di
mov edi, dword [ebp - 0x14]
je 0x42f55b
push edx
push eax
jmp 0x42e9e5
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x42e9f2
imul ecx, dword [ebx + 4], 0x28
xor eax, eax
imul edi, dword [ebx + 8], 0x28
inc eax
add ecx, dword [ebp - 0x28]
add edi, dword [ebp - 0x28]
test byte [ecx + 0x10], al
jne 0x42f599
xor edx, edx
call fcn.00427c5e
neg eax
sbb eax, eax
xor ecx, ecx
push ecx
inc eax
mov ecx, edi
push eax
call fcn.00427fda
pop ecx
pop ecx
jmp 0x42e761
mov ecx, edi
call fcn.00427f6e
jmp 0x42e761
imul edi, dword [ebx + 8], 0x28
mov ecx, 0x9000
imul eax, dword [ebx + 4], 0x28
add edi, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
test word [edi + 0x10], cx
je 0x42f5d0
mov ecx, edi
call fcn.00427b26
mov eax, dword [ebp - 0x34]
xor ecx, ecx
inc ecx
jmp 0x42f5d7
xor ecx, ecx
inc ecx
mov word [edi + 0x10], cx
test byte [eax + 0x10], cl
jne 0x42e761
push 4
pop ecx
mov word [edi + 0x10], cx
mov ecx, eax
call fcn.00427bd1
not eax
not edx
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x42e761
cmp dword [edi + 0xd0], 0
je 0x42f648
mov eax, ebx
sub eax, dword [edi + 0x68]
cdq
push 0x14
pop ecx
idiv ecx
mov edx, dword [ebp - 0x14]
mov ecx, eax
mov edi, ecx
and ecx, 7
shr edi, 3
mov eax, dword [edx + 0xd0]
xor edx, edx
inc edx
shl edx, cl
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x34], eax
movzx eax, byte [edi + eax]
test eax, edx
jne 0x431086
bts eax, ecx
mov ecx, dword [ebp - 0x34]
mov byte [edi + ecx], al
mov edi, dword [ebp - 0x14]
jmp 0x42f657
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 4]
je 0x431089
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 4]
mov dword [ebx + 4], eax
jmp 0x42e764
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, dword [ebp - 0x28]
call fcn.00427c5e
test eax, eax
jmp 0x42e52f
xor edx, edx
xor eax, eax
cmp dword [ebx + 0xc], eax
sete dl
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x28]
call fcn.00427c5e
test eax, eax
je 0x431089
jmp 0x42e764
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0x28]
inc edx
test byte [eax + ecx + 0x10], dl
jmp 0x42e52f
mov ecx, dword [ebx + 4]
test ecx, ecx
js 0x42f6fa
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax + ecx*4]
movzx eax, word [ecx + 0x3e]
cmp edx, eax
jge 0x42f6eb
mov eax, dword [ecx + edx*4 + 0x5c]
cmp eax, 0xc
jb 0x42f6e2
xor ecx, ecx
inc ecx
push 4
test cl, al
pop eax
push 8
pop ecx
cmove eax, ecx
jmp 0x42f6f5
movzx eax, byte [eax + 0x63e470]
jmp 0x42f716
mov ecx, dword [ebx + 0x10]
xor eax, eax
dec ecx
inc eax
shl ax, cl
movzx eax, ax
jmp 0x42f716
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
push eax
call fcn.0042c4a1
pop ecx
xor ecx, ecx
lea edx, [ecx + 1]
lea ecx, [eax - 1]
shl dx, cl
movzx eax, dx
test word [ebx + 2], ax
jmp 0x42e52f
imul eax, dword [ebx + 4], 0x28
xor ecx, ecx
mov edx, dword [ebp - 0x28]
inc ecx
test byte [eax + edx + 0x10], cl
jne 0x42f74d
imul eax, dword [ebx + 0xc], 0x28
test byte [eax + edx + 0x10], cl
jne 0x42f74d
imul ecx, dword [ebx + 8], 0x28
xor eax, eax
push eax
add ecx, edx
push eax
call fcn.00427fda
jmp 0x42e9ea
imul eax, dword [ebx + 8], 0x28
add eax, edx
mov edx, 0x9000
test word [eax + 0x10], dx
je 0x42ef2f
mov ecx, eax
jmp 0x42ee9c
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0x28]
inc edx
test byte [eax + ecx + 0x10], dl
jmp 0x42f693
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x42e764
cmp byte [eax + 2], 0
je 0x42e764
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0x28]
call fcn.00427f6e
jmp 0x431089
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], ecx
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x48]
mov dword [ebp - 0x2c], edx
cmp eax, dword [edi + 0x1c]
je 0x42f81c
cmp byte [esi + 2], 0
jne 0x42f876
cmp byte [esi + 3], 0
mov edi, dword [esi + 0x2c]
mov dword [ebp - 0x34], edi
je 0x42f7fe
mov eax, dword [esi + 0x10]
test eax, eax
je 0x42f844
mov eax, dword [eax + ecx*4 + 4]
test eax, eax
je 0x42f844
mov esi, dword [esi + 0x28]
lea ecx, [eax - 1]
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], ecx
mov edi, dword [ebp - 0x14]
jmp 0x42f7ba
cmp byte [edi], 0
je 0x42f858
mov ecx, esi
call fcn.0042ad99
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
mov ecx, dword [ebp - 0x40]
jmp 0x42f7f9
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x42f923
mov ecx, esi
call fcn.0042ad99
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431ca1
mov ecx, dword [ebp - 0x40]
jmp 0x42f7ba
mov ecx, esi
call fcn.0042ad59
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
mov ecx, edi
call fcn.004208a2
mov ecx, dword [ebp - 0x34]
lea edi, [esi + 0x54]
mov edx, edi
mov dword [esi + 0x50], eax
call fcn.00420dba
mov edx, dword [ebp - 0x2c]
mov ecx, eax
jmp 0x42f89e
cmp byte [esi], 3
jne 0x42f912
mov eax, dword [esi + 0x24]
test eax, eax
jle 0x42f912
imul ecx, eax, 0x28
lea edi, [esi + 0x54]
add ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0xc]
mov dword [edi], eax
mov dword [esi + 0x50], eax
mov ecx, dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x4c], ecx
mov eax, dword [eax + 0x1c]
mov dword [esi + 0x20], eax
movzx eax, byte [ecx]
lea ecx, [esi + 0x34]
mov dword [edx], eax
mov dword [ebp - 0x54], ecx
cmp eax, 0x80
jae 0x42f8c1
xor eax, eax
inc eax
jmp 0x42f8cf
mov ecx, dword [esi + 0x4c]
call fcn.00411828
mov ecx, dword [ebp - 0x54]
movzx eax, al
mov dword [ecx], eax
lea edx, [esi + 0x3e]
mov ecx, dword [ebp - 0x2c]
xor eax, eax
mov word [edx], ax
mov eax, dword [edi]
mov dword [ebp - 0x64], edx
cmp eax, dword [ecx]
jae 0x42f907
xor eax, eax
mov dword [esi + 0x4c], eax
mov dword [edi], eax
mov eax, dword [ecx]
cmp eax, 0x18003
ja 0x42fab5
cmp eax, dword [esi + 0x50]
ja 0x42fab5
mov ecx, dword [ebp - 0x40]
jmp 0x42f929
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x6c], eax
jmp 0x42f992
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0x28]
call fcn.00427f6e
jmp 0x42ea10
lea edx, [esi + 0x3e]
mov dword [ebp - 0x64], edx
movzx eax, word [edx]
cmp eax, ecx
ja 0x42fb0a
mov edi, dword [ebp - 0x2c]
lea ecx, [esi + 0x34]
mov eax, dword [ecx]
mov dword [ebp - 0x54], ecx
cmp eax, dword [edi]
jae 0x42fad0
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x6c], eax
test eax, eax
jne 0x42f98c
push 0xa
pop ecx
lea edi, [ebp - 0x178]
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x2c]
lea eax, [ebp - 0x178]
push eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
call fcn.00428459
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x6c], eax
jmp 0x42f98f
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x64], edx
movzx ebx, word [edx]
lea edx, [esi + 0x5c]
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x54]
lea edx, [edx + ebx*4]
mov ecx, dword [eax + ebx*4]
xor eax, eax
mov edi, dword [edi]
add edi, dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], edx
mov eax, dword [eax]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x5c], eax
movzx eax, byte [edi]
mov dword [ebp - 0x7c], eax
mov dword [edx], eax
mov eax, dword [ebp - 0x7c]
cmp eax, 0x80
jae 0x42f9e9
movzx eax, al
inc edi
movzx eax, byte [eax + 0x63a7b8]
cdq
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x50]
jmp 0x42fa22
lea edx, [ebp - 0x7c]
mov ecx, edi
call fcn.00411828
mov edx, dword [ebp - 0x50]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0x7c]
mov dword [edx], eax
mov eax, dword [ebp - 0x7c]
cmp eax, 0x80
jb 0x42fa11
add eax, 0xfffffff4
shr eax, 1
jmp 0x42fa18
movzx eax, byte [eax + 0x63a7b8]
mov ecx, dword [ebp - 0x4c]
add ecx, eax
push 0
pop eax
adc esi, eax
push 4
pop eax
add edx, eax
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x2c]
inc ebx
mov dword [ebp - 0x50], edx
mov dword [eax + ebx*4], ecx
cmp ebx, dword [ebp - 0x40]
ja 0x42fa3e
cmp edi, dword [ebp - 0x5c]
jb 0x42f9c2
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x70], esi
mov esi, dword [ebp - 0x44]
cmp edi, edx
jb 0x42fa8a
ja 0x42fa98
cmp ecx, dword [esi + 0x50]
jne 0x42fa98
xor ecx, ecx
cmp dword [ebp - 0x70], ecx
jne 0x42fa98
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x64]
sub edi, dword [ebp - 0x6c]
mov word [edx], ax
mov eax, dword [ebp - 0x54]
mov dword [eax], edi
xor eax, eax
cmp dword [esi + 0x4c], eax
jne 0x42fa85
lea ecx, [ebp - 0x178]
call fcn.00427b80
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x7c]
jmp 0x42fad7
mov eax, dword [ebp - 0x70]
test eax, eax
jb 0x42fa5f
ja 0x42fa98
cmp ecx, dword [esi + 0x50]
jbe 0x42fa5f
mov ecx, dword [ebp - 0x2c]
xor eax, eax
cmp dword [ecx], eax
jne 0x42faa5
mov edi, edx
jmp 0x42fa62
cmp dword [esi + 0x4c], eax
jne 0x42fab5
lea ecx, [ebp - 0x178]
call fcn.00427b80
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x43379c
imul ebx, eax, 0x14
add ebx, 0xffffffec
add ebx, ecx
jmp 0x42e7ea
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x7c], ecx
movzx eax, word [edx]
cmp eax, dword [ebp - 0x40]
ja 0x42fb11
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0x28]
cmp byte [ebx + 1], 0xf6
jne 0x42fb00
mov edx, dword [ebx + 0x10]
mov eax, 0x2000
push eax
call fcn.00428103
pop ecx
jmp 0x42e7ea
call fcn.00427f6e
jmp 0x42e7ea
mov ecx, dword [esi + ecx*4 + 0x5c]
mov dword [ebp - 0x7c], ecx
imul edi, dword [ebx + 0xc], 0x28
mov eax, 0x9000
add edi, dword [ebp - 0x28]
test word [edi + 0x10], ax
je 0x42fb2d
mov ecx, edi
call fcn.00427f6e
mov ecx, dword [ebp - 0x7c]
mov eax, dword [esi + 0x54]
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x2c]
cmp eax, dword [edx + esi*4 + 4]
mov esi, dword [ebp - 0x44]
jb 0x42fbdb
mov eax, dword [esi + 0x4c]
mov esi, dword [ebp - 0x40]
add eax, dword [edx + esi*4]
mov dword [ebp - 0x34], eax
cmp ecx, 0xc
jae 0x42fb60
mov edx, ecx
mov ecx, eax
push edi
call fcn.0042af76
jmp 0x42fafa
mov al, byte [ebp - 0x68]
lea esi, [ecx - 0xc]
shr esi, 1
mov dword [edi + 0xc], esi
mov byte [edi + 0x12], al
lea edx, [esi + 2]
cmp dword [edi + 0x18], edx
jge 0x42fb9e
mov eax, dword [ebp - 0x1c]
cmp esi, dword [eax + 0x78]
jg 0x433892
xor eax, eax
mov ecx, edi
inc eax
mov word [edi + 0x10], ax
xor eax, eax
push eax
call fcn.004277b6
pop ecx
test eax, eax
jne 0x42e836
jmp 0x42fba4
mov eax, dword [edi + 0x20]
mov dword [edi + 8], eax
push esi
push dword [ebp - 0x34]
push dword [edi + 8]
call fcn.005cadb0
mov eax, dword [edi + 8]
xor edx, edx
xor ecx, ecx
add esp, 0xc
inc ecx
mov byte [esi + eax], dl
mov eax, dword [edi + 8]
mov byte [eax + esi + 1], dl
mov eax, dword [ebp - 0x7c]
and eax, ecx
mov ax, word [eax*2 + 0x63c890]
mov word [edi + 0x10], ax
jmp 0x42e7ea
mov al, byte [ebp - 0x68]
mov byte [edi + 0x12], al
mov al, byte [ebx + 2]
mov edx, dword [ebp - 0x7c]
and al, 0xc0
je 0x42fbff
cmp al, 0x80
je 0x42fc0d
cmp edx, 0xc
jb 0x42fbff
xor ecx, ecx
inc ecx
test cl, dl
je 0x42fc0d
cmp al, 0xc0
je 0x42fc0d
mov ecx, edx
call fcn.0042ade7
test eax, eax
jne 0x42fc17
mov edx, dword [ebp - 0x7c]
mov ecx, 0x63a188
jmp 0x42fb58
mov ecx, dword [ebp - 0x40]
xor eax, eax
push edi
push dword [ebp - 0xac]
mov edi, dword [ebp - 0x14]
mov edx, ecx
push dword [edi + 0x1c]
push eax
mov eax, dword [ebp - 0x2c]
push dword [eax + ecx*4]
mov ecx, esi
push dword [ebp - 0x7c]
call fcn.0042e20a
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x42ea10
cmp ecx, 7
je 0x42e839
cmp ecx, 0x12
je 0x433895
jmp 0x431ca1
imul eax, dword [ebx + 4], 0x28
xor edi, edi
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], edi
add eax, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x2c], eax
cmp di, word [ecx + 0x22]
jge 0x42e761
add edx, 8
mov dword [ebp - 0x44], edx
movzx ecx, word [edx + 6]
test cl, 0x60
je 0x42fcb2
test cl, 0x20
jne 0x42fd82
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
je 0x42fcb2
add eax, 0x28
mov dword [ebp - 0x2c], eax
jmp 0x42fd82
push dword [ebp - 0x68]
mov dl, byte [edx]
mov ecx, eax
call fcn.0042e029
pop ecx
mov ecx, dword [ebp - 0x2c]
xor eax, eax
inc eax
movzx ecx, word [ecx + 0x10]
mov dword [ebp - 0x50], ecx
movzx edx, cx
test al, cl
jne 0x42fda5
mov edi, dword [ebp - 0x44]
mov edi, dword [edi - 4]
shr edi, 4
and edi, 0xf
lea eax, [edi - 1]
sub eax, 1
je 0x42fd68
sub eax, 1
je 0x42fd64
sub eax, 1
je 0x42fd64
sub eax, 1
je 0x42fd03
sub eax, 1
jne 0x42fd73
push 2
jmp 0x42fd6a
push 4
pop eax
test al, cl
je 0x42fd5f
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax]
mov edx, edi
mov eax, dword [eax + 4]
add edx, 0
mov dword [ebp - 0x5c], eax
adc eax, 0x8000
cmp eax, 0xffff
ja 0x42fd35
jb 0x42fd2d
cmp edx, 0xffffffff
ja 0x42fd35
or ecx, 0x20
movzx eax, cx
jmp 0x42fd51
mov edx, dword [ebp - 0x5c]
mov ecx, edi
call fcn.005ed030
mov eax, dword [ebp - 0x2c]
push 8
pop ecx
movsd qword [eax], xmm0
mov eax, dword [ebp - 0x50]
or eax, ecx
movzx eax, ax
mov ecx, dword [ebp - 0x2c]
and eax, 0xfffb
mov word [ecx + 0x10], ax
jmp 0x42fd76
test cl, 0x28
jmp 0x42fd6d
push 4
jmp 0x42fd6a
push 0x10
pop eax
test al, cl
je 0x4337b0
mov ecx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x44]
add ecx, 0x28
mov dword [ebp - 0x2c], ecx
push 0x10
pop eax
add edx, eax
inc edi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x44], edx
movsx eax, word [eax + 0x22]
cmp edi, eax
mov eax, dword [ebp - 0x2c]
jl 0x42fc8e
jmp 0x42e761
mov ecx, dword [ebp - 0x2c]
jmp 0x42fd79
mov eax, dword [ebx + 0x10]
imul edi, dword [ebx + 4], 0x28
mov dword [ebp - 0x44], eax
mov al, byte [eax]
add edi, dword [ebp - 0x28]
push dword [ebp - 0x68]
mov dl, al
mov ecx, edi
call fcn.0042e029
mov edx, dword [ebp - 0x44]
pop ecx
cmp byte [edx], 0x45
jne 0x42fe2c
movzx ecx, word [edi + 0x10]
push 4
pop eax
mov dword [ebp - 0x5c], ecx
test al, cl
je 0x42fe2c
mov eax, dword [edi]
add eax, 0
mov dword [ebp - 0x34], eax
mov eax, dword [edi + 4]
adc eax, 0x8000
cmp eax, 0xffff
ja 0x42fe0a
jb 0x42fdfb
cmp dword [ebp - 0x34], 0xffffffff
ja 0x42fe0a
and ecx, 0xfffb
or ecx, 0x20
mov word [edi + 0x10], cx
jmp 0x42fe2c
mov edx, dword [edi + 4]
mov ecx, dword [edi]
call fcn.005ed030
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x44]
and eax, 0xfff9
push 8
pop ecx
or eax, ecx
movsd qword [edi], xmm0
mov word [edi + 0x10], ax
inc edx
mov dword [ebp - 0x44], edx
mov al, byte [edx]
test al, al
je 0x42e761
add edi, 0x28
jmp 0x42fdb9
imul ecx, dword [ebx + 4], 0x28
xor eax, eax
mov edi, dword [ebx + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x2c], eax
imul eax, dword [ebx + 8], 0x28
movlpd qword [ebp - 0x60], xmm0
add ecx, dword [ebp - 0x28]
movlpd qword [ebp - 0x48], xmm0
mov dword [ebp - 0x50], ecx
add eax, ecx
mov dword [ebp - 0x34], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x54], eax
test edi, edi
je 0x42feb6
mov al, byte [edi]
lea esi, [ecx + 0x10]
mov ebx, dword [ebp - 0x68]
push ebx
lea ecx, [esi - 0x10]
mov dl, al
call fcn.0042e029
cmp byte [edi], 0x45
pop ecx
jne 0x42fea6
movzx eax, word [esi]
push 4
pop ecx
test cl, al
je 0x42fea6
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
inc edi
add esi, 0x28
mov al, byte [edi]
test al, al
jne 0x42fe80
mov ebx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x5c]
add eax, 0xfffffff4
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x70], ecx
movzx ecx, word [eax - 0xc]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x5c], ecx
test cl, 1
je 0x42ff05
mov eax, 0x400
and ecx, eax
movzx eax, cx
mov ecx, dword [ebp - 0x40]
neg eax
sbb eax, eax
and eax, 0xa
mov dword [ecx], eax
mov ecx, dword [ebp - 0x2c]
inc ecx
mov dword [ebp - 0x2c], ecx
jmp 0x430115
test cl, 0x24
je 0x43005d
mov edx, dword [ebp - 0x40]
mov eax, dword [eax - 0x1c]
mov edx, dword [edx - 0x18]
mov dword [ebp - 0x44], edx
test edx, edx
jg 0x42ff31
jl 0x42ff26
xor edx, edx
cmp eax, edx
jae 0x42ff31
mov edx, eax
mov eax, dword [ebp - 0x44]
not edx
not eax
jmp 0x42ff36
mov edx, eax
mov eax, dword [ebp - 0x44]
inc dword [ebp - 0x2c]
test eax, eax
ja 0x42ffec
jb 0x42ff48
cmp edx, 0x7f
ja 0x42ff8f
mov eax, dword [ebp - 0x40]
xor ecx, ecx
inc ecx
mov eax, dword [eax - 0x1c]
and eax, ecx
mov ecx, dword [ebp - 0x40]
cmp eax, dword [ecx - 0x1c]
jne 0x42ff77
mov eax, dword [ecx - 0x18]
cmp dword [ebp - 0x134], eax
jne 0x42ff77
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x95], 4
jb 0x42ff77
lea eax, [edx + 8]
jmp 0x42ff87
xor edx, edx
inc edx
add dword [ebp - 0x64], edx
push 0
pop eax
adc edi, eax
mov eax, edx
mov dword [ebp - 0x24], edi
mov edx, dword [ebp - 0x64]
jmp 0x430110
test eax, eax
ja 0x42ffec
jb 0x42ff9d
cmp edx, 0x7fff
ja 0x42ffb7
push 2
mov edx, dword [ebp - 0x64]
pop ecx
add edx, ecx
push 0
pop eax
adc edi, eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x24], edi
mov eax, ecx
jmp 0x43010d
test eax, eax
ja 0x42ffec
jb 0x42ffc5
cmp edx, 0x7fffff
ja 0x42ffda
mov edx, dword [ebp - 0x64]
push 0
add edx, 3
pop eax
adc edi, eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x24], edi
push 3
jmp 0x430057
test eax, eax
ja 0x42ffec
jb 0x42ffe8
cmp edx, 0x7fffffff
ja 0x42ffec
push 4
jmp 0x42ff9f
cmp eax, 0x7fff
ja 0x43000f
jb 0x42fffa
cmp edx, 0xffffffff
ja 0x43000f
mov edx, dword [ebp - 0x64]
push 0
add edx, 6
pop eax
adc edi, eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x24], edi
push 5
jmp 0x430057
mov edx, dword [ebp - 0x64]
push 8
pop eax
add edx, eax
push 0
pop eax
adc edi, eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x24], edi
test cl, 0x20
je 0x430055
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov ecx, dword [eax - 0x1c]
call fcn.005ed030
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x5c]
push 8
pop ecx
and eax, 0xffdf
movsd qword [edx - 0x1c], xmm0
or eax, ecx
mov word [edx - 0xc], ax
mov edx, dword [ebp - 0x64]
push 7
jmp 0x430057
push 6
pop eax
jmp 0x43010d
test cl, 8
je 0x430080
mov ecx, dword [ebp - 0x2c]
inc ecx
mov dword [eax], 7
add edx, 8
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x64], edx
adc edi, 0
mov dword [ebp - 0x24], edi
jmp 0x430118
mov edx, dword [eax - 0x10]
mov eax, ecx
shr eax, 1
and eax, 1
mov dword [ebp - 0x5c], edx
lea eax, [eax + edx*2]
add eax, 0xc
mov dword [ebp - 0x6c], eax
test ecx, 0x400
je 0x4300dc
mov edi, dword [ebp - 0x40]
mov ecx, dword [edi - 0x1c]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
or eax, dword [ebp - 0x24]
je 0x4300ca
lea ecx, [edi - 0x1c]
call fcn.004279d3
test eax, eax
jne 0x42e836
mov edx, dword [ebp - 0x5c]
add edx, dword [edi - 0x1c]
jmp 0x4300d6
mov eax, ecx
cdq
add dword [ebp - 0x70], eax
adc dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x6c]
add dword [ebp - 0x64], edx
push 0
pop edx
adc edi, edx
xor ecx, ecx
mov dword [ebp - 0x24], edi
lea edi, [ecx + 1]
mov ecx, eax
shr ecx, 7
jmp 0x4300fb
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
jne 0x4300f3
add dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
add eax, 0xffffffe4
cmp eax, dword [ebp - 0x50]
je 0x43012b
mov eax, dword [ebp - 0x40]
sub eax, 0x28
jmp 0x42fed4
cmp ecx, 0x7e
jle 0x430159
mov eax, ecx
cdq
push edx
push eax
call fcn.0041188d
mov esi, eax
mov eax, dword [ebp - 0x2c]
add eax, esi
mov dword [ebp - 0x2c], eax
cdq
push edx
push eax
call fcn.0041188d
mov ecx, dword [ebp - 0x2c]
add esp, 0x10
cmp esi, eax
mov esi, dword [ebp - 0x18]
jge 0x43015d
inc ecx
mov dword [ebp - 0x2c], ecx
mov eax, ecx
cdq
mov dword [ebp - 0x6c], eax
mov ecx, edx
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x44], ecx
adc ecx, edi
mov dword [ebp - 0x5c], eax
mov edi, eax
mov eax, dword [ebp - 0x54]
add edi, dword [ebp - 0x70]
adc ecx, dword [ebp - 0x4c]
mov eax, dword [eax + 0x18]
cdq
cmp ecx, edx
jg 0x430197
jl 0x430189
cmp edi, eax
ja 0x430197
mov ecx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x5c]
mov eax, dword [ecx + 0x20]
mov dword [ecx + 8], eax
jmp 0x4301c8
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x78]
cdq
cmp ecx, edx
jg 0x433892
jl 0x4301b0
cmp edi, eax
ja 0x433892
mov edx, dword [ebp - 0x5c]
mov edi, edx
mov ecx, dword [ebp - 0x54]
call fcn.004278ab
test eax, eax
jne 0x42e836
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x70]
push 0x10
pop eax
mov word [ecx + 0x10], ax
mov eax, edx
or eax, dword [ebp - 0x4c]
mov dword [ecx + 0xc], edi
je 0x4301e7
mov eax, 0x410
mov dword [ecx], edx
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x2c]
mov edi, dword [ecx + 8]
lea edx, [edi + eax]
mov dword [ebp - 0x2c], edx
cmp eax, 0x80
jge 0x4301ff
mov byte [edi], al
inc edi
jmp 0x430213
push dword [ebp - 0x44]
mov ecx, edi
push dword [ebp - 0x6c]
call fcn.0041164f
mov edx, dword [ebp - 0x2c]
add edi, eax
pop ecx
pop ecx
mov ecx, dword [ebp - 0x50]
add ecx, 0xc
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x5c], eax
cmp eax, 7
ja 0x4302c6
mov byte [edi], al
inc edi
test eax, eax
je 0x430319
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ecx - 0xc]
movzx edx, byte [edx + 0x63a7b8]
mov eax, dword [eax - 8]
mov dword [ebp - 0x24], edx
sub dword [ebp - 0x24], 1
mov dword [ebp - 0x5c], edx
mov edx, dword [ebp - 0x2c]
je 0x4302b9
sub dword [ebp - 0x24], 1
je 0x4302ac
sub dword [ebp - 0x24], 1
je 0x4302a2
sub dword [ebp - 0x24], 1
je 0x430298
sub dword [ebp - 0x24], 2
je 0x430284
mov byte [edx + 7], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [edx + 6], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [edx + 5], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [edx + 4], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [edx + 3], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [edx + 2], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [edx + 1], cl
shrd ecx, eax, 8
shr eax, 8
mov dword [ebp - 0x44], eax
mov byte [edx], cl
add edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], edx
jmp 0x430319
cmp eax, 0x80
jae 0x4302f5
mov byte [edi], al
inc edi
cmp eax, 0xe
jb 0x430319
cmp dword [ecx], 0
jle 0x430319
push dword [ecx]
push dword [ecx - 4]
push edx
call fcn.005cadb0
mov ecx, dword [ebp - 0x40]
add esp, 0xc
mov edx, dword [ebp - 0x2c]
add edx, dword [ecx]
mov dword [ebp - 0x2c], edx
jmp 0x430319
xor ecx, ecx
push ecx
push eax
mov ecx, edi
call fcn.0041164f
pop ecx
pop ecx
mov ecx, dword [ebp - 0x40]
add edi, eax
cmp dword [ecx], 0
je 0x430316
push dword [ecx]
push dword [ecx - 4]
push dword [ebp - 0x2c]
jmp 0x4302e0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
add eax, 0xffffffe4
cmp ecx, eax
je 0x42e761
add ecx, 0x28
jmp 0x430219
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax + 0x2c]
xor eax, eax
cmp dword [ebx + 0xc], eax
je 0x430357
mov ecx, edx
call fcn.004216aa
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], edx
jmp 0x430381
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0xf0]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0xf0], xmm0
call fcn.00425dd9
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431ca1
mov esi, eax
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xec]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x43319e
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x34], esi
test eax, eax
jne 0x430475
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp dword [eax + 0xc4], ecx
jg 0x4337f3
mov ecx, esi
call fcn.0040f46f
mov edi, eax
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x1fc]
add ecx, dword [eax + 0x1f8]
push ecx
mov ecx, eax
call fcn.00465cc9
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
push ecx
mov ecx, dword [ebp - 0x1c]
lea eax, [edi + 0x21]
push eax
call fcn.0040cbbc
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x430715
lea ecx, [edi + 1]
push ecx
push dword [ebp - 0x34]
lea edx, [esi + 0x20]
push edx
mov dword [esi], edx
call fcn.005cadb0
mov edx, dword [ebp - 0x1c]
add esp, 0xc
cmp byte [edx + 0x55], 0
je 0x430437
xor eax, eax
mov byte [edx + 0x55], al
inc eax
mov byte [edx + 0x5d], al
jmp 0x43043d
inc dword [edx + 0x1f8]
mov eax, dword [edx + 0x1ec]
mov dword [esi + 0x18], eax
mov eax, dword [edx + 0x200]
mov ecx, dword [edx + 0x204]
mov dword [edx + 0x1ec], esi
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov eax, dword [edx + 0x208]
mov ecx, dword [edx + 0x20c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
jmp 0x430715
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax + 0x1ec]
jmp 0x430498
mov ecx, dword [edi]
mov edx, esi
call fcn.0040f7cc
test eax, eax
je 0x4304b8
inc dword [ebp - 0x2c]
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x430485
mov edi, dword [ebp - 0x14]
push esi
push str.no_such_savepoint:__s
push edi
call fcn.004289e4
add esp, 0xc
xor eax, eax
lea ecx, [eax + 1]
jmp 0x42f0e9
mov ecx, dword [ebp - 0x1c]
xor eax, eax
mov edx, dword [ebp - 0x40]
cmp dword [ecx + 0xc4], eax
jle 0x4304d1
inc eax
cmp edx, eax
je 0x433807
lea eax, [edi + 0x18]
cmp dword [eax], 0
mov dword [ebp - 0x6c], eax
jne 0x430546
cmp byte [ecx + 0x5d], 0
je 0x430546
xor eax, eax
inc eax
mov dword [ebp - 0x4c], eax
cmp edx, eax
jne 0x430551
mov ecx, dword [ebp - 0x14]
mov edx, eax
call fcn.0042a724
mov esi, eax
test esi, esi
jne 0x433c10
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov esi, dword [ebp - 0x14]
inc ecx
mov byte [eax + 0x55], cl
mov ecx, esi
call fcn.0042a792
push 5
pop ecx
cmp eax, ecx
je 0x433811
mov ecx, dword [esi + 0x24]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x430532
mov byte [eax + 0x55], dl
jmp 0x430535
mov byte [eax + 0x5d], dl
xor edx, edx
lea esi, [eax + 0x1f8]
inc edx
mov dword [ebp - 0x4c], edx
jmp 0x43065a
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
lea eax, [ecx + 0x1f8]
mov dword [ebp - 0x5c], eax
mov eax, dword [eax]
sub eax, dword [ebp - 0x2c]
dec eax
push 2
mov dword [ebp - 0x2c], eax
pop eax
cmp edx, eax
jne 0x4305c8
mov eax, dword [ecx + 0x18]
and dword [ebp - 0x34], 0
and eax, 1
cmp dword [ecx + 0x14], 0
mov dword [ebp - 0x44], eax
jle 0x4305cd
xor edx, edx
inc edx
xor eax, edx
xor edx, edx
mov dword [ebp - 0x50], eax
mov esi, edx
mov ecx, dword [ecx + 0x10]
mov edx, 0x204
push eax
mov ecx, dword [esi + ecx + 4]
call fcn.004204df
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
mov eax, dword [ebp - 0x34]
push 0x10
pop ecx
add esi, ecx
inc eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
cmp eax, dword [ecx + 0x14]
mov eax, dword [ebp - 0x50]
jl 0x430589
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
jmp 0x4305cd
xor eax, eax
mov dword [ebp - 0x44], eax
and dword [ebp - 0x34], 0
cmp dword [ecx + 0x14], 0
jle 0x4306bf
xor eax, eax
mov esi, eax
jmp 0x4305e4
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0x10]
push dword [ebp - 0x2c]
mov ecx, dword [esi + ecx + 4]
call fcn.0042063c
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
mov eax, dword [ebp - 0x34]
push 0x10
pop edx
add esi, edx
inc eax
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
cmp eax, dword [edx + 0x14]
mov edx, dword [ebp - 0x40]
jl 0x4305e1
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x430654
mov esi, dword [ebp - 0x1c]
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x430644
xor edx, edx
inc edx
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, edx
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x43062c
mov ecx, esi
call fcn.00444ca3
mov ecx, dword [ebp - 0x18]
xor eax, eax
inc eax
or dword [esi + 0x18], eax
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x5c]
test ecx, ecx
jne 0x431c9e
mov ecx, dword [eax + 0x1ec]
cmp ecx, edi
je 0x430690
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, ebx
mov dword [ebx + 0x1ec], eax
call fcn.0040c8db
dec dword [esi]
mov ecx, dword [ebx + 0x1ec]
cmp ecx, edi
jne 0x43066f
mov ebx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x40]
xor eax, eax
inc eax
cmp edx, eax
jne 0x4306c7
mov eax, dword [ebp - 0x6c]
mov edx, edi
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ecx + 0x1ec], eax
call fcn.0040c8db
cmp dword [ebp - 0x4c], 0
jne 0x430715
dec dword [esi]
mov edx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x1c]
jmp 0x4306fd
mov ecx, dword [ebp - 0x18]
jmp 0x43061b
cmp dword [ebp - 0x4c], 0
mov esi, dword [ebp - 0x1c]
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x200], eax
mov dword [esi + 0x204], ecx
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
mov edi, esi
mov dword [edi + 0x208], eax
mov dword [edi + 0x20c], ecx
je 0x4306fd
push 2
pop eax
cmp edx, eax
jne 0x430715
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.00465cc9
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
mov edi, dword [ebp - 0x14]
cmp byte [edi + 0x97], 3
jne 0x42ea10
push 0x65
pop esi
jmp 0x433c13
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebx + 8], eax
je 0x430754
mov ecx, dword [ebp - 0x1c]
mov esi, 0x100000
mov edx, dword [ecx + 0x20]
mov eax, edx
mov ecx, dword [ecx + 0x24]
and eax, esi
and ecx, 2
or eax, ecx
jne 0x433834
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebx + 4]
shl esi, 4
add esi, dword [ecx + 0x10]
mov edi, dword [esi + 4]
test edi, edi
je 0x43081b
mov edx, dword [ebx + 8]
lea eax, [ebp - 0x44]
push eax
mov ecx, edi
call fcn.0041fb10
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x433851
mov ecx, dword [ebp - 0x14]
test byte [ecx + 0x98], 0x20
je 0x430826
cmp dword [ebx + 8], eax
je 0x430826
mov edx, dword [ebp - 0x1c]
cmp byte [edx + 0x55], al
je 0x4307b1
inc eax
cmp dword [edx + 0xc0], eax
jle 0x430826
mov eax, dword [ecx + 0x30]
test eax, eax
jne 0x4307cd
mov eax, dword [edx + 0x1f8]
inc dword [edx + 0x1fc]
add eax, dword [edx + 0x1fc]
mov dword [ecx + 0x30], eax
mov ecx, dword [ebp - 0x1c]
dec eax
push eax
xor edx, edx
call fcn.00465cc9
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
jne 0x4307f1
mov eax, dword [ebp - 0x14]
mov ecx, edi
mov edx, dword [eax + 0x30]
call fcn.00420615
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov eax, dword [edi + 0x200]
mov ecx, dword [edi + 0x204]
mov dword [edx + 0x48], eax
mov dword [edx + 0x4c], ecx
mov eax, dword [edi + 0x208]
mov ecx, dword [edi + 0x20c]
mov dword [edx + 0x50], eax
mov dword [edx + 0x54], ecx
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x431c9e
xor eax, eax
cmp word [ebx + 2], ax
je 0x42e7ea
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebx + 0xc]
jne 0x430849
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 0x10]
je 0x42e7ea
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
push dword [edi + 0x7c]
push esi
call fcn.0040c975
pop ecx
pop ecx
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.0040cd95
mov dword [edi + 0x7c], eax
mov eax, esi
mov edx, dword [ebx + 4]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x44]
je 0x430887
mov ecx, esi
call fcn.00444c3f
mov eax, dword [edi + 0x98]
xor edx, edx
inc edx
and eax, 0xffffffed
push 0x11
or eax, edx
mov edx, esi
pop ecx
mov dword [ebp - 0x18], ecx
mov dword [edi + 0x98], eax
jmp 0x431ca4
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x13c]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00425d46
pop ecx
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov ecx, eax
mov eax, dword [ebp - 0x13c]
jmp 0x42e61a
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebx + 4]
push dword [ebx + 0xc]
mov edx, dword [ebx + 8]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ecx, dword [esi + 4]
call fcn.00425d88
xor edx, edx
pop ecx
inc edx
mov ecx, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebx + 8], edx
jne 0x430928
movzx eax, word [ebx + 2]
mov ecx, dword [ebx + 0xc]
sub ecx, eax
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, eax
or dword [eax + 0x18], edx
mov edx, dword [ebx + 4]
call fcn.0044ebb9
xor edx, edx
inc edx
jmp 0x430939
push 2
pop eax
cmp dword [ebx + 8], eax
jne 0x43093c
mov ecx, dword [esi + 0xc]
mov al, byte [ebx + 0xc]
mov byte [ecx + 0x4c], al
mov ecx, dword [ebp - 0x18]
cmp dword [ebx + 4], edx
jne 0x42ea08
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 4]
jmp 0x430962
mov eax, dword [edx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [edx + 0x98], eax
mov edx, dword [edx + 8]
test edx, edx
jne 0x43094d
and dword [edi + 0x98], 0xfffffffc
jmp 0x42ea08
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x430994
mov eax, dword [esi + 0x38]
cmp eax, dword [ebx + 8]
jne 0x430994
mov ecx, dword [esi + 0x2c]
call fcn.0041d7e9
jmp 0x430a93
mov cl, byte [ebp - 0x39]
mov eax, dword [edi + 0x98]
xor edx, edx
and al, 3
inc edx
cmp al, dl
je 0x433876
mov esi, dword [ebp - 0x1c]
xor eax, eax
mov edx, dword [ebx + 8]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x50], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [ebp - 0x34], edx
mov esi, dword [eax + 4]
mov dword [ebp - 0x4c], esi
cmp cl, 0x71
jne 0x4309f9
movzx edi, word [ebx + 2]
mov eax, dword [eax + 0xc]
push 8
pop ecx
and edi, ecx
mov al, byte [eax + 0x4c]
push 4
pop ecx
or edi, ecx
mov ecx, dword [ebp - 0x14]
cmp al, byte [ecx + 0x95]
jae 0x4309fd
mov byte [ecx + 0x95], al
jmp 0x4309fd
xor eax, eax
mov edi, eax
push 0x10
pop eax
test byte [ebx + 2], al
je 0x430a17
imul esi, edx, 0x28
add esi, dword [ebp - 0x28]
mov ecx, esi
call fcn.00427cfb
mov eax, dword [esi]
mov dword [ebp - 0x34], eax
mov al, byte [ebx + 1]
cmp al, 0xf8
jne 0x430a2a
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x44], eax
movzx eax, word [eax + 8]
jmp 0x430a36
cmp al, 0xfd
jne 0x430a33
mov eax, dword [ebx + 0x10]
jmp 0x430a36
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebx + 4]
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0042de97
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42e836
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov byte [esi + 1], al
xor eax, eax
inc eax
push 4
mov byte [esi + 2], al
pop eax
push dword [esi + 0x2c]
or dword [esi + 8], eax
mov eax, dword [ebp - 0x34]
mov edx, eax
push dword [ebp - 0x44]
mov dword [esi + 0x38], eax
push edi
call fcn.00420757
mov edi, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x30], eax
cmp byte [ebx + 1], 0xf8
setne al
mov byte [esi + 4], al
mov cl, byte [ebx + 2]
mov eax, dword [esi + 0x2c]
and cl, 3
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x18]
jmp 0x42ea08
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov edi, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [ebp - 0x14]
push eax
movsx eax, word [edi + 0x3c]
push eax
call fcn.0042de97
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42e836
mov edx, dword [esi + 8]
xor eax, eax
inc eax
or edx, eax
mov byte [esi + 2], al
mov dword [esi + 8], edx
mov eax, dword [edi + 0x30]
mov dword [esi + 0x30], eax
mov al, byte [edi + 4]
mov byte [esi + 4], al
mov eax, dword [edi + 0x38]
mov dword [esi + 0x38], eax
mov ecx, dword [edi + 8]
push 4
pop eax
xor ecx, edx
and ecx, eax
xor ecx, edx
mov dword [esi + 8], ecx
mov eax, dword [edi + 0x10]
push 8
mov dword [esi + 0x10], eax
pop eax
or ecx, eax
mov dword [esi + 8], ecx
or dword [edi + 8], eax
push dword [esi + 0x2c]
mov edx, dword [esi + 0x38]
push dword [esi + 0x30]
mov ecx, dword [esi + 0x10]
push 4
pop eax
push eax
call fcn.00420757
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x18], esi
jmp 0x42e761
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x430b50
mov ecx, dword [ebp - 0x28]
xor edx, edx
imul eax, eax, 0x28
mov dword [eax + ecx + 0xc], edx
imul eax, dword [ebx + 0xc], 0x28
mov dword [eax + ecx + 8], 0x62db03
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [eax + edx*4]
test edi, edi
je 0x430b9d
push 8
pop eax
test byte [edi + 8], al
jne 0x430b9d
movsx eax, word [edi + 0x3c]
cmp dword [ebx + 8], eax
jg 0x430b9d
mov edx, dword [edi + 0x38]
xor eax, eax
mov ecx, dword [edi + 0x10]
push eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
call fcn.00425afc
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x34], ecx
test ecx, ecx
jne 0x431c9e
mov esi, eax
jmp 0x430c97
mov ecx, dword [ebp - 0x14]
xor eax, eax
push eax
push dword [ebx + 8]
call fcn.0042de97
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42e836
xor eax, eax
lea esi, [edi + 0x10]
push 0x41e
inc eax
mov dword [ebp - 0x5c], esi
or dword [edi + 8], eax
xor edx, edx
movzx eax, word [ebx + 2]
push 5
pop ecx
or eax, ecx
push eax
mov eax, dword [ebp - 0x1c]
push esi
push eax
mov ecx, dword [eax]
call fcn.0041ebc4
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
mov ecx, dword [esi]
lea edx, [eax + 1]
push eax
call fcn.0041fb10
mov esi, eax
mov dword [ebp - 0x18], esi
pop ecx
test esi, esi
jne 0x430c75
mov eax, dword [ebx + 0x10]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x34], eax
mov dword [edi + 0x30], eax
test eax, eax
je 0x430c52
movzx eax, word [ebx + 2]
push 2
pop edx
or eax, edx
lea edx, [edi + 0x38]
push eax
call fcn.00425940
mov esi, eax
mov dword [ebp - 0x18], esi
pop ecx
test esi, esi
jne 0x430c4e
push dword [edi + 0x2c]
mov edx, dword [edi + 0x38]
push dword [ebp - 0x34]
mov ecx, dword [edi + 0x10]
push 4
pop eax
push eax
call fcn.00420757
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x18], esi
xor eax, eax
jmp 0x430c72
push dword [edi + 0x2c]
xor eax, eax
xor edx, edx
push eax
push 4
pop eax
inc edx
push eax
mov dword [edi + 0x38], edx
call fcn.00420757
mov esi, eax
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x18], esi
inc eax
mov byte [edi + 4], al
push 8
pop eax
xor ecx, ecx
cmp word [ebx + 2], ax
push 4
pop eax
cmovne ecx, eax
mov eax, dword [edi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [edi + 8], ecx
test esi, esi
jne 0x433880
xor eax, eax
inc eax
mov byte [edi + 2], al
jmp 0x42e761
mov edx, dword [ebx + 4]
xor eax, eax
inc eax
mov ecx, edi
push eax
push dword [ebx + 8]
call fcn.0042de97
pop ecx
pop ecx
test eax, eax
je 0x42e839
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x30], ecx
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.00434ed7
jmp 0x42f150
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
xor eax, eax
inc eax
mov edi, dword [edx + 0x18]
mov ecx, edi
mov esi, dword [edx + 0x1c]
add ecx, eax
mov eax, esi
mov dword [edx + 0x18], ecx
adc eax, 0
or edi, esi
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov dword [edx + 0x1c], eax
jmp 0x42f693
mov edx, dword [ebx + 4]
mov ecx, edi
push 3
push dword [ebx + 0xc]
call fcn.0042de97
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42e836
xor eax, eax
inc eax
mov byte [edi + 2], al
mov ecx, dword [ebx + 8]
mov dword [edi + 0x24], ecx
mov byte [edi + 4], al
call fcn.0041d901
mov dword [edi + 0x2c], eax
jmp 0x42e761
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x430d4d
mov ecx, edi
call fcn.00429efc
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x60]
mov dword [eax + ecx*4], edx
jmp 0x42e764
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], eax
mov word [ecx + 2], ax
mov dword [ecx + 0x20], eax
cmp byte [ecx + 4], al
je 0x430eca
imul edi, dword [ebx + 0xc], 0x28
push 2
pop ecx
add edi, dword [ebp - 0x28]
movzx eax, word [edi + 0x10]
mov dword [ebp - 0x5c], eax
and al, 0x2e
cmp al, cl
jne 0x430d9e
xor edx, edx
mov ecx, edi
call fcn.0042df7a
mov ecx, edi
call fcn.00427bd1
movzx ecx, word [edi + 0x10]
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x44], eax
mov word [edi + 0x10], dx
test cl, 0x24
jne 0x430e58
push 8
pop eax
test al, cl
jne 0x430e26
xor eax, eax
inc eax
test al, cl
jne 0x431086
push 0x17
pop ecx
cmp dword [ebp - 0x2c], ecx
jae 0x431086
mov edi, dword [ebp - 0x34]
lea edx, [ebp - 0x84]
mov ecx, dword [edi + 0x2c]
call fcn.004210ad
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x84], 0
jne 0x431086
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
test edx, edx
je 0x42e764
push 0x14
pop eax
add ebx, eax
jmp 0x42e764
push dword [ebp - 0x50]
movsd xmm1, qword [edi]
push dword [ebp - 0x44]
call fcn.0042b38b
pop ecx
pop ecx
test eax, eax
jle 0x430e48
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
inc ecx
test cl, al
jne 0x430e58
dec eax
jmp 0x430e55
jns 0x430e58
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
inc ecx
test cl, al
je 0x430e58
inc eax
mov dword [ebp - 0x2c], eax
mov edi, dword [ebp - 0x34]
lea eax, [ebp - 0x84]
push eax
push dword [ebp - 0x50]
xor edx, edx
push dword [ebp - 0x44]
lea esi, [edi + 0x2c]
mov ecx, dword [esi]
call fcn.004210c7
mov ecx, eax
add esp, 0xc
mov eax, dword [ebp - 0x44]
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0x50]
mov dword [edi + 0x44], eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431ca1
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
push 0x17
pop ecx
cmp eax, ecx
mov ecx, dword [ebp - 0x84]
jl 0x430f9d
test ecx, ecx
js 0x430f63
jne 0x430ebd
cmp eax, 0x18
je 0x430f63
xor eax, eax
mov dword [ebp - 0x84], eax
jmp 0x430e0e
lea esi, [ecx + 0x2c]
mov eax, dword [esi]
push 0
mov al, byte [eax + 3]
and al, 2
mov byte [ebp - 0x39], al
pop eax
setne al
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 0x30]
xor ecx, ecx
mov dword [ebp - 0xd0], eax
inc ecx
mov ax, word [ebx + 0x10]
mov word [ebp - 0xbc], ax
lea eax, [edx - 1]
and al, cl
lea edx, [ebp - 0xd0]
neg al
sbb al, al
and al, 0xfe
inc al
mov byte [ebp - 0xba], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
mov dword [ebp - 0xcc], eax
xor eax, eax
mov byte [ebp - 0xb6], al
lea eax, [ebp - 0x84]
mov ecx, dword [esi]
push eax
call fcn.00421325
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431ca1
cmp byte [ebp - 0x39], al
je 0x430e93
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x24], edx
cmp byte [ebp - 0xb6], al
jne 0x430e96
mov esi, eax
jmp 0x430e01
xor eax, eax
xor edx, edx
mov dword [ebp - 0x84], eax
mov ecx, dword [esi]
call fcn.004217e4
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x430dfb
cmp ecx, 0x65
jne 0x431ca1
xor eax, eax
mov esi, eax
inc eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x84], eax
jmp 0x430dfe
test ecx, ecx
jg 0x430fba
jne 0x430fa8
cmp eax, 0x15
je 0x430fba
mov ecx, dword [esi]
call fcn.004216a2
mov dword [ebp - 0x84], eax
jmp 0x430dfb
xor eax, eax
xor edx, edx
mov dword [ebp - 0x84], eax
mov ecx, dword [esi]
call fcn.00421915
jmp 0x430f74
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 0x18]
mov edi, dword [eax + ecx*4]
mov eax, dword [edi + 0x2c]
cmp byte [eax], 0
jne 0x42e761
mov eax, dword [edi + 0x30]
xor ecx, ecx
mov esi, dword [ebx + 4]
mov dword [ebp - 0xd0], eax
mov ax, word [ebx + 0x24]
mov word [ebp - 0xbc], ax
imul eax, dword [ebx + 0x20], 0x28
mov byte [ebp - 0xba], cl
mov dword [ebp - 0xf4], ecx
add eax, dword [ebp - 0x28]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0xd0]
mov edx, edi
push eax
call fcn.0042bf47
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
mov eax, dword [ebp - 0xf4]
xor edx, edx
test eax, eax
jle 0x43104f
cmp word [ebx + 2], dx
je 0x43107e
test eax, eax
jns 0x431083
test esi, esi
jle 0x42e7ea
mov ecx, dword [edi + 0x2c]
dec esi
mov dword [edi + 0x20], edx
xor edx, edx
call fcn.004217e4
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x431014
cmp ecx, 0x65
jne 0x431c9e
xor eax, eax
mov dword [ebp - 0x18], eax
push 0x14
pop eax
add ebx, eax
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x20]
add ebx, 0xffffffec
jmp 0x430e1f
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
movzx eax, word [ecx + 0xc]
cmp eax, dword [ebx + 8]
jge 0x4310b7
mov ax, word [ebx + 8]
mov word [ecx + 0xc], ax
jmp 0x42e764
cmp eax, dword [ebx + 0xc]
jle 0x42e764
mov ax, word [ebx + 0xc]
jmp 0x4310ae
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
je case.0x42e4c6.9
cmp byte [eax + 2], 0
je 0x42e764
jmp case.0x42e4c6.9
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
movzx eax, word [eax + 0xc]
cmp eax, dword [ebx + 0x10]
jge 0x42e764
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x28]
add ecx, eax
movzx eax, word [ebx + 0x10]
mov dword [ebp - 0xcc], ecx
mov word [ebp - 0xbc], ax
test ax, ax
je 0x43114f
mov eax, dword [esi + 0x30]
lea edi, [esi + 0x24]
mov dword [ebp - 0xd0], eax
lea edx, [ebp - 0xd0]
xor eax, eax
mov byte [ebp - 0xba], al
mov ecx, dword [esi + 0x2c]
push edi
call fcn.00421325
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
jmp 0x4311b7
mov eax, 0x400
test word [ecx + 0x10], ax
je 0x431167
call fcn.004279d3
test eax, eax
jne 0x42e839
mov ecx, dword [esi + 0x30]
call fcn.0042b0d2
mov edi, eax
test edi, edi
je 0x42e836
mov edx, dword [ebp - 0xcc]
mov ecx, dword [esi + 0x30]
push edi
push dword [edx + 8]
mov edx, dword [edx + 0xc]
call fcn.0042b128
xor eax, eax
mov edx, edi
mov byte [edi + 0x16], al
lea eax, [esi + 0x24]
mov ecx, dword [esi + 0x2c]
push eax
call fcn.00421325
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
mov edx, edi
mov dword [ebp - 0x18], eax
call fcn.0040c8db
mov ecx, dword [ebp - 0x18]
lea edi, [esi + 0x24]
test ecx, ecx
jne 0x431c9e
mov ecx, dword [edi]
test ecx, ecx
setne al
xor edx, edx
mov byte [esi + 2], al
mov byte [esi + 3], dl
mov dword [esi + 0x20], edx
mov al, byte [ebx]
cmp al, 0x1d
jne 0x4311e4
mov esi, dword [ebp - 0x18]
test ecx, ecx
mov edi, dword [ebp - 0x14]
jmp 0x42f693
test ecx, ecx
jne 0x431083
cmp al, 0x1b
jne 0x431220
mov ecx, edx
movzx edx, word [ebp - 0xbc]
test edx, edx
je 0x42e7ea
mov eax, dword [ebp - 0xcc]
add eax, 0x10
test byte [eax], 1
jne 0x431083
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x43120a
jmp 0x42e7ea
mov edi, dword [ebp - 0x14]
cmp al, 0x1a
jne 0x42ea10
mov ax, word [ebx + 0x10]
mov word [esi + 0xc], ax
jmp 0x42ea10
imul esi, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x28]
add esi, ecx
test byte [esi + 0x10], 0x24
jne 0x431283
push 0xa
pop ecx
push dword [ebp - 0x68]
lea edi, [ebp - 0x130]
mov dl, 0x43
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x130]
call fcn.0042e029
pop ecx
push 4
pop eax
test byte [ebp - 0x120], al
je 0x431083
mov edi, dword [ebp - 0x130]
mov edx, dword [ebp - 0x12c]
jmp 0x43128e
mov ecx, dword [ebp - 0x28]
imul eax, dword [ebx + 0xc], 0x28
mov edi, dword [eax + ecx]
mov edx, dword [eax + ecx + 4]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [esi + 0x2c]
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0xe8]
push eax
push edx
push edi
xor edx, edx
call fcn.004210c7
mov ecx, eax
mov dword [esi + 0x40], edi
mov eax, dword [ebp - 0x34]
xor edx, edx
mov dword [esi + 0x44], eax
add esp, 0xc
mov word [esi + 2], dx
mov dword [esi + 0x20], edx
mov eax, dword [ebp - 0xe8]
mov dword [esi + 0x24], eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0xe8], edx
je 0x4312fb
cmp dword [ebx + 8], edx
jne 0x431083
mov ecx, 0x17f3e
call fcn.0047afc1
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov edi, dword [ebp - 0x14]
jmp 0x42ea08
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
push 0
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [eax + 4], ecx
mov dword [eax], edx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
inc ecx
add dword [eax + 0x18], ecx
pop ecx
adc dword [eax + 0x1c], ecx
jmp 0x42e764
xorps xmm0, xmm0
xor eax, eax
mov edx, ebx
movlpd qword [ebp - 0x48], xmm0
mov ecx, edi
mov dword [ebp - 0x54], eax
call fcn.0042e16b
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
push 2
mov dword [ebp - 0x5c], eax
pop eax
mov edi, dword [ecx + edx*4]
mov dword [ebp - 0x34], edi
test byte [edi + 8], al
jne 0x4313d9
mov ecx, dword [edi + 0x2c]
cmp byte [ecx], 0
jne 0x4313a4
push 8
pop eax
test byte [ecx + 1], al
je 0x4313a4
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x18], eax
mov ecx, dword [edi + 0x2c]
call fcn.00420859
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
cmp edx, 0x7fffffff
jl 0x4313c9
jg 0x43139c
cmp eax, 0xffffffff
jb 0x4313c9
push 2
pop eax
or dword [edi + 8], eax
jmp 0x4313d9
lea edx, [ebp - 0x54]
call fcn.00421063
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
cmp dword [ebp - 0x54], eax
je 0x43137f
inc eax
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x44], eax
jmp 0x4313d9
xor ecx, ecx
inc ecx
add eax, ecx
push 0
pop ecx
adc edx, ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x43145e
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xd0]
test eax, eax
jne 0x431444
imul esi, edx, 0x28
add esi, dword [ebp - 0x28]
mov ecx, esi
call fcn.00427cfb
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x431410
cmp edx, 0x7fffffff
je 0x4314bd
push 2
pop eax
test byte [edi + 8], al
jne 0x4314bd
mov edi, dword [ebp - 0x44]
xor eax, eax
inc eax
add ecx, eax
push 0
pop eax
adc edx, eax
cmp edi, edx
jg 0x431453
jl 0x431436
mov eax, dword [ebp - 0x48]
cmp eax, ecx
jae 0x431456
mov eax, ecx
mov edi, edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edi
jmp 0x431456
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x431442
imul esi, edx, 0x28
add esi, dword [eax + 0xc]
jmp 0x4313f3
mov eax, dword [ebp - 0x48]
mov dword [esi + 4], edi
mov edi, dword [ebp - 0x34]
mov dword [esi], eax
push 2
pop eax
test byte [edi + 8], al
je 0x4314c5
xor eax, eax
mov esi, eax
lea eax, [ebp - 0x48]
push eax
push 8
pop eax
push eax
call fcn.0040ebc7
mov eax, dword [ebp - 0x44]
xor edx, edx
mov ecx, dword [ebp - 0x48]
inc edx
push 0
and eax, 0x3fffffff
add ecx, edx
pop edx
adc eax, edx
mov dword [ebp - 0x48], ecx
lea edx, [ebp - 0x54]
mov dword [ebp - 0x44], eax
push edx
push eax
push ecx
mov ecx, dword [edi + 0x2c]
xor edx, edx
call fcn.004210c7
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
cmp dword [ebp - 0x54], eax
jne 0x4314c5
inc esi
cmp esi, 0x64
jl 0x43146a
push 0xd
pop ecx
jmp 0x4337a8
mov edx, dword [ebp - 0x5c]
xor eax, eax
mov byte [edi + 3], al
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x42e7ea
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 8], 0x28
mov esi, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x28]
add edx, dword [ebp - 0x28]
cmp byte [ebx + 1], 0xfb
mov edi, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xcc], eax
jne 0x431539
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 0xfc], 0
je 0x431539
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [esi + 1]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x44]
jmp 0x43153e
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x34], ecx
xor ecx, ecx
inc ecx
test byte [ebx + 2], cl
je 0x431563
mov ecx, dword [ebp - 0x14]
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], 0
test byte [ebx + 2], 0x20
je 0x431563
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x28], edi
mov dword [ecx + 0x2c], eax
mov eax, dword [edx + 8]
movzx ecx, word [ebx + 2]
mov dword [ebp - 0xc8], eax
mov eax, dword [edx + 0xc]
push 0x10
mov dword [ebp - 0xbc], eax
pop eax
test al, cl
je 0x431585
mov edi, dword [esi + 0x24]
jmp 0x431589
xor eax, eax
mov edi, eax
mov eax, 0x400
test word [edx + 0x10], ax
push 0
pop eax
je 0x4315a3
mov eax, dword [edx]
mov dword [ebp - 0xb8], eax
xor eax, eax
jmp 0x4315a9
mov dword [ebp - 0xb8], eax
and ecx, 0x8a
mov dword [ebp - 0xd8], eax
push edi
push ecx
mov ecx, dword [esi + 0x2c]
lea edx, [ebp - 0xd8]
call fcn.00424c5d
pop ecx
xor edx, edx
inc dword [ebp - 0xac]
pop ecx
mov ecx, eax
mov byte [esi + 3], dl
mov dword [ebp - 0x18], ecx
mov dword [esi + 0x20], edx
test ecx, ecx
jne 0x431c9e
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x42e7ea
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push dword [eax]
push dword [ebp - 0x5c]
push 4
pop eax
test byte [ebx + 2], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x1c]
push dword [eax + 0xf8]
call dword [eax + 0xfc]
add esp, 0x18
jmp 0x42e7ea
mov ecx, dword [edi + 0x60]
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
mov eax, dword [ebx + 8]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x431650
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x28]
imul eax, eax, 0x28
mov ecx, dword [eax + ecx]
mov eax, dword [eax + edi + 4]
mov edi, dword [ebp - 0x14]
jmp 0x43165e
xorps xmm0, xmm0
movlpd qword [ebp - 0x38], xmm0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
mov edx, dword [edx + 0x2c]
push eax
push ecx
mov ecx, dword [esi + 0x2c]
call fcn.00425099
pop ecx
jmp 0x42f150
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
jne 0x4316c8
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
lea edi, [eax + 0xfc]
cmp dword [edi], ecx
je 0x4316d1
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
push 2
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x34], eax
pop eax
test byte [ebx + 2], al
je 0x4316d9
cmp byte [esi + 4], 0
je 0x4316d9
mov ecx, dword [esi + 0x2c]
call fcn.00420859
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
jmp 0x4316d9
mov edi, dword [ebp - 0x1c]
add edi, 0xfc
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x34], eax
mov dl, byte [ebx + 2]
mov ecx, dword [esi + 0x2c]
call fcn.0042539b
xor edx, edx
mov ecx, eax
inc dword [ebp - 0xac]
mov dword [ebp - 0x18], ecx
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], edx
test ecx, ecx
jne 0x431c9e
inc ecx
test byte [ebp - 0x44], cl
je 0x42e7ea
mov eax, dword [ebp - 0x14]
add dword [eax + 0x28], ecx
adc dword [eax + 0x2c], edx
mov ecx, dword [edi]
test ecx, ecx
je 0x4334be
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x42e7ea
test byte [eax + 0x1c], 0x80
jne 0x42e7ea
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [eax]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x5c]
push 9
push dword [eax + 0xf8]
call ecx
jmp 0x43161d
mov edx, dword [ebp - 0x1c]
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
add dword [edx + 0x70], eax
mov dword [edx + 0x68], eax
adc dword [edx + 0x74], ecx
xor eax, eax
mov dword [edx + 0x6c], ecx
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], eax
jmp 0x42e764
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xf8]
add edx, dword [ebp - 0x28]
push eax
push dword [ebx + 0x10]
call fcn.004367e0
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431ca1
cmp dword [ebp - 0xf8], eax
mov esi, eax
jmp 0x42e52f
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
add edx, dword [ebp - 0x28]
mov ecx, dword [eax + ecx*4]
call fcn.0043678a
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431ca1
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 0x20], ecx
jmp 0x42ea10
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov ecx, dword [edi + 0x60]
mov esi, eax
mov edx, dword [ebx + 4]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x2c]
mov ecx, edi
call fcn.00420823
mov eax, dword [ebp - 0x1c]
mov edx, dword [edi + 0x2c]
cmp edx, dword [eax + 0x78]
ja 0x433892
push esi
mov ecx, edi
call fcn.00428459
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
cmp dword [ebx + 0xc], eax
jne 0x42e7ea
mov eax, 0x4000
test word [esi + 0x10], ax
je 0x42e7ea
mov ecx, esi
call fcn.0042798d
mov edi, dword [ebp - 0x14]
test eax, eax
jne 0x42e839
jmp 0x42ea10
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
mov dword [ebp - 0x34], eax
mov edi, dword [ecx + edx*4]
cmp byte [edi + 2], 0
je 0x431881
xor ecx, ecx
inc ecx
mov word [eax + 0x10], cx
jmp 0x42e761
cmp byte [edi + 3], 0
je 0x43188f
mov eax, dword [edi + 0x40]
mov edx, dword [edi + 0x44]
jmp 0x431905
push 2
pop eax
cmp byte [edi], al
jne 0x4318d4
mov ecx, dword [edi + 0x2c]
lea edx, [ebp - 0xa8]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
call dword [eax + 0x30]
mov edi, dword [ebp - 0x14]
mov edx, esi
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0x18], eax
call fcn.0042c0d6
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x431ca1
mov edx, dword [ebp - 0xa4]
mov esi, ecx
mov eax, dword [ebp - 0xa8]
jmp 0x431914
mov ecx, edi
call fcn.0042add3
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
cmp byte [edi + 2], al
je 0x4318fa
mov ecx, dword [ebp - 0x34]
inc eax
mov word [ecx + 0x10], ax
jmp 0x42e7ea
mov ecx, dword [edi + 0x2c]
call fcn.00420859
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x34]
jmp 0x42e61b
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [eax + edx*4]
test edi, edi
jne 0x43195a
mov ecx, dword [ebp - 0x14]
xor eax, eax
inc eax
push 3
push eax
call fcn.0042de97
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42e836
xor eax, eax
mov dword [edi + 0x24], eax
inc eax
mov byte [edi + 4], al
push 8
pop eax
or dword [edi + 8], eax
call fcn.0041d901
mov dword [edi + 0x2c], eax
xor eax, eax
inc eax
mov byte [edi + 2], al
xor eax, eax
mov dword [edi + 0x20], eax
cmp byte [edi], al
jne 0x42e761
mov ecx, dword [edi + 0x2c]
call fcn.0041d7e9
jmp 0x42e761
mov ecx, dword [ebx + 4]
xor edx, edx
cmp byte [ebp - 0x39], 0x89
mov eax, dword [edi + 0x60]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2c]
mov dword [ebp - 0xe0], edx
jne 0x4319e2
or dword [edi + 0x24], 0xffffffff
cmp byte [ecx], dl
je 0x42e761
lea edx, [ebp - 0xe0]
call fcn.00421063
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0xe0]
mov byte [edi + 2], al
mov byte [edi + 3], dl
mov dword [edi + 0x20], edx
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431ca1
mov esi, ecx
cmp dword [ebx + 8], edx
jle 0x42e764
cmp dword [ebp - 0xe0], ecx
jmp 0x42e52f
cmp byte [ecx], dl
jne 0x4319a0
push 8
pop eax
test byte [ecx + 1], al
je 0x4319a0
mov eax, edx
mov ecx, edx
mov dword [ebp - 0xe0], eax
jmp 0x4319b5
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x90]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call fcn.00421037
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431ca1
cmp dword [ebp - 0x90], eax
jne 0x433021
mov ecx, esi
call fcn.004216aa
xor ecx, ecx
cmp edx, ecx
jl 0x431a59
jg 0x431a3f
cmp eax, ecx
jb 0x431a59
push edx
push eax
call fcn.00411bf9
cwde
pop ecx
pop ecx
cmp eax, dword [ebx + 0xc]
jge 0x431a59
xor eax, eax
inc eax
mov dword [ebp - 0x90], eax
jmp 0x431a5f
mov eax, dword [ebp - 0x90]
mov esi, dword [ebp - 0x18]
jmp 0x42f674
inc dword [edi + 0xac]
mov eax, dword [edi + 0x60]
lea edx, [ebp - 0xdc]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [ebp - 0xdc], eax
cmp byte [esi], al
jne 0x431a94
mov ecx, esi
call fcn.00436685
xor edx, edx
jmp 0x431aa4
mov ecx, dword [esi + 0x2c]
call fcn.00421037
xor edx, edx
mov byte [esi + 3], dl
mov dword [esi + 0x20], edx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431ca1
mov al, byte [ebp - 0xdc]
mov byte [esi + 2], al
mov esi, ecx
cmp dword [ebx + 8], edx
jle 0x42e764
cmp dword [ebp - 0xdc], ecx
jmp 0x42e52f
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [eax + ecx*4]
mov edx, edi
mov ecx, dword [ebp - 0x1c]
call fcn.004366d5
jmp 0x431b0f
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 0xc]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2c]
call fcn.00421915
jmp 0x431b0f
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 0xc]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2c]
call fcn.004217e4
mov ecx, eax
mov dword [ebp - 0x18], ecx
xor edx, edx
mov dword [edi + 0x20], edx
test ecx, ecx
jne 0x431b33
mov byte [edi + 2], dl
movzx eax, word [ebx + 2]
mov edi, dword [ebp - 0x14]
inc dword [edi + eax*4 + 0xa4]
jmp 0x433187
cmp ecx, 0x65
jne 0x431c9e
xor eax, eax
mov esi, edx
inc eax
mov dword [ebp - 0x18], esi
mov byte [edi + 2], al
jmp 0x43319b
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul esi, dword [ebx + 8], 0x28
mov edi, dword [eax + ecx*4]
xor ecx, ecx
inc ecx
add esi, dword [ebp - 0x28]
test byte [ebx + 2], cl
je 0x431b70
mov eax, dword [ebp - 0x14]
push 0
add dword [eax + 0x28], ecx
pop ecx
adc dword [eax + 0x2c], ecx
mov eax, 0x400
test word [esi + 0x10], ax
je 0x431b8f
mov ecx, esi
call fcn.004279d3
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
mov eax, dword [esi + 8]
mov dword [ebp - 0x130], eax
imul eax, dword [ebx + 0xc], 0x28
push 0x10
pop ecx
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x11c], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x118], ax
movzx eax, word [ebx + 2]
test cl, al
je 0x431bd0
mov ecx, dword [edi + 0x24]
jmp 0x431bd2
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x2c]
lea edx, [ebp - 0x130]
and eax, 0x8a
push eax
call fcn.00424c5d
pop ecx
pop ecx
mov ecx, eax
xor eax, eax
mov dword [edi + 0x20], eax
jmp 0x4312f8
imul esi, dword [ebx + 8], 0x28
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
add esi, dword [ebp - 0x28]
mov edi, dword [eax + ecx*4]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x431c20
mov ecx, esi
call fcn.004279d3
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
mov edx, esi
mov ecx, edi
call fcn.00435aaf
jmp 0x4312f6
mov eax, dword [edi + 0x60]
lea edx, [ebp - 0xd0]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x2c]
mov ecx, edi
mov dword [ebp - 0xd0], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0xbc], ax
xor eax, eax
mov byte [ebp - 0xba], al
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0x28]
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0x140]
push eax
call fcn.00421325
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
cmp dword [ebp - 0x140], eax
jne 0x431cb5
push 4
pop eax
mov dl, al
mov ecx, edi
call fcn.0042539b
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x431ccd
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
cmp byte [edx + 0x57], 0
je 0x433b33
push 7
jmp 0x433b5b
xor edx, edx
cmp word [ebx + 2], dx
je 0x431ccf
mov ecx, dword [ebp - 0x1c]
call fcn.0044514d
test eax, eax
je 0x4338aa
xor edx, edx
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], edx
jmp 0x42e7ea
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edi + 0x2c]
cmp byte [eax], 0
je 0x431d03
mov ecx, edi
call fcn.0042ad99
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x4337a8
mov esi, eax
jmp 0x431d0a
xor eax, eax
mov esi, eax
mov dword [ebp - 0x18], esi
cmp byte [edi + 2], 0
jne 0x431da2
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x100]
xorps xmm0, xmm0
movlpd qword [ebp - 0x100], xmm0
mov edx, dword [edi + 0x2c]
push eax
call fcn.0042be61
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
cmp byte [ebx], 0x8d
jne 0x431d80
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + ecx*4]
xor eax, eax
mov byte [edx + 2], al
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
mov dword [edx + 0x40], eax
xor eax, eax
inc eax
mov dword [edx + 0x44], ecx
mov byte [edx + 3], al
xor eax, eax
mov dword [edx + 0x20], eax
mov eax, dword [ebx + 0x10]
mov dword [edx + 0x10], eax
mov dword [edx + 0x28], edi
jmp 0x42e7ea
mov edi, dword [ebp - 0x14]
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x42ea10
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x28]
jmp 0x42f59b
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 3], 0
je 0x42e764
call fcn.0042ad59
jmp 0x42ea03
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
cmp byte [ebp - 0x39], 0x2a
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0xd0], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xbc], ax
sbb al, al
mov byte [ebp - 0xba], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
mov dword [ebp - 0xcc], eax
mov esi, dword [ecx + 0x2c]
mov ecx, esi
call fcn.00420823
mov edx, dword [esi + 0x2c]
test edx, edx
je 0x4338c4
cmp edx, 0x7fffffff
ja 0x4338c4
xor eax, eax
mov ecx, esi
mov word [ebp - 0x120], ax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x11c], eax
xor eax, eax
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x130]
push eax
call fcn.00428459
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431ca1
mov edx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x124]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.0042b665
pop ecx
pop ecx
lea ecx, [ebp - 0x130]
mov esi, eax
call fcn.00427b99
xor eax, eax
lea ecx, [esi + 1]
neg esi
inc eax
test byte [ebx], al
cmovne esi, ecx
test esi, esi
mov esi, dword [ebp - 0x18]
jg 0x431089
jmp 0x42e764
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov ecx, dword [ebp - 0x1c]
mov esi, eax
mov edx, dword [ebp - 0x1c]
xor eax, eax
inc eax
mov word [esi + 0x10], ax
mov ecx, dword [ecx + 0xcc]
inc ecx
cmp dword [edx + 0xc0], ecx
jg 0x4338e6
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov dword [ebp - 0xe4], ecx
lea ecx, [ebp - 0xe4]
push ecx
mov ecx, edx
mov dword [ebp - 0x34], eax
mov edx, dword [ebx + 4]
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00425d1a
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
push 4
pop eax
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0xe4]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
test ecx, ecx
jne 0x431ca1
cmp dword [ebp - 0xe4], ecx
je 0x42ea10
push dword [ebx + 4]
mov edx, dword [ebp - 0x34]
push dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x1c]
call fcn.00447648
mov al, byte [ebp - 0x34]
pop ecx
inc al
pop ecx
mov byte [ebp - 0x7d], al
jmp 0x42ea10
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x38]
mov edx, dword [ebx + 4]
xorps xmm0, xmm0
push eax
mov eax, dword [ebx + 8]
mov ecx, dword [ecx + 0x10]
add eax, eax
movlpd qword [ebp - 0x38], xmm0
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00425afc
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebx + 0xc], eax
je 0x42ea08
mov edx, dword [ebp - 0x38]
add dword [edi + 0x28], edx
mov eax, dword [ebp - 0x34]
adc dword [edi + 0x2c], eax
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x42ea08
imul ecx, eax, 0x28
mov eax, dword [ebp - 0x28]
add dword [ecx + eax], edx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
adc dword [ecx + edx + 4], eax
jmp 0x430a9f
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
inc eax
cmp byte [ecx], al
jne 0x431fc3
mov edx, dword [ecx + 0x2c]
mov ecx, dword [ebp - 0x1c]
call fcn.0043525f
jmp 0x42e764
mov ecx, dword [ecx + 0x2c]
call fcn.00425b5b
jmp 0x42ea03
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x10]
mov edi, dword [ecx + edx*8 + 4]
mov ecx, edi
call fcn.0041d4c7
push esi
lea edx, [ebp - 0x104]
mov ecx, edi
call fcn.00425721
pop ecx
mov ecx, edi
mov dword [ebp - 0x18], eax
call fcn.0041d540
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
test ecx, ecx
jne 0x431ca1
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x104]
mov dword [ecx], eax
xor eax, eax
mov dword [ecx + 4], eax
jmp 0x42ea10
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 0x4c], edx
inc byte [ecx + 0x60]
mov al, byte [ecx + 0x5e]
mov esi, dword [ecx + 0x16c]
mov byte [ebp - 0x39], al
cmp dword [ebx + 4], edx
je 0x43205e
mov dword [ecx + 0x16c], edx
mov byte [ecx + 0x5e], dl
lea eax, [ebp - 0x4c]
push eax
push edx
push edx
push dword [ebx + 0x10]
push ecx
call fcn.00452d64
mov edx, dword [ebp - 0x1c]
mov ecx, eax
mov eax, dword [ebp - 0x1c]
add esp, 0x14
mov dword [ebp - 0x18], ecx
dec byte [eax + 0x60]
cmp dword [ebp - 0x4c], 0
mov dword [eax + 0x16c], esi
mov al, byte [ebp - 0x39]
mov byte [edx + 0x5e], al
jne 0x432098
test ecx, ecx
je 0x42ea10
push dword [ebp - 0x4c]
push 0x630c7c
push edi
call fcn.004289e4
add esp, 0xc
push dword [ebp - 0x4c]
call fcn.0040c86d
pop ecx
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
je 0x42e839
jmp 0x431ca1
cmp dword [ebx + 0x10], 0
mov esi, dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
jne 0x432112
mov eax, dword [edx + 0x10]
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.0044a682
pop ecx
mov ecx, dword [ebp - 0x1c]
mov edx, esi
mov esi, ecx
and dword [ecx + 0x18], 0xffffffef
movzx eax, word [ebx + 2]
push eax
lea eax, [edi + 0x7c]
push eax
call fcn.004572cd
pop ecx
pop ecx
mov ecx, eax
xor eax, eax
inc eax
mov dword [ebp - 0x18], ecx
or dword [esi + 0x18], eax
and dword [edi + 0x98], 0xfffffffc
jmp 0x4321d8
mov ecx, dword [edx + 0x10]
lea eax, [edi + 0x7c]
push dword [ebx + 0x10]
mov dword [ebp - 0xc4], esi
add esi, esi
mov dword [ebp - 0xc8], eax
xor eax, eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xbc], eax
mov eax, dword [ecx + esi*8 + 4]
push str.sqlite_master
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xb4], eax
push dword [ecx + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push edx
call fcn.0040e635
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4338fa
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
inc ecx
mov byte [eax + 0xb1], cl
xor ecx, ecx
push ecx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xb8], ecx
lea ecx, [ebp - 0xcc]
push ecx
push fcn.00457093
push esi
push eax
call fcn.00452d64
add esp, 0x14
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x4321c1
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x4321c1
cmp dword [ebp - 0xb8], eax
jne 0x4321c1
mov ecx, 0x1855d
call fcn.0047afc1
mov dword [ebp - 0x18], eax
mov edx, esi
mov esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.0040c8db
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov byte [esi + 0xb1], al
test ecx, ecx
jne 0x433900
jmp 0x42ea10
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
call fcn.004434fc
jmp 0x42ea03
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
call fcn.00444fdb
jmp 0x42e9b8
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
call fcn.00444b36
jmp 0x42e9b8
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
call fcn.004618ea
jmp 0x42e9b8
imul eax, dword [ebx + 0xc], 0x28
lea edx, [ebp - 0x108]
imul edi, dword [ebx + 4], 0x28
mov ecx, dword [ebx + 0x10]
push edx
lea edx, [ebp - 0x144]
add eax, dword [ebp - 0x28]
add edi, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
push edx
mov eax, dword [eax]
inc eax
push eax
push dword [ebx + 8]
lea eax, [ecx + 4]
mov ecx, dword [ebp - 0x1c]
push eax
movzx eax, word [ebx + 2]
add eax, eax
mov edx, dword [ecx + 0x10]
mov edx, dword [edx + eax*8 + 4]
call fcn.00426783
mov esi, eax
add esp, 0x14
mov eax, 0x9000
mov dword [ebp - 0x18], esi
test word [edi + 0x10], ax
je 0x43228c
mov ecx, edi
call fcn.00427b26
jmp 0x432293
xor eax, eax
inc eax
mov word [edi + 0x10], ax
mov eax, dword [ebp - 0x144]
test eax, eax
je 0x4322cc
test esi, esi
jne 0x43390d
mov ecx, dword [ebp - 0x34]
dec eax
cdq
push fcn.0040c86d
sub dword [ecx], eax
sbb dword [ecx + 4], edx
xor eax, eax
mov edx, dword [ebp - 0x108]
inc eax
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, edi
call fcn.004281e7
add esp, 0x10
movzx edx, byte [ebp - 0x68]
mov ecx, edi
call fcn.0042779d
jmp 0x43319b
imul edi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 8], 0x28
push 0x10
pop ecx
add edi, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
test byte [edi + 0x10], cl
jne 0x432307
mov ecx, edi
call fcn.0042804e
test eax, eax
jne 0x42e836
mov eax, dword [ebp - 0x34]
push dword [eax + 4]
mov ecx, dword [edi + 8]
push dword [eax]
call fcn.004169f9
jmp 0x42f592
imul edi, dword [ebx + 4], 0x28
push 0x10
pop eax
add edi, dword [ebp - 0x28]
test byte [edi + 0x10], al
je 0x432359
mov ecx, dword [edi + 8]
lea edx, [ebp - 0x150]
call fcn.00416c15
test eax, eax
je 0x432359
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0x14c]
push dword [ebp - 0x150]
add ecx, dword [ebp - 0x28]
call fcn.00427fda
pop ecx
pop ecx
jmp 0x43319b
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x43236d
mov ecx, edi
call fcn.00427b26
jmp 0x432374
xor eax, eax
inc eax
mov word [edi + 0x10], ax
mov edi, dword [ebp - 0x14]
jmp case.0x42e4c6.9
imul edi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebx + 0x10]
push 0x10
pop edx
add edi, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x34], ecx
test byte [edi + 0x10], dl
jne 0x4323b0
mov ecx, edi
call fcn.0042804e
test eax, eax
jne 0x42e836
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x4323d2
push dword [eax + 4]
mov edx, ecx
mov ecx, dword [edi + 8]
push dword [eax]
call fcn.00416c63
pop ecx
pop ecx
test eax, eax
jne 0x431086
mov ecx, dword [ebp - 0x34]
test ecx, ecx
js 0x42e761
mov eax, dword [ebp - 0x5c]
jmp 0x432307
imul ecx, dword [ebx + 0xc], 0x28
xor eax, eax
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x24], edx
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x44], ecx
cmp word [ebx + 2], ax
je 0x432416
mov edx, dword [edx + 0x14]
mov eax, dword [edi + 0xd0]
test eax, eax
je 0x432413
cmp dword [eax + 0x18], edx
je 0x42e764
mov eax, dword [eax + 4]
jmp 0x432401
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edi + 0xd8]
cmp eax, dword [ecx + 0xa0]
mov ecx, dword [ebp - 0x44]
jge 0x43391e
push 0x10
pop eax
test byte [ecx + 0x10], al
jne 0x432524
mov edi, dword [ebp - 0x24]
mov edx, dword [edx + 0xc]
mov eax, dword [edi + 8]
add eax, edx
test edx, edx
lea ecx, [eax + 1]
cmovne ecx, eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x5c], ecx
add eax, 7
imul ecx, ecx, 0xa
add ecx, edx
mov eax, eax
test eax, eax
jns 0x432464
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x1c]
add eax, 0x58
mov dword [ebp - 0x34], eax
cdq
push edx
push eax
call fcn.0040cb5f
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42e836
mov ecx, dword [ebp - 0x44]
call fcn.00427b80
mov eax, dword [ebp - 0x44]
mov ecx, 0x1010
sub ebx, dword [ebp - 0x20]
push 0x14
mov word [eax + 0x10], cx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x5c]
mov dword [eax + 8], edi
mov dword [eax + 0x24], 0x429857
mov eax, dword [ebp - 0x14]
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 0x3c], ecx
imul ecx, ecx, 0x28
mov eax, dword [eax + 0xc]
mov dword [edi + 0x40], eax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ebx, dword [ebp - 0x14]
add ecx, 0x58
mov edx, dword [ebp - 0x24]
add ecx, edi
mov dword [edi + 0x30], eax
mov eax, dword [ebx + 0x58]
mov dword [edi + 0xc], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0x38], eax
mov eax, dword [ebx + 0x60]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0x18]
mov dword [edi + 0x2c], eax
mov eax, dword [ebx + 0x68]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0x6c]
mov dword [edi + 0x34], eax
mov eax, dword [edx + 0x14]
mov dword [edi + 0x18], eax
lea eax, [edi + 0x58]
cmp eax, ecx
je 0x43252a
mov edx, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [eax + 0x14], edx
mov word [eax + 0x10], bx
add eax, 0x28
cmp eax, ecx
jne 0x43250f
mov edx, dword [ebp - 0x24]
jmp 0x432527
mov edi, dword [ecx + 8]
mov ebx, dword [ebp - 0x14]
inc dword [ebx + 0xd8]
mov eax, dword [ebx + 0xd0]
mov ecx, dword [ebp - 0x1c]
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x2c]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], ecx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0x6c]
mov dword [edi + 0x54], eax
mov dword [edi + 0x50], ecx
mov eax, dword [ebx + 0xe4]
mov dword [edi + 0x28], eax
xor eax, eax
mov dword [ebx + 0xe4], eax
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], eax
lea eax, [edi + 0x58]
mov dword [ebx + 0x58], eax
mov dword [ebp - 0x28], eax
mov dword [ebx + 0xd0], edi
mov ecx, dword [edi + 0x3c]
mov dword [ebx + 0x14], ecx
movzx eax, word [edi + 0x40]
mov dword [ebx + 0x18], eax
lea eax, [edi + 0x58]
imul ecx, ecx, 0x28
add ecx, eax
mov dword [ebx + 0x60], ecx
mov eax, dword [edx + 0xc]
lea ecx, [ecx + eax*4]
mov dword [edi + 0x14], ecx
mov eax, dword [edx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
xor eax, eax
push eax
push ecx
call fcn.005cb330
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov edi, dword [ebp - 0x14]
mov ecx, dword [eax]
mov dword [edi + 0x68], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x20], ecx
mov dword [edi + 0x6c], eax
lea ebx, [ecx - 0x14]
jmp 0x43319e
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov esi, dword [edi + 0xd0]
mov ecx, 0x4000
push ecx
imul edx, dword [esi + 0x30], 0x14
mov ecx, dword [esi + 8]
mov ecx, dword [edx + ecx + 4]
add ecx, dword [ebx + 4]
imul edx, ecx, 0x28
mov ecx, eax
add edx, dword [esi + 0xc]
call fcn.00428103
pop ecx
jmp 0x42ea10
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [edx + 0x20]
and eax, 0x80000
or eax, ecx
mov eax, dword [ebx + 8]
cdq
je 0x432640
mov ecx, dword [ebp - 0x1c]
add dword [ecx + 0x208], eax
adc dword [ecx + 0x20c], edx
jmp 0x42e764
cmp dword [ebx + 4], ecx
je 0x432659
mov ecx, dword [ebp - 0x1c]
add dword [ecx + 0x200], eax
adc dword [ecx + 0x204], edx
jmp 0x42e764
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp 0x42e764
xor eax, eax
cmp dword [ebx + 4], eax
je 0x432693
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x200]
or eax, dword [ecx + 0x204]
jne 0x42e764
mov eax, ecx
mov eax, dword [eax + 0x208]
or eax, dword [ecx + 0x20c]
jmp 0x42f693
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jne 0x42e764
mov eax, dword [ebp - 0x1c]
mov ecx, eax
jmp 0x432682
mov eax, dword [edi + 0xd0]
test eax, eax
jne 0x4326f0
imul edi, dword [ebx + 4], 0x28
add edi, dword [ebp - 0x28]
mov ecx, edi
call fcn.00427cfb
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x28]
mov ecx, esi
call fcn.00427cfb
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x42e7ea
jl 0x4326e4
cmp dword [edi], eax
jae 0x42e7ea
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x42e7ea
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x4326ee
imul edi, dword [ebx + 4], 0x28
add edi, dword [eax + 0xc]
jmp 0x4326b7
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
add ecx, dword [ebp - 0x28]
mov edi, dword [ecx]
cmp dword [ecx + 4], edx
jl 0x42e761
jg 0x43271e
cmp edi, edx
jbe 0x42e761
mov eax, dword [ebx + 0xc]
cdq
sub edi, eax
mov eax, dword [ecx + 4]
mov dword [ecx], edi
sbb eax, edx
mov dword [ecx + 4], eax
jmp 0x431086
imul esi, dword [ebx + 4], 0x28
mov edx, ebx
imul edi, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x14]
add esi, dword [ebp - 0x28]
add edi, dword [ebp - 0x28]
call fcn.0042e16b
mov ecx, dword [esi]
xor edx, edx
mov esi, dword [esi + 4]
mov dword [ebp - 0x50], eax
cmp esi, edx
jl 0x4327a8
jg 0x43275f
cmp ecx, edx
jbe 0x4327a8
mov eax, dword [edi + 4]
mov edx, dword [edi]
mov dword [ebp - 0x44], eax
test eax, eax
jl 0x432773
jg 0x432784
xor eax, eax
cmp edx, eax
ja 0x432784
xorps xmm0, xmm0
movlpd qword [ebp - 0x38], xmm0
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
or edi, 0xffffffff
mov eax, SysReAllocString
sub edi, ecx
sbb eax, esi
cmp eax, dword [ebp - 0x44]
jl 0x4327a5
jg 0x43279b
cmp edi, edx
jb 0x4327a5
mov eax, dword [ebp - 0x50]
add ecx, edx
adc esi, dword [ebp - 0x44]
jmp 0x4327ad
mov eax, dword [ebp - 0x50]
or ecx, 0xffffffff
or esi, ecx
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp 0x42e7ea
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x28]
mov edx, dword [ecx]
mov eax, edx
mov edi, dword [ecx + 4]
or eax, edi
je 0x42e761
xor eax, eax
cmp edi, eax
jl 0x431086
jg 0x4327e1
cmp edx, eax
jbe 0x431086
sub edx, 1
mov dword [ecx], edx
sbb edi, eax
mov dword [ecx + 4], edi
jmp 0x431086
imul edx, dword [ebx + 4], 0x28
add edx, dword [ebp - 0x28]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
cmp ecx, 0x80000000
jl 0x432815
jg 0x43280a
test eax, eax
je 0x432815
sub eax, 1
mov dword [edx], eax
sbb ecx, 0
mov dword [edx + 4], ecx
or eax, ecx
jmp 0x42f693
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x34], eax
push ecx
mov ecx, dword [ebp - 0x1c]
lea eax, [eax*4 + 0x44]
push eax
call fcn.0040cbbc
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42e836
mov eax, dword [ebp - 0x34]
xor edx, edx
add eax, 7
mov dword [edi + 8], edx
push 0x14
lea ecx, [edi + eax*4]
xor eax, eax
inc eax
mov dword [edi], ecx
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], edx
mov eax, dword [ebx + 0x10]
mov dword [edi + 4], eax
mov eax, ebx
sub eax, dword [ebp - 0x20]
cdq
pop ecx
idiv ecx
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x14]
mov dword [edi + 0xc], eax
xor eax, eax
mov byte [edi + 0x19], al
mov dword [edi + 0x14], eax
mov al, byte [ebp - 0x68]
mov byte [edi + 0x18], al
mov eax, dword [ebp - 0x34]
mov byte [edi + 0x1a], al
mov word [ebx], 0xf1a3
mov dword [ebx + 0x10], edi
imul edx, dword [ebx + 0xc], 0x28
mov edi, dword [ebx + 0x10]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x34], edx
cmp dword [edi + 8], edx
je 0x4328d9
movzx ecx, byte [edi + 0x1a]
sub ecx, 1
mov dword [edi + 8], edx
js 0x4328d9
lea esi, [ecx + 7]
push 4
lea esi, [edi + esi*4]
pop edx
mov eax, dword [ebx + 8]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [ebp - 0x28]
mov dword [esi], eax
sub esi, edx
sub ecx, 1
jns 0x4328bf
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x34]
inc dword [edx + 0xc]
lea eax, [edi + 0x1c]
cmp dword [ebx + 4], 0
movzx edx, byte [edi + 0x1a]
mov ecx, dword [edi + 4]
push eax
push edx
push edi
je 0x4328f4
call dword [ecx + 0x1c]
jmp 0x4328f7
call dword [ecx + 0x10]
mov eax, dword [edi + 0x14]
add esp, 0xc
test eax, eax
je 0x42e761
jle 0x43292a
mov ecx, dword [edi]
xor eax, eax
lea edx, [eax + 1]
call fcn.00428531
push eax
push 0x630c7c
push dword [ebp - 0x14]
call fcn.004289e4
mov eax, dword [edi + 0x14]
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp byte [edi + 0x19], 0
je 0x432970
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x432956
imul eax, eax, 0x28
mov ecx, 0x9000
add eax, dword [ebp - 0x28]
test word [eax + 0x10], cx
je 0x43295d
xor ecx, ecx
push ecx
inc ecx
push ecx
mov ecx, eax
call fcn.00427fb8
pop ecx
pop ecx
xor edx, edx
mov byte [edi + 0x19], dl
jmp 0x432972
xor ecx, ecx
inc ecx
xor edx, edx
push 4
mov dword [eax], ecx
pop ecx
mov dword [eax + 4], edx
mov word [eax + 0x10], cx
jmp 0x432958
xor edx, edx
mov ecx, dword [edi]
mov eax, 0x9000
test word [ecx + 0x10], ax
jne 0x432984
cmp dword [ecx + 0x18], edx
je 0x43298b
call fcn.00427b52
xor edx, edx
mov eax, dword [edi]
xor ecx, ecx
inc ecx
mov word [eax + 0x10], cx
mov dword [edi + 0x14], edx
mov ecx, dword [ebp - 0x18]
jmp 0x4312fb
imul edi, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
add edi, ecx
test eax, eax
je 0x4329c9
push edx
imul edx, eax, 0x28
add edx, ecx
mov ecx, edi
call fcn.00427ae3
imul edi, dword [ebx + 0xc], 0x28
pop ecx
add edi, dword [ebp - 0x28]
jmp 0x4329d0
mov ecx, edi
call fcn.00427a7e
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x18], esi
test esi, esi
jne 0x433939
movzx edx, byte [ebp - 0x68]
call fcn.0042779d
jmp 0x42e761
mov edx, dword [ebx + 4]
xor eax, eax
mov ecx, dword [ebp - 0x1c]
or dword [ebp - 8], 0xffffffff
or dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x10], eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 8]
call fcn.00479e5c
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x432a36
push 5
pop eax
cmp ecx, eax
jne 0x431ca1
xor eax, eax
xor ecx, ecx
mov esi, eax
inc ecx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x10], ecx
jmp 0x432a38
xor eax, eax
imul edi, dword [ebx + 0xc], 0x28
mov esi, eax
push 4
pop ebx
mov ecx, 0x9000
add edi, dword [ebp - 0x28]
mov eax, dword [ebp + esi*4 - 0x10]
cdq
test word [edi + 0x10], cx
je 0x432a66
push edx
push eax
mov ecx, edi
call fcn.00427fb8
pop ecx
pop ecx
mov ecx, 0x9000
jmp 0x432a6f
mov dword [edi], eax
mov dword [edi + 4], edx
mov word [edi + 0x10], bx
inc esi
add edi, 0x28
cmp esi, 3
jl 0x432a49
jmp 0x42e7e7
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov edx, dword [ebx + 4]
mov dword [ebp - 0x5c], eax
add edx, edx
mov eax, dword [ebp - 0x1c]
cmp dword [ebx + 0xc], 0xffffffff
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0x34], eax
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov dword [ebp - 0x24], eax
movzx edx, byte [eax + 5]
mov edi, edx
mov dword [ebp - 0x4c], edx
cmovne edi, dword [ebx + 0xc]
cmp byte [eax + 0x11], 3
jae 0x432ad2
mov eax, dword [eax + 0x44]
xor ecx, ecx
cmp dword [eax], ecx
mov eax, dword [ebp - 0x24]
je 0x432ad4
cmp dword [eax + 0x54], ecx
jg 0x432ad2
jl 0x432ad4
cmp dword [eax + 0x50], ecx
jbe 0x432ad4
mov edi, edx
cmp byte [eax + 0xf], 0
jne 0x432aea
cmp dword [eax], 0x6607a0
je 0x432aea
mov ecx, dword [eax + 0xb8]
jmp 0x432aef
mov ecx, 0x639560
cmp edi, 5
jne 0x432b1e
test ecx, ecx
je 0x432b6b
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432afb
sub ecx, edx
test ecx, 0x3fffffff
je 0x432b68
mov ecx, dword [ebp - 0x24]
call fcn.0041a8b4
mov edx, dword [ebp - 0x4c]
test eax, eax
je 0x432b6b
mov eax, dword [ebp - 0x24]
cmp edi, edx
je 0x432b9e
push 5
pop ecx
cmp edx, ecx
je 0x432b2d
cmp edi, ecx
jne 0x432b9e
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x55], 0
je 0x433957
cmp dword [ecx + 0xc0], 1
jg 0x433957
cmp edx, 5
jne 0x432b6f
mov edx, ecx
mov ecx, eax
call fcn.0041a992
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x432ba2
mov ecx, dword [ebp - 0x24]
mov edx, edi
call fcn.0041a773
jmp 0x432b86
mov edx, dword [ebp - 0x4c]
mov edi, edx
jmp 0x432b9e
push 4
pop ecx
cmp edx, ecx
jne 0x432b82
push 2
pop ecx
mov edx, ecx
mov ecx, eax
call fcn.0041a773
test esi, esi
jne 0x432ba2
mov ecx, dword [ebp - 0x34]
xor edx, edx
push 5
pop eax
cmp edi, eax
sete dl
inc edx
call fcn.00426c50
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
je 0x432ba5
mov edi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x24]
mov edx, edi
call fcn.0041a773
mov esi, dword [ebp - 0x5c]
mov ecx, 0x2202
mov word [esi + 0x10], cx
cmp eax, 6
jne 0x432bc6
xor eax, eax
mov ecx, eax
jmp 0x432bcf
mov ecx, dword [eax*4 + 0x639c20]
xor eax, eax
mov dword [esi + 8], ecx
test ecx, ecx
jne 0x432bda
mov ecx, eax
jmp 0x432bec
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432bdd
sub ecx, edx
and ecx, 0x3fffffff
movzx edx, byte [ebp - 0x68]
xor eax, eax
mov dword [esi + 0xc], ecx
inc eax
mov ecx, esi
mov byte [esi + 0x12], al
call fcn.0042779d
jmp 0x432997
mov eax, dword [ebx + 8]
test eax, eax
je 0x432c14
imul eax, eax, 0x28
add eax, dword [ebp - 0x28]
jmp 0x432c16
xor eax, eax
mov edx, dword [ebp - 0x1c]
lea ecx, [edi + 0x7c]
push eax
push dword [ebx + 4]
call fcn.004649cf
jmp 0x43166b
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0042009e
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x42ea10
cmp ecx, 0x65
jne 0x431ca1
xor eax, eax
mov esi, eax
mov dword [ebp - 0x18], esi
jmp 0x431089
xor eax, eax
cmp dword [ebx + 4], eax
jne 0x432c9c
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebx + 8]
mov edx, dword [edx + 4]
test edx, edx
je 0x42e764
lea edi, [eax + 1]
mov eax, dword [edx + 0x98]
mov ecx, edi
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [edx + 0x98], ecx
mov edx, dword [edx + 8]
test edx, edx
jne 0x432c7b
jmp 0x42e761
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x98]
inc ecx
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [edi + 0x98], ecx
jmp 0x42e764
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x2c]
or byte [eax + 1], 0x40
jmp 0x42e764
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x2c]
and byte [eax + 1], 0xbf
jmp 0x42e764
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x148], al
test al, al
jne 0x432d04
mov eax, dword [ebp - 0x1c]
xor edx, edx
push 4
pop ecx
mov eax, dword [eax + 0x24]
and eax, ecx
cmp eax, edx
jne 0x42e764
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebx + 4]
push dword [ebp - 0x148]
mov edx, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00426b65
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x42ea10
cmp cl, 6
jne 0x431ca1
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x43394c
mov esi, dword [ebx + 0x10]
mov edx, esi
mov ecx, dword [ebp - 0x1c]
call fcn.00465c03
mov ecx, eax
mov dword [ebp - 0x18], ecx
test esi, esi
je 0x42ea08
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.0042c0d6
jmp 0x430a9f
imul edx, dword [ebx + 8], 0x28
lea edi, [ebp - 0x130]
push 0xa
xor eax, eax
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x130]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x11c], eax
call fcn.00428154
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x130]
xor eax, eax
lea edx, [eax + 1]
call fcn.00428531
mov edi, dword [ebp - 0x14]
test eax, eax
je 0x432dc5
mov edx, dword [ebx + 4]
lea ecx, [edi + 0x7c]
push ecx
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.00465807
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov eax, 0x9000
test dword [ebp - 0x120], eax
jne 0x432ddf
cmp dword [ebp - 0x118], 0
je 0x430a9f
lea ecx, [ebp - 0x130]
call fcn.00427b52
jmp 0x430a9f
mov ecx, dword [ebp - 0x1c]
inc dword [ecx + 0xcc]
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.00465b04
mov edx, dword [ebp - 0x1c]
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
dec dword [edx + 0xcc]
test ecx, ecx
jne 0x431ca4
jmp 0x42ea10
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x433986
mov edi, dword [esi]
test edi, edi
je 0x433983
lea eax, [ebp - 0x4c]
push eax
push esi
call dword [edi + 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
mov edx, esi
mov dword [ebp - 0x18], eax
call fcn.0042c0d6
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x431c9e
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x14]
push 2
mov dword [eax], esi
mov edx, dword [ebx + 4]
pop eax
push eax
xor eax, eax
push eax
call fcn.0042de97
pop ecx
pop ecx
test eax, eax
je 0x433977
mov ecx, dword [ebp - 0x4c]
mov dword [eax + 0x2c], ecx
inc dword [esi + 4]
jmp 0x42e7ea
xor eax, eax
mov ecx, 0x9000
mov dword [ebp - 0x44], eax
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x5c], eax
test word [eax + 0x10], cx
je 0x432eb0
mov ecx, eax
call fcn.00427b26
jmp 0x432eb7
xor ecx, ecx
inc ecx
mov word [eax + 0x10], cx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x34], eax
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x42e764
mov esi, dword [ecx + 8]
mov edi, dword [esi]
call fcn.00465014
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0x44]
push eax
push dword [ebx + 0xc]
mov eax, dword [ebp - 0x34]
add ecx, ecx
push dword [eax]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
push esi
call dword [edi + 0x60]
mov esi, eax
add esp, 0x14
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], esi
mov ecx, dword [eax + 0x34]
call fcn.00465029
test esi, esi
jne 0x43398d
mov edx, dword [ebp - 0x44]
test edx, edx
je 0x42e761
mov ecx, dword [ebp - 0x5c]
xor eax, eax
push fcn.0040c86d
inc eax
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004281e7
add esp, 0x10
jmp 0x42e761
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x34], eax
call fcn.004783b4
test eax, eax
jne 0x42e839
push eax
push 8
pop eax
push eax
call fcn.0040c774
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42e836
mov ecx, dword [ebp - 0x34]
mov edx, ebx
mov ecx, dword [ecx + 0x2c]
mov dword [edi], ecx
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0x28]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x14]
call fcn.0042e16b
xor ecx, ecx
mov edx, edi
inc ecx
push 0x42cc5a
mov word [eax + 0x10], cx
mov ecx, eax
push str.ValueList
call fcn.0042800d
jmp 0x42f592
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul edx, dword [ebx + 0xc], 0x28
mov edi, dword [edi + 0x5c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x50], eax
add edx, dword [ebp - 0x28]
mov esi, dword [eax + 0x2c]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [ebp - 0x44], eax
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [edx]
mov dword [ebp - 0x34], eax
xor eax, eax
test ecx, ecx
jle 0x432fdc
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x432fd1
push edi
mov edi, dword [ebp - 0x5c]
push ecx
push dword [ebx + 0x10]
push dword [ebp - 0x34]
push esi
call dword [edi + 0x20]
mov edx, dword [ebp - 0x44]
add esp, 0x14
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
call fcn.0042c0d6
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x431c9e
push esi
call dword [edi + 0x28]
pop ecx
mov ecx, dword [ebp - 0x50]
xor edx, edx
mov byte [ecx + 2], dl
test eax, eax
je 0x42e7ea
jmp 0x431083
mov esi, dword [ebp - 0x18]
jmp 0x431089
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul edx, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x34], eax
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x44], edx
cmp byte [eax + 2], 0
je 0x433060
mov eax, 0x9000
test word [edx + 0x10], ax
jne 0x42ee9a
xor eax, eax
inc eax
mov word [edx + 0x10], ax
jmp 0x42e764
mov eax, dword [eax + 0x2c]
lea edi, [ebp - 0xd0]
push 8
mov esi, dword [eax]
mov eax, dword [esi]
mov dword [ebp - 0x5c], eax
pop eax
mov ecx, eax
mov dword [ebp - 0x12c], 0x1000000
xor eax, eax
rep stosd dword es:[edi], eax
mov al, byte [ebp - 0x68]
xor ecx, ecx
mov byte [ebp - 0xb8], al
inc ecx
xor eax, eax
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x130]
mov dword [ebp - 0xcc], eax
test byte [ebx + 2], cl
je 0x4330c3
mov ecx, edx
call fcn.00427f6e
mov edx, dword [ebp - 0x44]
xor eax, eax
mov dword [edx], eax
mov eax, 0x401
jmp 0x4330d5
mov ax, word [edx + 0x10]
mov edi, 0xf241
and ax, di
or ax, cx
movzx eax, ax
mov word [edx + 0x10], ax
lea eax, [ebp - 0xd0]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0x34]
push dword [eax + 0x2c]
mov eax, dword [ebp - 0x5c]
call dword [eax + 0x2c]
mov edi, dword [ebp - 0x14]
add esp, 0xc
mov edx, esi
mov dword [ebp - 0x18], eax
mov ecx, edi
call fcn.0042c0d6
cmp dword [ebp - 0xbc], 0
mov esi, dword [ebp - 0x44]
jle 0x43312c
push esi
call fcn.0042c463
pop ecx
push eax
push 0x630c7c
push edi
call fcn.004289e4
mov eax, dword [ebp - 0xbc]
add esp, 0xc
mov dword [ebp - 0x18], eax
movzx edx, byte [ebp - 0x68]
mov ecx, esi
call fcn.0042779d
jmp 0x430a9f
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x42e761
mov eax, dword [edi + 0x2c]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x34], ecx
call dword [ecx + 0x24]
pop ecx
mov ecx, dword [ebp - 0x14]
mov edx, esi
mov dword [ebp - 0x18], eax
call fcn.0042c0d6
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x431c9e
mov eax, dword [ebp - 0x34]
push dword [edi + 0x2c]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x433198
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x20]
add ebx, 0xffffffec
add ebx, eax
jmp 0x43319e
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ecx + 0x128], eax
jne 0x43399d
mov eax, dword [ebp - 0x94]
cmp eax, dword [ebp - 0x88]
jb 0x42e764
mov edx, dword [ebp - 0x74]
jbe 0x433211
mov eax, dword [ecx + 0x174]
test eax, eax
je 0x42e764
add edx, dword [ecx + 0x17c]
push 0
mov dword [ebp - 0x74], edx
pop edx
push dword [ecx + 0x178]
adc dword [ebp - 0x88], edx
call eax
pop ecx
test eax, eax
jne 0x433992
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x88]
ja 0x4331c6
jb 0x42e764
cmp dword [ebp - 0x8c], edx
jae 0x4331c6
jmp 0x42e764
mov ecx, dword [ebp - 0x1c]
mov edx, 0x4000000
mov eax, dword [ecx + 0x20]
or dword [ecx + 0x20], edx
and eax, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [ebx + 0x10]
imul esi, dword [ebx + 4], 0x28
mov edi, dword [eax + 8]
xor eax, eax
add esi, dword [ebp - 0x28]
mov ecx, esi
lea edx, [eax + 1]
call fcn.0042779d
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x431c9e
push dword [esi + 8]
mov eax, dword [edi]
push edi
call dword [eax + 0x4c]
cmp dword [ebp - 0x34], 0
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
jne 0x433281
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edx, edi
mov edi, dword [ebp - 0x14]
mov ecx, edi
call fcn.0042c0d6
and dword [edi + 0x98], 0xfffffffc
jmp 0x430a9f
mov ecx, dword [ebp - 0x1c]
xorps xmm0, xmm0
movlpd qword [ebp - 0x60], xmm0
cmp byte [ecx + 0x57], 0
jne 0x42e83c
mov eax, dword [ebx + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x4339be
mov eax, dword [edi]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x4339be
mov edx, dword [ebx + 8]
xor ecx, ecx
cmp dword [eax + 0x34], ecx
je 0x42e761
mov eax, dword [ebp - 0x1c]
mov al, byte [eax + 0x5c]
mov byte [ebp - 0x39], al
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x5c]
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
test edx, edx
jle 0x4332fc
mov dword [esi + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, edx
jl 0x4332f1
mov ecx, dword [ebp - 0x1c]
mov al, byte [ebx + 2]
mov byte [ecx + 0x5c], al
lea eax, [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x34]
push esi
push edx
push edi
call dword [eax + 0x34]
mov ecx, dword [ebp - 0x1c]
add esp, 0x10
mov dword [ebp - 0x18], eax
mov edx, edi
mov al, byte [ebp - 0x39]
mov edi, dword [ebp - 0x14]
mov byte [ecx + 0x5c], al
mov ecx, edi
call fcn.0042c0d6
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x43334f
xor edx, edx
cmp dword [ebx + 4], edx
mov edx, dword [ebp - 0x1c]
je 0x43337c
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
mov dword [edx + 0x2c], ecx
mov ecx, dword [ebp - 0x18]
mov dword [edx + 0x28], eax
jmp 0x43337c
cmp cl, 0x13
jne 0x433379
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x433379
movzx edx, word [ebx + 2]
push 4
pop eax
cmp dx, ax
jne 0x4339a4
xor eax, eax
mov esi, eax
mov dword [ebp - 0x18], esi
jmp 0x42e764
mov edx, dword [ebp - 0x1c]
xor eax, eax
inc eax
add dword [edi + 0x28], eax
push 0
pop eax
adc dword [edi + 0x2c], eax
jmp 0x432e12
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebx + 4]
add edx, edx
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x30]
mov dword [eax], ecx
xor ecx, ecx
jmp 0x42e638
mov edx, ebx
mov ecx, edi
call fcn.0042e16b
mov edx, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x10]
xor eax, eax
mov ecx, dword [ecx + edx*8 + 4]
mov edx, eax
test edi, edi
je 0x4333e5
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x30]
cmp edx, edi
cmovb edx, edi
call fcn.0041f4da
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
xor eax, eax
mov dword [ecx + 4], eax
jmp 0x42e761
imul edx, dword [ebx + 0xc], 0x28
mov edi, dword [ebx + 0x10]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x34], edx
cmp dword [edi], edx
je 0x433441
mov eax, dword [ebp - 0x14]
movzx ecx, byte [edi + 0x1a]
sub ecx, 1
mov dword [edi + 0xc], eax
mov al, byte [ebp - 0x68]
mov dword [edi], edx
mov byte [edi + 0x18], al
js 0x433441
lea edx, [ecx + 7]
lea edx, [edi + edx*4]
mov eax, dword [ebx + 8]
add eax, ecx
imul eax, eax, 0x28
push 4
add eax, dword [ebp - 0x28]
mov dword [edx], eax
pop eax
sub edx, eax
sub ecx, 1
jns 0x433427
mov edx, dword [ebp - 0x34]
mov ax, word [edx + 0x10]
mov ecx, 0xf241
and ax, cx
xor ecx, ecx
inc ecx
or ax, cx
mov word [edx + 0x10], ax
lea eax, [edi + 0x1c]
mov ecx, dword [edi + 4]
push eax
movzx eax, byte [edi + 0x1a]
push eax
push edi
call dword [ecx + 0x10]
mov eax, dword [edi + 0x14]
add esp, 0xc
test eax, eax
je 0x42e761
jle 0x43349b
mov ecx, dword [ebp - 0x34]
xor eax, eax
lea edx, [eax + 1]
call fcn.00428531
push eax
push 0x630c7c
push dword [ebp - 0x14]
call fcn.004289e4
mov eax, dword [edi + 0x14]
add esp, 0xc
mov dword [ebp - 0x18], eax
push dword [ebx + 4]
mov edx, dword [ebp - 0x14]
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x1c]
lea edx, [edx + 0xe4]
call fcn.0042ac07
pop ecx
xor eax, eax
pop ecx
mov dword [edi + 0x14], eax
jmp 0x432997
mov esi, dword [ebp - 0x18]
mov edi, eax
jmp 0x42e764
imul eax, dword [ebx + 4], 0x28
mov ecx, 0xf7ff
add eax, dword [ebp - 0x28]
and word [eax + 0x10], cx
jmp 0x42e764
imul eax, dword [ebx + 4], 0x28
mov edx, 0x800
imul ecx, dword [ebx + 8], 0x28
add eax, dword [ebp - 0x28]
add ecx, dword [ebp - 0x28]
test word [eax + 0x10], dx
je 0x433501
movzx eax, byte [eax + 0x13]
cdq
push edx
jmp 0x42f742
call fcn.00427f6e
jmp 0x42e764
imul eax, dword [ebx + 4], 0x28
xor edx, edx
imul ecx, dword [ebx + 8], 0x28
inc edx
add eax, dword [ebp - 0x28]
add ecx, dword [ebp - 0x28]
test byte [eax + 0x10], dl
je 0x43352f
mov eax, 0xf7ff
and word [ecx + 0x10], ax
jmp 0x42e764
mov edx, 0x800
or word [ecx + 0x10], dx
mov al, byte [eax]
mov byte [ecx + 0x13], al
jmp 0x42e764
imul edi, dword [ebx + 4], 0x28
mov edx, ebx
mov ecx, dword [ebp - 0x28]
add edi, dword [ebp - 0x28]
call fcn.0042e190
mov esi, eax
mov ecx, edx
mov eax, dword [edi + 0xc]
shl eax, 3
cdq
push edx
push eax
push ecx
push esi
call fcn.005ecbb0
mov esi, eax
and eax, 7
shrd esi, edx, 3
mov edx, dword [edi + 8]
movsx ecx, byte [esi + edx]
bts ecx, eax
mov byte [esi + edx], cl
jmp 0x42e7ea
imul ebx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
add ebx, dword [ebp - 0x28]
call fcn.0042e190
mov esi, eax
mov ecx, edx
mov eax, dword [ebx + 0xc]
shl eax, 3
cdq
push edx
push eax
push ecx
push esi
call fcn.005ecbb0
mov ecx, dword [ebx + 8]
mov edi, eax
mov ebx, dword [ebp - 0x24]
mov esi, edi
shrd esi, edx, 3
and edi, 7
xor eax, eax
inc eax
movsx edx, byte [esi + ecx]
mov ecx, edi
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
shl eax, cl
test eax, edx
jne 0x4335d9
inc dword [edi + 0xc4]
jmp 0x431089
inc dword [edi + 0xc0]
jmp 0x42e764
mov ecx, dword [ebp - 0x1c]
mov cl, byte [ecx + 0x5e]
test cl, 0x41
je 0x433696
cmp byte [edi + 0x95], 0xfe
je 0x433696
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x433615
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x433696
test cl, 0x40
je 0x433640
mov edx, eax
mov ecx, edi
call fcn.0042dbc1
mov esi, eax
mov eax, dword [ebp - 0x1c]
push esi
push dword [eax + 0xdc]
call dword [eax + 0xd8]
push esi
call fcn.0040c86d
add esp, 0xc
jmp 0x433680
mov ecx, dword [ebp - 0x1c]
xor edx, edx
inc edx
push eax
cmp dword [ecx + 0xc8], edx
jle 0x433685
push str.____s
push ecx
call fcn.0040e635
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
inc ecx
push esi
push edi
push dword [eax + 0xdc]
push ecx
call dword [eax + 0xd8]
push esi
push dword [ebp - 0x1c]
call fcn.0040c975
add esp, 0x18
mov esi, dword [ebp - 0x18]
jmp 0x433696
push edi
push dword [ecx + 0xdc]
push edx
call dword [ecx + 0xd8]
add esp, 0x10
mov eax, dword [ebx + 4]
cmp eax, dword [0x65eac4]
jl 0x4336d4
cmp byte [ebx], 0xb8
je 0x42e764
xor eax, eax
inc eax
mov edx, eax
cmp dword [edi + 0x6c], eax
jle 0x4336d2
push 0x14
pop eax
push eax
pop esi
mov ecx, dword [edi + 0x68]
cmp byte [eax + ecx], 0xf
jne 0x4336c7
and dword [eax + ecx + 4], 0
inc edx
add eax, esi
cmp edx, dword [edi + 0x6c]
jl 0x4336b9
mov esi, dword [ebp - 0x18]
xor eax, eax
inc eax
mov dword [ebx + 4], eax
inc dword [edi + 0xbc]
jmp 0x431089
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebx + 4]
mov dword [edi + 0x24], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x94], al
test ecx, ecx
je 0x43376e
movzx eax, word [ebx + 2]
test ax, ax
je 0x433738
push dword [eax*4 + 0x6393e0]
push str._s_constraint_failed
push edi
call fcn.004289e4
add esp, 0xc
cmp dword [ebx + 0x10], 0
je 0x433749
push dword [ebx + 0x10]
push dword [edi + 0x7c]
push str._z:__s
push dword [ebp - 0x1c]
call fcn.0040e635
add esp, 0x10
mov dword [edi + 0x7c], eax
jmp 0x433749
push dword [ebx + 0x10]
push 0x630c7c
push edi
call fcn.004289e4
add esp, 0xc
push dword [edi + 0x7c]
mov eax, ebx
push dword [edi + 0xc8]
sub eax, dword [ebp - 0x20]
push 0x14
pop ecx
cdq
idiv ecx
push eax
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.0040e811
add esp, 0x14
mov ecx, edi
call fcn.0042a792
mov edx, dword [ebp - 0x1c]
mov esi, eax
push 5
pop eax
cmp esi, eax
jne 0x433789
mov dword [edi + 0x24], eax
jmp 0x433c16
push 0x65
pop esi
xor eax, eax
cmp dword [edi + 0x24], eax
push 1
pop eax
cmovne esi, eax
jmp 0x433c16
mov ecx, 0x17676
call fcn.0047afc1
mov ecx, eax
mov dword [ebp - 0x18], ecx
jmp 0x431c9e
mov eax, dword [ebp - 0x24]
and edx, 0x3f
mov ecx, dword [ebp - 0x4c]
add eax, eax
push dword [ecx + eax*8]
mov eax, dword [ebp - 0x34]
push dword [eax]
movzx eax, byte [edx + 0x63db68]
push dword [edi*4 + 0x65fa3c]
mov edi, dword [ebp - 0x14]
push dword [eax*4 + 0x63c894]
push str.cannot_store__s_value_in__s_column__s._s
push edi
call fcn.004289e4
add esp, 0x18
mov ecx, 0xc13
jmp 0x42f0e9
push str.cannot_open_savepoint___SQL_statements_in_progress
push edi
call fcn.004289e4
pop ecx
pop ecx
push 5
jmp 0x42f0e6
mov edi, dword [ebp - 0x14]
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x4337f8
mov eax, ebx
mov edi, dword [ebp - 0x14]
sub eax, dword [ebp - 0x20]
push 0x14
cdq
pop esi
idiv esi
mov dword [edi + 0x20], eax
xor eax, eax
mov edx, dword [ebp - 0x1c]
mov esi, ecx
mov byte [edx + 0x55], al
mov dword [edi + 0x24], ecx
jmp 0x433c16
and edx, esi
xor eax, eax
or edx, eax
mov edx, dword [ebp - 0x1c]
je 0x433846
push 8
pop eax
mov ecx, eax
jmp 0x433849
push 0xb
pop ecx
mov dword [ebp - 0x18], ecx
jmp 0x431ca4
mov edi, dword [ebp - 0x14]
cmp cl, 5
jne 0x431ca1
mov eax, ebx
mov dword [edi + 0x24], ecx
sub eax, dword [ebp - 0x20]
push 0x14
pop esi
cdq
idiv esi
mov esi, dword [ebp - 0x18]
mov dword [edi + 0x20], eax
jmp 0x433c13
mov ecx, 0x204
jmp 0x42f0e9
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
call fcn.0041f2c7
mov ecx, dword [ebp - 0x18]
jmp 0x431c9e
mov edi, dword [ebp - 0x14]
push str.string_or_blob_too_big
push edi
call fcn.004289e4
pop ecx
pop ecx
push 0x12
pop ecx
jmp 0x42f0e9
push str.index_corruption
mov edx, 0x18378
mov ecx, 0x30b
call fcn.0047af9f
pop ecx
jmp 0x4337a6
push 0x638e7c
push 0x18445
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0040e811
add esp, 0x14
push 0xb
jmp 0x4338a4
push 6
pop ecx
push 2
pop eax
mov dword [ebp - 0x18], ecx
mov byte [edi + 0x94], al
jmp 0x431ca4
push 7
pop eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
call fcn.00444ca3
jmp 0x4320b2
push dword [ebp - 0x108]
call fcn.0040c86d
pop ecx
jmp 0x43388a
xor eax, eax
inc eax
push str.too_many_levels_of_trigger_recursion
push edi
mov dword [ebp - 0x18], eax
call fcn.004289e4
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
jmp 0x431ca1
xor eax, eax
lea edx, [eax + 1]
call fcn.00428531
push eax
push 0x630c7c
mov edi, dword [ebp - 0x14]
push edi
call fcn.004289e4
add esp, 0xc
jmp 0x433931
xor eax, eax
mov ecx, str.out_of
push 5
inc eax
pop edx
mov dword [ebp - 0x18], eax
cmp edi, edx
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x433949
push dword [ebp - 0x4c]
call dword [edi + 0x1c]
pop ecx
jmp 0x42e836
mov edi, dword [ebp - 0x14]
push 6
jmp 0x4338a4
push dword [ebp - 0x44]
jmp 0x433913
or dword [ebp - 0x74], 0xffffffff
or dword [ebp - 0x88], 0xffffffff
push 9
jmp 0x4338a4
push 5
pop esi
movzx eax, dl
cmp dx, si
push 2
pop edx
cmove eax, edx
mov byte [edi + 0x94], al
jmp 0x431ca1
push 6
jmp 0x4314bf
mov eax, dword [edi + 0x1c]
push 2
pop ecx
add eax, ecx
xor ecx, ecx
inc ecx
or eax, ecx
mov ecx, dword [ebp - 0x1c]
mov dword [edi + 0x1c], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x28]
mov dword [edi + 0x78], eax
cmp byte [ecx + 0x57], 0
jne 0x42e83c
push 4
pop edx
test byte [ecx + 0x5e], dl
je 0x433a08
xor eax, eax
push eax
push edi
push dword [ecx + 0xdc]
push edx
call dword [ecx + 0xd8]
add esp, 0x10
mov eax, ebx
sub eax, dword [ebp - 0x20]
push 0x14
cdq
pop ecx
idiv ecx
push 0x64
inc eax
mov dword [edi + 0x20], eax
jmp 0x430727
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov dword [ebp - 0x90], edx
movzx eax, byte [ecx + 0x55]
cmp edx, eax
je 0x433ad2
test esi, esi
je 0x433a4e
mov edx, 0x204
call fcn.0047932d
xor ecx, ecx
inc ecx
mov al, cl
jmp 0x433a88
test edx, edx
je 0x433a66
xor eax, eax
cmp dword [ecx + 0xc4], eax
jle 0x433a66
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x4337f8
xor eax, eax
mov ecx, edi
lea edx, [eax + 1]
call fcn.0042a724
mov esi, eax
test esi, esi
jne 0x433c13
mov al, byte [ebp - 0x90]
mov byte [ebp - 0x90], al
mov esi, dword [ebp - 0x1c]
mov ecx, edi
mov byte [esi + 0x55], al
call fcn.0042a792
push 5
pop ecx
cmp eax, ecx
jne 0x433ab8
mov eax, ebx
sub eax, dword [ebp - 0x20]
cdq
push 0x14
pop esi
idiv esi
mov dword [edi + 0x20], eax
xor eax, eax
inc eax
sub al, byte [ebp - 0x90]
jmp 0x433824
mov ecx, esi
call fcn.00478e5c
push 0x65
pop esi
xor eax, eax
cmp dword [edi + 0x24], eax
push 1
pop eax
cmovne esi, eax
jmp 0x433c13
test esi, esi
mov eax, str.cannot_commit___no_transaction_is_active
mov ecx, str.cannot_rollback___no_transaction_is_active
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmovne eax, ecx
push eax
push edi
call fcn.004289e4
pop ecx
pop ecx
jmp 0x4304ae
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x8c], eax
jmp 0x43399d
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x8c], eax
jmp 0x42e83c
cmp ecx, 0x210a
jne 0x433b5f
push 0x638e7c
push 0x18d49
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0040e811
add esp, 0x14
push 0xb
pop ecx
mov dword [ebp - 0x18], ecx
xor eax, eax
cmp dword [edi + 0x7c], eax
jne 0x433b82
cmp ecx, 0xc0a
je 0x433b82
call fcn.00479437
push eax
push 0x630c7c
push edi
call fcn.004289e4
add esp, 0xc
mov esi, dword [ebp - 0x18]
mov edx, esi
mov ecx, dword [ebp - 0x1c]
mov dword [edi + 0x24], esi
call fcn.0040f4ff
push dword [edi + 0x7c]
mov eax, ebx
push dword [edi + 0xc8]
sub eax, dword [ebp - 0x20]
push 0x14
pop ecx
cdq
idiv ecx
push eax
push str.statement_aborts_at__d:___s___s
push esi
call fcn.0040e811
add esp, 0x14
push 2
pop ecx
cmp byte [edi + 0x97], cl
jne 0x433bca
mov ecx, edi
call fcn.0042a792
push 2
pop ecx
cmp esi, 0xc0a
jne 0x433bf7
mov ecx, dword [ebp - 0x1c]
call fcn.0040cea4
mov edx, dword [ebp - 0x1c]
xor eax, eax
lea esi, [eax + 1]
mov al, byte [ebp - 0x7d]
test al, al
je 0x433c16
mov ecx, dword [ebp - 0x1c]
movzx edx, al
dec edx
call fcn.00444c3f
jmp 0x433c13
cmp esi, 0xb
jne 0x433bda
mov edx, dword [ebp - 0x1c]
cmp byte [edx + 0x55], 0
jne 0x433bdd
mov eax, dword [edx + 0x20]
or dword [edx + 0x24], ecx
mov dword [edx + 0x20], eax
jmp 0x433bdd
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x94]
cmp eax, dword [ebp - 0x88]
jb 0x433c6f
mov ecx, dword [ebp - 0x74]
ja 0x433c31
cmp dword [ebp - 0x8c], ecx
jb 0x433c6f
mov eax, dword [edx + 0x174]
test eax, eax
je 0x433c6f
add ecx, dword [edx + 0x17c]
push 0
mov dword [ebp - 0x74], ecx
pop ecx
push dword [edx + 0x178]
adc dword [ebp - 0x88], ecx
call eax
mov edx, dword [ebp - 0x1c]
pop ecx
test eax, eax
je 0x433c16
or dword [ebp - 0x74], 0xffffffff
or dword [ebp - 0x88], 0xffffffff
push 9
jmp 0x433848
mov ecx, dword [ebp - 0x8c]
xor eax, eax
add dword [edi + 0xb4], ecx
cmp dword [edi + 0xa0], eax
je 0x433c8c
mov ecx, edi
call fcn.00429768
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005c8b52
leave
ret