Function at 0x435c24
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2f4
mov eax, dword [0x5d6b80]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x104], edi
mov dword [ebp - 0x178], ebx
mov dword [ebp - 0xcc], ebx
mov eax, dword [edi]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0x124], ebx
mov eax, dword [eax + 8]
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0x158], ebx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x15c], ebx
mov al, byte [eax + 0x49]
mov byte [ebp - 0x128], al
lea eax, [edi + 0xa4]
mov ecx, eax
mov dword [ebp - 0x188], eax
call fcn.0042b17a
mov esi, dword [ebp - 0xd0]
push 7
pop eax
cmp dword [edi + 0x68], eax
je 0x439cad
mov dword [edi + 0x68], ebx
mov dword [edi + 0x84], ebx
mov dword [esi + 0x19c], ebx
cmp dword [esi + 0xd8], ebx
jne 0x439ef2
mov ebx, dword [edi + 0x64]
push 4
mov dword [ebp - 0xd4], ebx
pop edx
mov dword [ebp - 0x194], 0x28
cmp byte [esi + 0x1e], 0
jne 0x439cad
mov eax, dword [esi + 0x100]
imul ebx, ebx, 0x14
add ebx, dword [edi + 0x14]
mov dword [ebp - 0x118], ebx
test eax, eax
je 0x435d38
mov ecx, dword [ebp - 0x15c]
cmp dword [esi + 0x108], ecx
jne 0x435d2b
push dword [esi + 0x104]
call eax
pop ecx
test eax, eax
jne 0x439c97
push 4
pop edx
jmp 0x435d31
mov eax, dword [ebp - 0x15c]
inc eax
mov dword [ebp - 0x15c], eax
movzx eax, byte [ebx]
push 2
pop ecx
mov al, byte [eax + 0x59ec30]
test cl, al
je 0x435d6b
imul eax, dword [ebx + 8], 0x28
add eax, dword [edi + 0x4c]
mov ecx, eax
mov dword [ebp - 0xd8], eax
call fcn.00431fe8
mov ecx, dword [ebp - 0xd8]
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
jmp 0x435dda
push 8
test dl, al
je 0x435db2
imul edx, dword [ebx + 4], 0x28
mov ecx, dword [edi + 0x4c]
add edx, ecx
mov dword [ebp - 0xdc], edx
pop edx
test dl, al
je 0x435da3
imul edx, dword [ebx + 8], 0x28
add edx, ecx
mov dword [ebp - 0x124], edx
test al, 0x20
je 0x435dda
imul eax, dword [ebx + 0xc], 0x28
add eax, ecx
mov dword [ebp - 0xd8], eax
jmp 0x435dda
push 0x10
pop edx
test dl, al
je 0x435dda
imul eax, dword [ebx + 0xc], 0x28
add eax, ecx
jmp 0x435dd4
pop ecx
test cl, al
je 0x435dc6
imul eax, dword [ebx + 8], 0x28
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x124], eax
jmp 0x435dda
push 0x10
pop ecx
test cl, al
je 0x435dda
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x120], eax
mov cl, byte [ebx]
movzx edx, cl
mov byte [ebp - 0x129], cl
mov dword [ebp - 0xfc], edx
lea eax, [edx - 1]
cmp eax, 0x90
ja case.0x435df5.13
jmp dword [eax*4 + 0x439f28]
cmp dword [esi + 0xd8], 0
jne 0x439ef2
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0xcc]
jmp 0x435f8e
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [edi + 0x4c]
mov dword [ebp - 0xdc], ecx
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x435e09
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
mov ebx, dword [ebp - 0xcc]
jmp 0x435f94
mov ebx, dword [ebp - 0xdc]
push 4
pop eax
mov ecx, dword [ebx]
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd4]
cdq
mov dword [ebx], eax
mov eax, ecx
mov dword [ebx + 4], edx
jmp 0x435e48
mov ecx, dword [ebp - 0xd8]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x435df5.13
mov edx, dword [ebp - 0xd8]
push 4
pop eax
mov word [edx + 0x1c], ax
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
jmp case.0x435df5.13
mov ecx, dword [ebp - 0xd8]
push 8
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebx + 0x10]
movsd xmm0, qword [eax]
movsd qword [ecx + 8], xmm0
jmp case.0x435df5.13
mov ecx, dword [ebx + 0x10]
mov byte [ebx], 0x1d
call fcn.00425971
xor edx, edx
mov dword [ebx + 4], eax
inc edx
cmp byte [ebp - 0x128], dl
je 0x435fad
push 0
push edx
mov edx, ecx
mov ecx, dword [ebp - 0xd8]
push 0xffffffffffffffff
call fcn.0043241b
movzx edx, byte [ebp - 0x128]
add esp, 0xc
mov ecx, dword [ebp - 0xd8]
call fcn.00431d2b
test eax, eax
jne 0x439cad
mov ecx, dword [ebp - 0xd8]
call fcn.00431e0f
test eax, eax
jne 0x439cad
mov ecx, dword [ebp - 0xd8]
mov edx, 0xfbff
and dword [ecx + 0x24], eax
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, 0x800
or ax, dx
mov word [ecx + 0x1c], ax
cmp byte [ebx + 1], 0xff
jne 0x435f63
push dword [ebx + 0x10]
push dword [ebp - 0xd0]
call fcn.00423eac
pop ecx
pop ecx
mov ecx, dword [ebp - 0xd8]
mov byte [ebx + 1], 0xff
mov eax, dword [ecx + 0x14]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [ebx + 4], eax
mov ebx, dword [ebp - 0xd0]
cmp eax, dword [ebx + 0x50]
jg 0x439e15
mov ebx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
push 4
pop edx
inc eax
mov dword [ebp - 0xd4], eax
test ebx, ebx
jne 0x439cd1
mov ebx, eax
jmp 0x435ce7
cmp eax, dword [esi + 0x50]
jg 0x436622
mov ecx, dword [ebp - 0xd8]
mov eax, 0xa02
mov word [ecx + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0x18], eax
mov al, byte [ebp - 0x128]
mov byte [ecx + 0x1f], al
jmp case.0x435df5.13
mov edx, dword [ebx + 0x10]
xor eax, eax
push eax
push eax
push dword [ebx + 4]
mov ebx, dword [ebp - 0xd8]
mov ecx, ebx
call fcn.0043241b
mov al, byte [ebp - 0x128]
add esp, 0xc
mov byte [ebx + 0x1f], al
jmp case.0x435df5.13
mov eax, dword [ebx + 4]
mov esi, dword [edi + 0x38]
dec eax
imul ecx, eax, 0x28
add esi, ecx
mov ecx, esi
call fcn.0043231e
test eax, eax
jne 0x436622
mov ecx, dword [ebp - 0xd8]
mov eax, 0x800
push eax
mov edx, esi
call fcn.00432341
pop ecx
jmp 0x435f82
imul edx, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
mov ebx, dword [ebx + 0xc]
add edx, dword [edi + 0x4c]
add ecx, dword [edi + 0x4c]
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xd8], ecx
test ebx, ebx
je case.0x435df5.13
mov edi, ecx
mov ecx, edx
mov esi, dword [edi + 0x24]
mov edx, ecx
and dword [edi + 0x24], 0
mov ecx, edi
call fcn.004323f5
mov ecx, dword [ebp - 0xdc]
push 0x28
pop eax
add edi, eax
mov dword [ecx + 0x24], esi
add ecx, eax
mov dword [ebp - 0xdc], ecx
dec ebx
jne 0x436064
mov dword [ebp - 0xd8], edi
mov edi, dword [ebp - 0x104]
jmp 0x435f82
imul eax, dword [ebx + 8], 0x28
mov ebx, 0x1000
mov edx, dword [ebp - 0xdc]
push ebx
add eax, dword [edi + 0x4c]
mov ecx, eax
mov dword [ebp - 0xd8], eax
call fcn.00432341
pop ecx
mov ecx, dword [ebp - 0xd8]
test word [ecx + 0x1c], bx
je case.0x435df5.13
call fcn.00431e0f
test eax, eax
jne 0x439cad
jmp case.0x435df5.13
imul eax, dword [ebx + 8], 0x28
mov ecx, 0x1000
mov edx, dword [ebp - 0xdc]
push ecx
add eax, dword [edi + 0x4c]
mov ecx, eax
mov dword [ebp - 0xd8], eax
call fcn.00432341
pop ecx
jmp case.0x435df5.13
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x124]
movzx ecx, word [ebx + 0x1c]
mov al, byte [eax + 0x1c]
or al, cl
test al, 1
je 0x436130
mov ecx, dword [ebp - 0xd8]
call fcn.004321fe
jmp case.0x435df5.13
mov eax, 0x4000
test eax, ecx
je 0x436140
mov ecx, ebx
call fcn.00431e6b
test byte [ebx + 0x1c], 0x12
jne 0x43615c
movzx edx, byte [ebp - 0x128]
mov ecx, ebx
call fcn.00431f05
test eax, eax
jne 0x439cad
mov eax, dword [ebp - 0x124]
mov ecx, 0x4000
test word [eax + 0x1c], cx
je 0x43617a
mov ecx, eax
call fcn.00431e6b
mov eax, dword [ebp - 0x124]
test byte [eax + 0x1c], 0x12
jne 0x436196
movzx edx, byte [ebp - 0x128]
mov ecx, eax
call fcn.00431f05
test eax, eax
jne 0x439cad
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebx + 0x18]
add eax, dword [ecx + 0x18]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x50]
cdq
cmp ecx, edx
jg 0x436622
jl 0x4361c3
cmp esi, eax
ja 0x436622
mov ebx, dword [ebp - 0xd8]
lea edx, [esi + 2]
mov ecx, 0xbf02
push 2
mov ax, word [ebx + 0x1c]
and ax, cx
pop ecx
or ax, cx
mov ecx, ebx
mov word [ebx + 0x1c], ax
xor eax, eax
cmp ebx, dword [ebp - 0x124]
sete al
push eax
call fcn.00431d45
pop ecx
test eax, eax
jne 0x439ca7
mov eax, dword [ebp - 0x124]
cmp ebx, eax
je 0x436219
push dword [eax + 0x18]
push dword [eax + 0x14]
push dword [ebx + 0x14]
call fcn.00525890
add esp, 0xc
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x124]
push dword [eax + 0x18]
push dword [eax + 0x14]
mov eax, dword [ebx + 0x14]
add eax, dword [ecx + 0x18]
push eax
call fcn.00525890
mov eax, dword [ebx + 0x14]
xor ecx, ecx
add esp, 0xc
mov byte [esi + eax], cl
mov eax, dword [ebx + 0x14]
mov byte [eax + esi + 1], cl
mov eax, 0x200
mov ecx, dword [ebp - 0xd8]
or word [ecx + 0x1c], ax
mov al, byte [ebp - 0x128]
mov dword [ecx + 0x18], esi
mov byte [ecx + 0x1f], al
jmp 0x435f82
mov ecx, dword [ebp - 0xdc]
call fcn.00435b43
mov ecx, dword [ebp - 0x124]
call fcn.00435b43
mov eax, dword [ebp - 0x124]
movzx edx, word [eax + 0x1c]
mov eax, dword [ebp - 0xdc]
movzx ecx, word [eax + 0x1c]
mov eax, ecx
mov dword [ebp - 0xf4], eax
mov eax, edx
or dword [ebp - 0xf4], eax
test byte [ebp - 0xf4], 1
jne 0x43648a
push 4
and cl, dl
pop eax
test al, cl
je 0x436383
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x124]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x118], eax
movzx eax, byte [ebx]
sub eax, 0x53
je 0x436374
dec eax
je 0x436365
dec eax
je 0x436351
dec eax
mov eax, ecx
je 0x43631a
or eax, edx
je 0x43648a
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x436306
xor ecx, ecx
inc ecx
xor edx, edx
mov eax, dword [ebp - 0x118]
push edx
push ecx
push eax
push esi
call fcn.0053db30
jmp 0x43669c
or eax, edx
je 0x43648a
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x118]
jne 0x436343
xor ebx, ebx
cmp esi, ebx
jne 0x436343
cmp eax, 0x80000000
jne 0x436343
xor ecx, ecx
mov edx, ebx
inc ecx
push edx
push ecx
push eax
push esi
call fcn.0052abc0
jmp 0x43669c
mov eax, dword [ebp - 0x118]
push edx
push ecx
push eax
push esi
call fcn.00533be0
jmp 0x43669c
mov eax, dword [ebp - 0x118]
sub esi, ecx
sbb eax, edx
jmp 0x4366b8
mov eax, dword [ebp - 0x118]
add esi, ecx
adc eax, edx
jmp 0x4366b8
mov ecx, dword [ebp - 0xdc]
call fcn.00432113
mov ecx, dword [ebp - 0x124]
movsd qword [ebp - 0x110], xmm0
call fcn.00432113
movzx eax, byte [ebx]
movapd xmm1, xmm0
movsd qword [ebp - 0xf0], xmm1
sub eax, 0x53
je 0x43643e
dec eax
je 0x436434
dec eax
je 0x43642a
movsd xmm0, qword [ebp - 0x110]
dec eax
je 0x436416
call fcn.0052733f
movsd xmm0, qword [ebp - 0xf0]
mov esi, eax
mov ebx, edx
call fcn.0052733f
mov ecx, eax
mov eax, esi
or eax, ebx
je 0x43648a
mov eax, esi
and eax, ebx
cmp eax, 0xffffffff
jne 0x4363fa
xor esi, esi
inc esi
xor ebx, ebx
push ebx
push esi
push edx
push ecx
call fcn.0053db30
mov ecx, eax
call fcn.005274df
mov esi, dword [ebp - 0xd0]
movapd xmm1, xmm0
jmp 0x436446
ucomisd xmm0, qword [0x5a6d58]
lahf
test ah, 0x44
jnp 0x43648a
divsd xmm1, xmm0
jmp 0x436446
mulsd xmm1, qword [ebp - 0x110]
jmp 0x436446
subsd xmm1, qword [ebp - 0x110]
jmp 0x436446
addsd xmm1, qword [ebp - 0x110]
movapd xmm0, xmm1
call fcn.00425941
test eax, eax
jne 0x43648a
mov ecx, dword [ebp - 0xd8]
mov edx, 0xbf08
push 8
mov ax, word [ecx + 0x1c]
and ax, dx
movsd qword [ecx + 8], xmm1
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
test byte [ebp - 0xf4], dl
jne case.0x435df5.13
call fcn.00432185
jmp case.0x435df5.13
mov ecx, dword [ebp - 0xd8]
call fcn.004321fe
jmp 0x435f82
imul ecx, dword [ebx + 8], 0x28
xor edx, edx
movzx esi, byte [ebx + 3]
mov eax, dword [edi + 0x24]
mov dword [ebp - 0xec], eax
add ecx, dword [edi + 0x4c]
test esi, esi
jle 0x4364d4
push 0x28
mov edi, eax
pop ebx
mov dword [edi + edx*4], ecx
call fcn.00435a4a
inc edx
add ecx, ebx
cmp edx, esi
jl 0x4364b9
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x104]
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x4364ed
mov dword [ebp - 0x240], eax
xor eax, eax
mov dword [ebp - 0x23c], eax
jmp 0x4364fd
mov dword [ebp - 0x23c], eax
mov eax, dword [eax]
mov dword [ebp - 0x240], eax
xor eax, eax
imul edx, dword [ebx + 0xc], 0x28
xor ecx, ecx
inc ecx
mov dword [ebp - 0x218], eax
mov word [ebp - 0x21c], cx
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x228], ecx
lea ecx, [ebp - 0x238]
add edx, dword [edi + 0x4c]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0x214], eax
call fcn.004323f5
mov eax, dword [ebp - 0x21c]
mov ecx, 0xbf01
and dword [ebp - 0x20c], 0
and eax, ecx
mov ecx, dword [ebp - 0x240]
or eax, 1
mov word [ebp - 0x21c], ax
push 8
pop eax
test byte [ecx + 3], al
je 0x43656c
mov eax, dword [ebx - 4]
mov dword [ebp - 0x208], eax
push dword [ebp - 0xec]
lea eax, [ebp - 0x240]
push esi
push eax
call dword [ecx + 0xc]
mov eax, dword [ebp - 0xd0]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x439c9c
mov ecx, dword [ebp - 0x23c]
test ecx, ecx
je 0x4365af
mov edx, dword [ebx + 4]
call fcn.004340b5
mov eax, dword [ebp - 0x23c]
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
cmp dword [ebp - 0x20c], 0
je 0x4365ec
mov dl, 1
lea ecx, [ebp - 0x238]
call fcn.00432844
push eax
push 0x5a39c4
push dword [ebp - 0xd0]
lea eax, [edi + 0x80]
push eax
call fcn.004241d7
mov eax, dword [ebp - 0x20c]
add esp, 0x10
mov dword [ebp - 0xcc], eax
movzx edx, byte [ebp - 0x128]
lea ecx, [ebp - 0x238]
call fcn.00431d2b
mov ecx, dword [ebp - 0xd8]
lea edx, [ebp - 0x238]
call fcn.004323f5
mov ecx, dword [ebp - 0xd8]
call fcn.0043231e
test eax, eax
je 0x435f82
mov eax, dword [ebp - 0xd0]
push str.string_or_blob_too_big
push eax
lea eax, [edi + 0x80]
push eax
call fcn.004241d7
add esp, 0xc
push 0x12
jmp 0x439c99
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0xdc]
mov al, byte [edx + 0x1c]
or al, byte [ecx + 0x1c]
test al, 1
jne 0x436120
mov ecx, edx
call fcn.004320a3
mov ecx, dword [ebp - 0xdc]
mov esi, eax
mov dword [ebp - 0xf4], edx
call fcn.004320a3
mov ecx, eax
movzx eax, byte [ebx]
sub eax, 0x4f
je 0x4366ae
dec eax
je 0x4366a2
mov edx, dword [ebp - 0xf4]
dec eax
mov eax, esi
je 0x436697
call fcn.00561740
jmp 0x43669c
call fcn.00561720
mov esi, eax
mov eax, edx
jmp 0x4366b8
mov eax, dword [ebp - 0xf4]
or esi, ecx
or eax, edx
jmp 0x4366b8
mov eax, dword [ebp - 0xf4]
and esi, ecx
and eax, edx
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 4], eax
mov dword [ecx], esi
mov ax, word [ecx + 0x1c]
mov edx, 0xbf04
and ax, dx
push 4
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
mov esi, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd4]
jmp 0x435f97
mov ecx, dword [ebp - 0xdc]
call fcn.004321b4
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xdc]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x435df5.13
mov ecx, dword [ebp - 0xdc]
call fcn.00435b43
mov ecx, dword [ebp - 0xdc]
push 8
pop eax
test byte [ecx + 0x1c], al
je 0x436733
call fcn.00432185
mov ecx, dword [ebp - 0xdc]
movzx eax, word [ecx + 0x1c]
push 4
pop edx
test dl, al
jne 0x436755
mov eax, dword [ebx + 8]
test eax, eax
je 0x439d1c
dec eax
mov ebx, dword [ebp - 0xcc]
jmp 0x435f97
mov ebx, 0xbf04
and eax, ebx
or eax, edx
mov word [ecx + 0x1c], ax
jmp 0x4366df
mov ecx, dword [ebp - 0xdc]
push 4
pop edx
test byte [ecx + 0x1c], dl
je 0x4366df
call fcn.004321d9
jmp case.0x435df5.13
mov edx, dword [ebp - 0xdc]
movzx ecx, word [edx + 0x1c]
test cl, 1
jne case.0x435df5.13
push dword [ebp - 0x128]
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov ecx, dword [ebp - 0xdc]
mov word [edx + 0x1c], ax
mov dl, 0x61
call fcn.00435bbe
pop ecx
mov ecx, dword [ebp - 0xdc]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x4367dc
call fcn.00431e6b
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], eax
jmp 0x4367e3
and dword [ebp - 0xcc], 0
mov eax, 0xbfe3
and word [ecx + 0x1c], ax
jmp case.0x435df5.13
mov ecx, dword [ebp - 0xdc]
movzx eax, word [ecx + 0x1c]
test al, 1
jne case.0x435df5.13
push 0x10
pop ebx
test bl, al
jne 0x436836
push dword [ebp - 0x128]
mov dl, 0x61
call fcn.00435bbe
pop ecx
mov ecx, dword [ebp - 0xdc]
mov edx, 0xbf10
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, bx
mov word [ecx + 0x1c], ax
jmp case.0x435df5.13
and eax, 0xff10
jmp 0x43682d
mov ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], 0xd
jne case.0x435df5.13
call fcn.00432113
movsd qword [ebp - 0x110], xmm0
call fcn.00432057
mov ecx, eax
call fcn.005274df
movsd xmm1, qword [ebp - 0x110]
mov ecx, dword [ebp - 0xdc]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436888
call fcn.004321b4
jmp case.0x435df5.13
mov ax, word [ecx + 0x1c]
mov edx, 0xbf08
push 8
and ax, dx
movsd qword [ecx + 8], xmm1
pop edx
or ax, dx
jmp 0x43682d
mov ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], 1
jne case.0x435df5.13
jmp 0x43687e
mov ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], 1
jne case.0x435df5.13
jmp 0x436779
mov eax, dword [ebp - 0x120]
xor edx, edx
mov ecx, dword [ebp - 0xdc]
inc edx
mov al, byte [eax + 0x1c]
or al, byte [ecx + 0x1c]
test dl, al
mov al, byte [ebx + 3]
je 0x436923
push 0x10
pop ecx
test cl, al
je 0x436906
imul ecx, dword [ebx + 8], 0x28
mov ebx, 0xbf01
add ecx, dword [edi + 0x4c]
mov dword [ebp - 0xd8], ecx
mov ax, word [ecx + 0x1c]
and ax, bx
jmp 0x43689c
push 8
pop ecx
test cl, al
push 4
pop edx
je 0x4366df
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xd4], ebx
jmp 0x4366df
and al, 0x67
mov byte [ebp - 0x129], al
je 0x436963
push dword [ebp - 0x128]
mov dl, al
call fcn.00435bbe
mov dl, byte [ebp - 0x129]
pop ecx
push dword [ebp - 0x128]
mov ecx, dword [ebp - 0x120]
call fcn.00435bbe
cmp byte [esi + 0x1e], 0
pop ecx
jne 0x439cad
mov ecx, dword [ebp - 0xdc]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x436973
call fcn.00431e6b
mov eax, dword [ebp - 0x120]
mov ecx, 0x4000
test word [eax + 0x1c], cx
je 0x436991
mov ecx, eax
call fcn.00431e6b
mov eax, dword [ebp - 0x120]
push dword [ebx + 0x10]
mov edx, dword [ebp - 0xdc]
mov ecx, eax
call fcn.00432587
pop ecx
movzx ecx, byte [ebx]
mov edx, eax
xor eax, eax
sub ecx, 0x48
je 0x4369dd
dec ecx
je 0x4369d6
dec ecx
je 0x4369cf
dec ecx
je 0x4369c8
dec ecx
je 0x4369c1
test edx, edx
setns al
jmp 0x4369e2
test edx, edx
sets al
jmp 0x4369e2
test edx, edx
setle al
jmp 0x4369e2
test edx, edx
setg al
jmp 0x4369e2
test edx, edx
sete al
jmp 0x4369e2
test edx, edx
setne al
push 0x10
pop ecx
push 4
test byte [ebx + 3], cl
je 0x436a18
imul ebx, dword [ebx + 8], 0x28
mov edx, 0xbf04
add ebx, dword [edi + 0x4c]
mov dword [ebp - 0xd8], ebx
mov cx, word [ebx + 0x1c]
and cx, dx
pop edx
or cx, dx
cdq
mov word [ebx + 0x1c], cx
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x435df5.13
test eax, eax
jmp 0x43690d
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x154], ecx
jmp case.0x435df5.13
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x11c], edx
mov edx, dword [ebx + 8]
xor ebx, ebx
mov dword [ebp - 0xf4], eax
mov esi, ebx
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xe4], edx
test eax, eax
jle 0x436ae4
lea edx, [ecx + 0xc]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0x154]
test eax, eax
je 0x436a75
mov ecx, dword [eax + esi*4]
jmp 0x436a77
mov ecx, esi
mov eax, dword [ebp - 0xfc]
push dword [edx]
mov eax, dword [eax + 8]
movzx eax, byte [eax + esi]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xe4]
add eax, ecx
imul edx, eax, 0x28
mov eax, dword [ebp - 0x11c]
add eax, ecx
imul ecx, eax, 0x28
add edx, dword [edi + 0x4c]
add ecx, dword [edi + 0x4c]
call fcn.00432587
mov dword [ebp - 0x158], eax
pop ecx
test eax, eax
jne 0x436ad4
mov edx, dword [ebp - 0xec]
inc esi
push 4
pop eax
add edx, eax
mov dword [ebp - 0xec], edx
cmp esi, dword [ebp - 0xf4]
jl 0x436a66
jmp 0x436ae4
cmp dword [ebp - 0x130], ebx
je 0x436ae4
neg eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], ebx
jmp 0x435f82
mov eax, dword [ebp - 0x158]
test eax, eax
jns 0x436b01
mov ebx, dword [ebx + 4]
jmp 0x435e0c
push 4
pop edx
je 0x436914
mov ebx, dword [ebx + 0xc]
jmp 0x436917
mov eax, dword [ebp - 0xdc]
xor edx, edx
inc edx
test byte [eax + 0x1c], dl
je 0x436b27
push 2
pop ecx
mov esi, ecx
jmp 0x436b41
mov ecx, eax
call fcn.004320a3
or eax, edx
push 2
pop ecx
je 0x436b3c
xor edx, edx
inc edx
mov esi, edx
jmp 0x436b41
xor edx, edx
xor esi, esi
inc edx
mov eax, dword [ebp - 0x124]
test byte [eax + 0x1c], dl
jne 0x436b5d
mov ecx, eax
call fcn.004320a3
xor ecx, ecx
or eax, edx
je 0x436b5a
inc ecx
xor edx, edx
inc edx
imul eax, esi, 3
cmp byte [ebx], 0x42
jne 0x436b6f
movzx eax, byte [eax + ecx + 0x5a0f14]
jmp 0x436b77
movzx eax, byte [eax + ecx + 0x5a0e1c]
mov esi, dword [ebp - 0xd0]
push 2
pop ecx
cmp eax, ecx
mov ecx, dword [ebp - 0xd8]
push 4
jne 0x436bb0
mov ax, word [ecx + 0x1c]
mov ebx, 0xbf01
and ax, bx
mov ebx, dword [ebp - 0xcc]
or ax, dx
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd4]
jmp 0x435f96
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ax, word [ecx + 0x1c]
mov edx, 0xbf04
and ax, dx
pop edx
or ax, dx
jmp 0x43675e
imul eax, dword [ebx + 8], 0x28
xor ebx, ebx
mov ecx, dword [ebp - 0xdc]
inc ebx
add eax, dword [edi + 0x4c]
mov dword [ebp - 0xd8], eax
test byte [ecx + 0x1c], bl
je 0x436bed
mov ecx, eax
jmp 0x436126
call fcn.004320a3
or eax, edx
jne 0x436bfa
mov eax, ebx
jmp 0x436bfc
xor eax, eax
mov ecx, dword [ebp - 0xd8]
cdq
push edx
push eax
call fcn.0043224a
pop ecx
jmp 0x436101
imul ebx, dword [ebx + 8], 0x28
mov eax, dword [ebp - 0xdc]
add ebx, dword [edi + 0x4c]
test byte [eax + 0x1c], 1
mov dword [ebp - 0xd8], ebx
je 0x436c30
mov ecx, ebx
jmp 0x436126
mov ecx, eax
call fcn.004320a3
not eax
not edx
mov ecx, ebx
jmp 0x436c03
mov edx, dword [ebp - 0xdc]
test byte [edx + 0x1c], 1
je 0x436c50
mov ecx, dword [ebx + 0xc]
jmp 0x436c76
mov ecx, edx
call fcn.00432113
ucomisd xmm0, qword [0x5a6d58]
lahf
xor ecx, ecx
test ah, 0x44
jnp 0x436c68
inc ecx
cmp byte [ebx], 0x45
jne 0x436c76
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
jmp 0x43690b
mov eax, dword [ebx + 0xc]
xor edx, edx
mov ecx, dword [ebp - 0xdc]
inc edx
test byte [ecx + 0x1c], dl
jne 0x435e09
add ecx, 0x28
dec eax
mov dword [ebp - 0xdc], ecx
test eax, eax
jg 0x436c89
jmp case.0x435df5.13
mov eax, dword [ebp - 0xdc]
test byte [eax + 0x1c], 1
push 4
pop edx
jne 0x4366df
jmp 0x436914
mov eax, dword [ebx + 8]
lea edi, [ebp - 0x268]
mov edx, dword [ebx + 4]
mov esi, 0xbf01
mov dword [ebp - 0xec], eax
xor eax, eax
push 0xa
pop ecx
rep stosd dword es:[edi], eax
imul ecx, dword [ebx + 0xc], 0x28
mov edi, dword [ebp - 0x104]
add ecx, dword [edi + 0x4c]
mov dword [ebp - 0xfc], ecx
mov ax, word [ecx + 0x1c]
and ax, si
xor esi, esi
inc esi
or ax, si
mov word [ecx + 0x1c], ax
mov eax, dword [edi + 0x30]
mov esi, dword [eax + edx*4]
xor edx, edx
mov dword [ebp - 0x10c], esi
cmp dword [esi], edx
je 0x436d82
mov ecx, esi
call fcn.004341d4
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x439da8
mov ecx, dword [esi]
xor edx, edx
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0x130], ecx
cmp byte [esi + 0x1c], dl
je 0x436d3f
mov eax, edx
jmp 0x436d97
mov eax, dword [esi + 0x60]
cmp eax, dword [edi + 0x54]
jne 0x436d4f
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x70]
jmp 0x436d91
cmp byte [esi + 0x22], dl
je 0x436d6d
lea edx, [ebp - 0x270]
call fcn.0042d585
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x144], eax
jmp 0x436d7e
lea edx, [ebp - 0x144]
call fcn.0042d5c5
mov eax, dword [ebp - 0x144]
xor edx, edx
jmp 0x436d9d
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x60], edx
mov dword [ebp - 0x130], edx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0x144], eax
mov ecx, dword [esi + 0x4c]
mov dword [ebp - 0xe4], ecx
test eax, eax
je 0x435f82
mov ebx, dword [ebp - 0xd0]
cmp eax, dword [ebx + 0x50]
mov ebx, dword [ebp - 0x118]
jg 0x436622
mov eax, dword [esi + 0x68]
mov dword [ebp - 0xf4], eax
mov eax, dword [esi + 0x60]
cmp eax, dword [edi + 0x54]
jne 0x436de2
mov esi, dword [esi + 0x6c]
mov dword [ebp - 0x13c], esi
jmp 0x43700c
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x11c], edx
lea eax, [eax + ecx*4]
mov dword [ebp - 0x13c], eax
mov dword [esi + 0x6c], eax
mov eax, dword [ebp - 0x144]
mov dword [esi + 0x64], eax
mov eax, dword [edi + 0x54]
mov dword [esi + 0x60], eax
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x436e1b
mov dword [ebp - 0x114], eax
jmp 0x436e7f
cmp byte [esi + 0x22], 0
mov eax, dword [ebp - 0x130]
je 0x436e3a
cmp byte [eax + 0x3b], 1
jne 0x436e30
push edx
jmp 0x436e43
mov eax, edx
mov dword [ebp - 0x114], eax
jmp 0x436e63
xor ecx, ecx
inc ecx
cmp byte [eax + 0x3b], cl
jne 0x436e5b
push ecx
lea edx, [ebp - 0x11c]
mov ecx, eax
call fcn.0042d9f9
pop ecx
mov dword [ebp - 0x114], eax
xor edx, edx
jmp 0x436e63
mov eax, edx
mov dword [ebp - 0x114], edx
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [ebp - 0x144]
jl 0x436e7c
mov dword [ebp - 0xe0], eax
mov dword [esi + 0x70], eax
jmp 0x436e7f
mov dword [esi + 0x70], edx
mov cl, byte [eax]
cmp cl, 0x80
jae 0x436e94
movzx ecx, cl
xor edx, edx
mov dword [ebp - 0x148], ecx
inc edx
jmp 0x436eb0
lea edx, [ebp - 0x148]
mov ecx, eax
call fcn.004261c1
mov ecx, dword [ebp - 0x148]
movzx edx, al
mov eax, dword [ebp - 0x114]
cmp dword [ebp - 0xe0], 0
movzx edx, dl
mov dword [ebp - 0x114], edx
jne 0x436f10
cmp dword [ebp - 0x11c], ecx
jge 0x436f10
xor eax, eax
xor edx, edx
and dword [ebp - 0x258], eax
mov word [ebp - 0x24c], ax
lea eax, [ebp - 0x268]
push eax
movzx eax, byte [esi + 0x22]
push eax
push ecx
mov ecx, dword [ebp - 0x130]
call fcn.0043275b
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x435f82
mov eax, dword [ebp - 0x254]
mov edx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x148]
lea esi, [ecx + eax]
mov dword [ebp - 0x114], esi
lea esi, [edx + eax]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x11c], esi
test edx, edx
jle 0x436fc3
mov ebx, dword [ebp - 0x13c]
mov esi, dword [ebp - 0xf4]
sub ebx, esi
mov edi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x114]
cmp edi, eax
jae 0x436f9b
mov dword [ebx + esi], ecx
mov al, byte [edi]
cmp al, 0x80
jae 0x436f67
movzx eax, al
mov dword [esi], eax
xor eax, eax
inc eax
jmp 0x436f79
mov edx, esi
mov ecx, edi
call fcn.004261c1
mov edx, dword [ebp - 0xe4]
movzx eax, al
mov ecx, dword [esi]
movzx eax, al
add edi, eax
call fcn.0043433e
mov ecx, dword [ebp - 0x148]
add ecx, eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x148], ecx
jmp 0x436f9f
and dword [ebx + esi], 0
add esi, 4
dec edx
mov dword [ebp - 0xe4], edx
jne 0x436f50
mov ebx, dword [ebp - 0x118]
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0x104]
mov esi, dword [ebp - 0x11c]
lea ecx, [ebp - 0x268]
call fcn.0043202b
xor edx, edx
inc edx
mov word [ebp - 0x24c], dx
mov edx, dword [ebp - 0x114]
cmp esi, edx
ja 0x43713a
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
cmp eax, ecx
jg 0x43713a
cmp esi, edx
jne 0x437006
cmp eax, ecx
jne 0x43713a
mov esi, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0xec]
cmp dword [esi + ecx*4], 0
je 0x4370ce
cmp dword [ebp - 0xe0], 0
je 0x43704c
mov ebx, dword [ebp - 0xfc]
mov ecx, ebx
call fcn.00431fe8
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [esi + edx*4]
add ecx, dword [ebp - 0xe0]
mov edx, dword [eax + edx*4]
jmp 0x4370bc
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + ecx*4]
call fcn.0043433e
mov ebx, dword [ebp - 0xfc]
lea ecx, [ebp - 0x268]
mov edx, ebx
mov esi, eax
call fcn.004323f5
lea eax, [ebp - 0x268]
push eax
mov eax, dword [ebp - 0x10c]
movzx ecx, byte [eax + 0x22]
mov eax, dword [ebp - 0x13c]
push ecx
mov ecx, dword [ebp - 0x130]
push esi
mov esi, dword [ebp - 0xec]
mov edx, dword [eax + esi*4]
call fcn.0043275b
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x435f82
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x254]
mov edx, dword [eax + esi*4]
push ebx
call fcn.004343f6
mov al, byte [ebp - 0x128]
pop ecx
mov byte [ebx + 0x1f], al
jmp 0x4370f3
cmp byte [ebx + 1], 0xf8
jne 0x4370ed
mov edx, dword [ebx + 0x10]
mov eax, 0x800
mov ebx, dword [ebp - 0xfc]
mov ecx, ebx
push eax
call fcn.00432341
pop ecx
jmp 0x4370f3
mov ebx, dword [ebp - 0xfc]
cmp dword [ebp - 0x244], 0
je 0x437126
mov ax, word [ebx + 0x1c]
mov ecx, 0xe7ff
and ax, cx
mov ecx, 0x200
or ax, cx
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x254]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x244]
mov dword [ebx + 0x24], eax
mov ecx, ebx
call fcn.00431e0f
mov ebx, eax
mov dword [ebp - 0xcc], ebx
jmp 0x435f88
push 0xb
pop ebx
jmp 0x43712f
mov eax, dword [ebx + 0x10]
imul esi, dword [ebx + 4], 0x28
mov dword [ebp - 0x10c], eax
imul eax, dword [ebx + 8], 0x28
add esi, dword [edi + 0x4c]
add eax, 0xffffffd8
add eax, esi
mov dword [ebp - 0xec], eax
cmp esi, eax
ja 0x435f82
push 0x28
xor ebx, ebx
lea edi, [esi + 0x1c]
pop ecx
mov eax, 0x4000
test word [edi + ebx], ax
je 0x437183
mov ecx, esi
call fcn.00431e6b
push 0x28
pop ecx
mov eax, ebx
cdq
idiv ecx
mov ecx, dword [ebp - 0x10c]
push dword [ebp - 0x128]
mov dl, byte [eax + ecx]
mov ecx, esi
call fcn.00435bbe
pop ecx
push 0x28
pop ecx
add esi, ecx
add ebx, ecx
cmp esi, dword [ebp - 0xec]
jbe 0x43716e
jmp 0x436093
imul edx, dword [ebx + 4], 0x28
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x114], eax
mov eax, dword [ebx + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x10c], eax
imul eax, dword [ebx + 8], 0x28
add edx, dword [edi + 0x4c]
movzx edi, byte [edi + 0x8b]
mov esi, edx
movlpd qword [ebp - 0x100], xmm0
mov dword [ebp - 0xe0], ecx
add eax, 0xffffffd8
mov dword [ebp - 0xf4], edx
add eax, edx
mov dword [ebp - 0xec], edi
mov dword [ebp - 0x11c], eax
cmp edx, eax
ja 0x4372f6
mov ecx, dword [ebp - 0xfc]
push 0xffffffffffffffe8
pop eax
sub eax, edx
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0x100]
xor ebx, ebx
mov dword [ebp - 0x130], eax
mov dword [ebp - 0xfc], ecx
mov ecx, dword [ebp - 0x10c]
test ecx, ecx
je 0x437256
add eax, 0x18
add eax, esi
cdq
idiv dword [ebp - 0x194]
push dword [ebp - 0x128]
mov dl, byte [eax + ecx]
mov ecx, esi
call fcn.00435bbe
pop ecx
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43726d
cmp dword [esi + 0x18], ebx
jle 0x43726d
mov ecx, esi
call fcn.00431e6b
mov edx, edi
mov ecx, esi
call fcn.0043427b
mov ecx, eax
call fcn.0043433e
mov edi, eax
cdq
add dword [ebp - 0xfc], eax
push ebx
adc dword [ebp - 0xe4], edx
push ecx
call fcn.00426258
pop ecx
pop ecx
mov ecx, dword [ebp - 0xe0]
add ecx, eax
mov eax, 0x4000
mov dword [ebp - 0xe0], ecx
test word [esi + 0x1c], ax
je 0x4372be
mov eax, dword [ebp - 0x114]
add eax, dword [esi]
mov dword [ebp - 0x114], eax
jmp 0x4372d1
mov edx, dword [ebp - 0x114]
xor eax, eax
test edi, edi
cmovne edx, eax
mov dword [ebp - 0x114], edx
mov edi, dword [ebp - 0xec]
push 0x28
pop eax
add esi, eax
mov eax, dword [ebp - 0x130]
cmp esi, dword [ebp - 0x11c]
jbe 0x43722f
mov ebx, dword [ebp - 0x118]
jmp 0x43730e
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xfc], eax
mov eax, ecx
cdq
push edx
push eax
call fcn.00426258
mov esi, eax
mov eax, dword [ebp - 0xe0]
add eax, esi
mov dword [ebp - 0xe0], eax
cdq
push edx
push eax
call fcn.00426258
mov edi, dword [ebp - 0xe0]
add esp, 0x10
cmp esi, eax
jge 0x437344
inc edi
mov dword [ebp - 0xe0], edi
mov eax, dword [ebp - 0x114]
cdq
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
sub eax, ecx
mov edi, edx
sbb edi, esi
add dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xd0]
adc edi, dword [ebp - 0xe4]
mov eax, dword [eax + 0x50]
cdq
cmp edi, edx
jg 0x439e0a
mov edx, dword [ebp - 0xfc]
jl 0x437386
cmp edx, eax
ja 0x439e0a
imul ebx, dword [ebx + 0xc], 0x28
mov edi, dword [ebp - 0x104]
push 0
add ebx, dword [edi + 0x4c]
mov ecx, ebx
mov dword [ebp - 0xd8], ebx
call fcn.00431d45
pop ecx
test eax, eax
jne 0x439ca7
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xe4], eax
cmp ecx, 0x80
jae 0x4373c9
mov byte [eax], cl
xor eax, eax
inc eax
jmp 0x4373d2
mov edx, ecx
mov ecx, eax
call fcn.00426040
movzx esi, al
mov eax, dword [ebp - 0xf4]
mov ebx, eax
cmp eax, dword [ebp - 0x11c]
ja 0x43742f
mov edi, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xec]
mov ecx, ebx
call fcn.0043427b
cmp eax, 0x80
jae 0x437407
mov byte [esi + edi], al
xor eax, eax
inc eax
jmp 0x437411
lea ecx, [esi + edi]
mov edx, eax
call fcn.00426040
movzx eax, al
add esi, eax
push 0x28
pop eax
add ebx, eax
cmp ebx, dword [ebp - 0x11c]
jbe 0x4373eb
mov edi, dword [ebp - 0x104]
mov eax, dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x11c]
cmp eax, ebx
ja 0x437475
mov edi, dword [ebp - 0xe4]
push dword [ebp - 0xec]
mov edx, dword [ebp - 0xfc]
lea ecx, [esi + edi]
push eax
sub edx, esi
call fcn.00434351
pop ecx
pop ecx
add esi, eax
mov eax, dword [ebp - 0xf4]
push 0x28
pop ecx
add eax, ecx
mov dword [ebp - 0xf4], eax
cmp eax, ebx
jbe 0x43743f
mov edi, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xfc]
and dword [ecx + 0x20], 0
mov dword [ecx + 0x18], eax
mov eax, 0x410
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x4374a6
mov dword [ecx], eax
mov eax, 0x4410
mov word [ecx + 0x1c], ax
mov byte [ecx + 0x1f], 1
jmp 0x435f82
cmp byte [esi + 0x1c], 0
je 0x4374c2
cmp dword [esi + 0x90], 1
jle case.0x435df5.13
imul ecx, dword [ebx + 4], 0x18
mov ebx, dword [ebp - 0xd0]
mov eax, dword [ebx + 8]
mov ecx, dword [ecx + eax + 4]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4374e4
cmp byte [eax + 0x10], 0
jne 0x435f82
call fcn.0042d247
mov ebx, eax
mov dword [edi + 0xe4], 1
mov dword [ebp - 0xcc], ebx
jmp 0x435f88
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0xfc], eax
test eax, eax
jne 0x4375af
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0x94], 0
jle 0x437540
push str.cannot_open_savepoint___SQL_statements_in_progress
push eax
lea eax, [edi + 0x80]
push eax
call fcn.004241d7
add esp, 0xc
push 5
pop eax
jmp 0x43712d
mov ecx, ebx
call fcn.00425971
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x10c], eax
lea edx, [eax + 9]
call fcn.00424049
mov esi, eax
test esi, esi
je 0x435f82
mov ecx, dword [ebp - 0x10c]
lea edx, [esi + 8]
inc ecx
mov dword [esi], edx
push ecx
push ebx
push edx
call fcn.00525890
mov ebx, dword [ebp - 0xd0]
add esp, 0xc
cmp byte [ebx + 0x1c], 0
je 0x437595
mov byte [ebx + 0x1c], 0
mov byte [ebx + 0x1dc], 1
jmp 0x43759b
inc dword [ebx + 0x1d8]
mov eax, dword [ebx + 0x1d4]
mov dword [esi + 4], eax
mov dword [ebx + 0x1d4], esi
jmp 0x435f82
xor eax, eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax + 0x1d4]
test esi, esi
je 0x4377ac
mov edi, dword [ebp - 0xec]
mov ecx, dword [esi]
mov edx, ebx
call fcn.00425ac5
test eax, eax
je 0x4375e6
mov esi, dword [esi + 4]
inc edi
test esi, esi
jne 0x4375d1
mov dword [ebp - 0xec], edi
mov edi, dword [ebp - 0x104]
test esi, esi
je 0x4377a6
mov ecx, dword [ebp - 0xd0]
xor ebx, ebx
mov edx, dword [ebp - 0xfc]
cmp dword [ecx + 0x94], ebx
jg 0x437622
push 2
pop eax
cmp edx, eax
jne 0x43764d
xor eax, eax
inc eax
cmp dword [ecx + 0x90], eax
jle 0x437650
cmp edx, 2
mov eax, str.rollback
mov esi, str.release
cmovne eax, esi
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
push ecx
lea eax, [edi + 0x80]
push eax
call fcn.004241d7
add esp, 0x10
jmp 0x437538
xor eax, eax
inc eax
cmp dword [esi + 4], ebx
jne 0x43769c
cmp byte [ecx + 0x1dc], bl
je 0x43769c
mov dword [ebp - 0x11c], eax
cmp edx, eax
jne 0x4376a2
mov byte [ecx + 0x1c], al
mov ecx, edi
call fcn.00433d3c
push 5
pop ecx
cmp eax, ecx
je 0x439d24
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1dc], bl
mov eax, dword [edi + 0x68]
mov dword [ebp - 0xcc], eax
mov ebx, dword [ebp - 0xd0]
jmp 0x437758
mov dword [ebp - 0x11c], ebx
mov ebx, dword [ecx + 0x1d8]
xor eax, eax
sub ebx, dword [ebp - 0xec]
dec ebx
mov dword [ebp - 0xec], eax
cmp dword [ecx + 4], eax
jle 0x437711
mov dword [ebp - 0xe4], eax
mov ecx, dword [ecx + 8]
push ebx
mov ecx, dword [eax + ecx + 4]
call fcn.0042d342
mov dword [ebp - 0xcc], eax
pop ecx
test eax, eax
jne 0x439da8
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xe4]
inc ecx
add eax, 0x18
mov dword [ebp - 0xec], ecx
cmp ecx, dword [edx + 4]
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xe4], eax
jl 0x4376c2
push 2
pop eax
cmp edx, eax
jne 0x437691
mov ebx, dword [ebp - 0xd0]
push 0x10
pop eax
test byte [ebx + 0xc], al
je 0x437758
mov ecx, ebx
call fcn.00434a38
xor edx, edx
call fcn.00440c0c
jmp 0x437758
mov ecx, dword [ebx + 0x1d4]
push ecx
push ebx
mov eax, dword [ecx + 4]
mov dword [ebx + 0x1d4], eax
call fcn.00423eac
dec dword [ebx + 0x1d8]
pop ecx
pop ecx
cmp dword [ebx + 0x1d4], esi
jne 0x43773a
cmp dword [ebp - 0xfc], 1
jne 0x435f82
mov eax, dword [esi + 4]
push esi
push ebx
mov dword [ebx + 0x1d4], eax
call fcn.00423eac
cmp dword [ebp - 0x11c], 0
mov esi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
pop ecx
pop ecx
push 4
pop edx
jne 0x43674a
dec dword [ebx + 0x1d8]
jmp 0x43674a
mov eax, dword [ebp - 0xd0]
push ebx
push str.no_such_savepoint:__s
push eax
lea eax, [edi + 0x80]
push eax
call fcn.004241d7
add esp, 0x10
xor ebx, ebx
inc ebx
jmp 0x43712f
mov ecx, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov ebx, dword [ebp - 0xd0]
mov dword [ebp - 0x10c], ecx
test ecx, ecx
je 0x43780e
cmp byte [ebx + 0x1c], 0
jne 0x43780e
test esi, esi
je 0x4377fe
cmp dword [ebx + 0x90], 1
jle 0x43780e
push str.cannot_rollback_transaction___SQL_statements_in_progress
push ebx
jmp 0x437529
cmp dword [ebx + 0x94], 1
jle 0x43780e
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x4377f8
movzx eax, byte [ebx + 0x1c]
cmp ecx, eax
jne 0x439d41
xor edx, edx
mov eax, str.cannot_commit___no_transaction_is_active
test ecx, ecx
mov ecx, str.cannot_rollback___no_transaction_is_active
sete dl
test esi, esi
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmove eax, ecx
push eax
push ebx
lea eax, [edi + 0x80]
push eax
call fcn.004241d7
add esp, 0xc
jmp 0x4377c2
imul ecx, dword [ebx + 4], 0x18
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 8]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
je 0x435f82
mov edx, dword [ebx + 8]
call fcn.0042c945
push 5
mov ebx, eax
pop ecx
mov dword [ebp - 0xcc], ebx
cmp ebx, ecx
je 0x439d96
test ebx, ebx
je 0x435f88
push 8
pop eax
cmp ebx, eax
jne 0x439dae
jmp 0x435f88
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
test ecx, ecx
jns 0x4378af
or eax, 0xffffffff
sub eax, ecx
neg edx
mov ecx, eax
lea eax, [ebp - 0x190]
inc edx
push eax
imul eax, ecx, 0x18
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 8]
mov ecx, dword [eax + ecx + 4]
call fcn.00430991
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x190]
pop ecx
mov ecx, dword [ebp - 0xd8]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4366c3
imul esi, dword [ebx + 4], 0x18
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x120]
add esi, dword [eax + 8]
call fcn.004321b4
mov eax, dword [ebp - 0x120]
mov edx, dword [ebx + 8]
mov ecx, dword [esi + 4]
inc edx
push dword [eax]
call fcn.00430a3f
xor edx, edx
mov dword [ebp - 0xcc], eax
pop ecx
cmp dword [ebx + 8], edx
jne 0x437940
mov ecx, dword [esi + 0x14]
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0xd0]
push 0x10
mov eax, dword [eax]
mov dword [ecx], eax
pop eax
or dword [esi + 0xc], eax
inc edx
jmp 0x43795a
inc edx
cmp dword [ebx + 8], edx
jne 0x437954
mov eax, dword [ebp - 0x120]
mov ecx, dword [esi + 0x14]
mov al, byte [eax]
mov byte [ecx + 0x48], al
mov esi, dword [ebp - 0xd0]
cmp dword [ebx + 4], edx
jne 0x435f82
mov ecx, esi
call fcn.00434a38
jmp 0x435f82
imul ecx, dword [ebx + 4], 0x18
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 8]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
je 0x43799c
lea eax, [ebp - 0x170]
xor edx, edx
push eax
inc edx
call fcn.00430991
mov esi, dword [ebp - 0x170]
pop ecx
jmp 0x4379a6
xor eax, eax
mov esi, eax
mov dword [ebp - 0x170], esi
mov ecx, eax
mov dword [ebp - 0xcc], ecx
test ecx, ecx
jne 0x435f82
cmp esi, dword [ebx + 8]
je 0x435f82
push dword [edi + 0x80]
push dword [ebp - 0xd0]
call fcn.00423eac
pop ecx
pop ecx
mov ecx, dword [ebp - 0xd0]
mov edx, str.database_schema_has_changed
call fcn.0042415c
mov dword [edi + 0x80], eax
mov edx, dword [ebx + 4]
mov ebx, dword [ebp - 0xd0]
imul ecx, edx, 0x18
mov eax, dword [ebx + 8]
mov eax, dword [ecx + eax + 0x14]
cmp dword [eax], esi
je 0x437a06
mov ecx, ebx
call fcn.00440c0c
mov ecx, ebx
call fcn.00434a38
push 0x11
pop ebx
mov dword [ebp - 0xcc], ebx
mov esi, ecx
jmp 0x435f8e
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
mov edi, dword [ebp - 0xd0]
mov edx, dword [ebx + 8]
mov dword [ebp - 0x10c], eax
imul eax, esi, 0x18
mov dword [ebp - 0xfc], edx
add eax, dword [edi + 8]
mov edi, dword [eax + 4]
mov dword [ebp - 0xe4], edi
mov edi, dword [ebp - 0x104]
cmp cl, 0xa
jne 0x437a72
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xec], 1
mov al, byte [eax + 0x48]
cmp al, byte [edi + 0x8b]
jae 0x437a79
mov byte [edi + 0x8b], al
jmp 0x437a79
and dword [ebp - 0xec], 0
cmp byte [ebx + 3], 0
je 0x437aab
imul eax, edx, 0x28
add eax, dword [edi + 0x4c]
mov ecx, eax
mov dword [ebp - 0x124], eax
call fcn.004321b4
mov ecx, dword [ebp - 0x124]
push 2
mov eax, dword [ecx]
pop ecx
mov dword [ebp - 0xfc], eax
cmp eax, ecx
jl 0x437bc2
mov edx, dword [ebp - 0x10c]
lea eax, [ebx - 0x14]
push 1
push esi
push eax
mov ecx, edi
call fcn.00435a75
mov esi, eax
add esp, 0xc
test esi, esi
je 0x439ca7
push dword [esi]
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xe4]
mov byte [esi + 0x1c], 1
push dword [ebx + 0x10]
push dword [ebp - 0xec]
call fcn.0042d462
add esp, 0xc
mov dword [ebp - 0xcc], eax
xor edx, edx
cmp byte [ebx + 1], 0xfa
jne 0x437b13
mov ecx, dword [ebx + 0x10]
mov dword [esi + 0x48], ecx
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x49]
mov byte [ecx + 4], al
jmp 0x437b16
mov dword [esi + 0x48], edx
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x437b51
push 5
pop ecx
cmp eax, ecx
je 0x439d96
push 0x10
pop ecx
cmp eax, ecx
jne 0x439da8
cmp byte [ebx + 1], 0xfa
mov ebx, edx
mov dword [esi], edx
setne al
test al, al
mov byte [esi + 0x21], al
sete al
mov byte [esi + 0x22], al
jmp 0x43712f
mov ecx, dword [esi]
push 2
pop eax
mov dword [ebp - 0x10c], ecx
cmp byte [ecx + 0x3b], al
jb 0x437b6c
call fcn.0042b497
mov ecx, dword [ebp - 0x10c]
movsx eax, word [ecx + 0x54]
mov eax, dword [ecx + eax*4 + 0x58]
movzx ecx, byte [eax + 5]
mov eax, dword [eax + 0x40]
movzx ecx, byte [ecx + eax]
test cl, 0xf0
jne 0x437bc2
mov eax, ecx
push 5
and eax, 7
pop edx
cmp eax, edx
je 0x437b95
cmp eax, 2
jne 0x437bc2
xor edx, edx
mov al, cl
inc edx
shr ecx, 1
and al, dl
and cl, dl
mov byte [esi + 0x21], al
mov byte [esi + 0x22], cl
test al, al
je 0x437bb0
cmp byte [ebx + 1], 0xfa
je 0x437bc2
test cl, cl
je 0x435f82
cmp byte [ebx + 1], 0xfa
je 0x435f82
push 0xb
jmp 0x439d1e
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push ebx
call fcn.00435a75
mov esi, eax
add esp, 0xc
test esi, esi
je 0x439ca7
lea eax, [esi + 0x30]
xor ecx, ecx
push eax
inc ecx
xor edx, edx
push 0x41e
push 0x1f4
mov byte [esi + 0x1c], cl
push ecx
mov ecx, dword [ebp - 0xd0]
call fcn.00459863
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x437ca1
mov ecx, dword [esi + 0x30]
xor edx, edx
inc edx
call fcn.0042c945
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x437ca1
mov ecx, dword [esi + 0x30]
cmp dword [ebx + 0x10], eax
je 0x437c87
push 2
pop eax
push eax
lea edx, [ebp - 0x198]
call fcn.00430660
mov dword [ebp - 0xcc], eax
pop ecx
test eax, eax
jne 0x437c81
push dword [esi]
mov edx, dword [ebp - 0x198]
push dword [ebx + 0x10]
mov ecx, dword [esi + 0x30]
push 1
call fcn.0042d462
mov ecx, dword [ebx + 0x10]
add esp, 0xc
mov dword [esi + 0x48], ecx
mov dword [ebp - 0xcc], eax
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x49]
mov byte [ecx + 4], al
mov byte [esi + 0x21], 0
jmp 0x437ca1
push dword [esi]
xor ebx, ebx
push eax
inc ebx
push ebx
mov edx, ebx
call fcn.0042d462
add esp, 0xc
mov dword [ebp - 0xcc], eax
mov byte [esi + 0x21], bl
cmp byte [esi + 0x21], 0
sete al
mov byte [esi + 0x22], al
jmp 0x435f82
mov edx, dword [ebx + 4]
lea eax, [ebx - 0x14]
push 0
push 0xffffffffffffffff
push eax
mov ecx, edi
call fcn.00435a75
add esp, 0xc
test eax, eax
je 0x439cad
xor ecx, ecx
inc ecx
mov byte [eax + 0x1c], cl
mov byte [eax + 0x1e], cl
mov cl, byte [ebx + 8]
mov byte [eax + 0x1f], cl
mov word [eax + 0x21], 1
jmp case.0x435df5.13
mov esi, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x30]
mov edx, dword [edx + esi*4]
call fcn.0043367d
mov eax, dword [edi + 0x30]
and dword [eax + esi*4], 0
jmp 0x435f82
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov esi, dword [eax + ecx*4]
cmp dword [esi], 0
je 0x437fcf
xor ecx, ecx
mov byte [esi + 0x1c], cl
cmp byte [esi + 0x21], cl
je 0x437ed9
mov ecx, dword [ebp - 0x120]
call fcn.00435b43
mov ecx, dword [ebp - 0x120]
call fcn.004320a3
mov ecx, edx
mov byte [esi + 0x19], 0
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x118], ecx
movzx edx, word [edx + 0x1c]
test dl, 4
jne 0x437e8c
test dl, 8
jne 0x437d72
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xd4], ebx
jmp 0x435f82
test eax, eax
jne 0x437e1a
mov edx, SysReAllocStringLen
cmp ecx, edx
jne 0x437e1a
xor ecx, ecx
call fcn.005274df
mov eax, dword [ebp - 0x120]
movsd xmm1, qword [eax + 8]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x437da8
comisd xmm1, xmm0
jbe 0x437e0e
comisd xmm0, xmm1
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x134], 1
jbe 0x437dd7
cmp edx, 0x79
je 0x437dc8
cmp edx, 0x6d
jne 0x437d63
mov ecx, dword [esi]
lea edx, [ebp - 0x134]
call fcn.0042dc3e
jmp 0x437dee
cmp edx, 0x59
je 0x437de1
cmp edx, 0x38
jne 0x437d63
mov ecx, dword [esi]
lea edx, [ebp - 0x134]
call fcn.0042dc69
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x439da8
cmp dword [ebp - 0x134], 0
je 0x435f82
jmp 0x437d63
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0xfc]
cmp edx, 0x59
je 0x437e54
cmp edx, 0x6d
je 0x437e54
mov edx, ecx
mov ecx, eax
call fcn.005274df
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x118]
comisd xmm0, xmmword [eax + 8]
mov eax, dword [ebp - 0xe0]
jbe 0x437e8c
add eax, 0xffffffff
adc ecx, 0xffffffff
jmp 0x437e80
mov edx, ecx
mov ecx, eax
call fcn.005274df
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x118]
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
mov eax, dword [ebp - 0xe0]
jbe 0x437e8c
add eax, 1
adc ecx, 0
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0xe0], eax
lea edx, [ebp - 0x134]
push edx
push 0
push ecx
mov ecx, dword [esi]
xor edx, edx
push eax
call fcn.0042dca9
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x439da8
mov ecx, dword [ebp - 0x134]
xor edx, edx
test ecx, ecx
jne 0x437f45
mov eax, dword [ebp - 0xe0]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x118]
mov byte [esi + 0x19], 1
mov dword [esi + 0xc], eax
jmp 0x437f45
mov eax, dword [esi + 0x48]
mov dword [ebp - 0x1a8], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x1a4], ax
cmp edx, 0x79
je 0x437efb
cmp edx, 0x38
je 0x437efb
xor eax, eax
jmp 0x437efe
push 8
pop eax
mov word [ebp - 0x1a2], ax
lea edx, [ebp - 0x1a8]
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x134]
push eax
push ecx
push ecx
push ecx
mov ecx, dword [esi]
call fcn.0042dca9
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x439da8
mov ecx, dword [ebp - 0x134]
xor edx, edx
mov byte [esi + 0x19], dl
mov eax, dword [ebp - 0xfc]
mov byte [esi + 0x20], dl
mov dword [esi + 0x60], edx
cmp eax, 0x6d
je 0x437f88
cmp eax, 0x79
je 0x437f88
test ecx, ecx
jg 0x437f79
jne 0x437f66
cmp eax, 0x59
je 0x437f79
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x3b], 1
setne cl
mov dword [ebp - 0x134], ecx
jmp 0x437fbd
mov ecx, dword [esi]
lea edx, [ebp - 0x134]
call fcn.0042e10d
jmp 0x437fab
test ecx, ecx
js 0x437f9e
jne 0x437f93
cmp eax, 0x79
je 0x437f9e
mov dword [ebp - 0x134], edx
jmp 0x435f82
mov ecx, dword [esi]
lea edx, [ebp - 0x134]
call fcn.0042e020
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x439da8
mov byte [esi + 0x19], 0
mov esi, dword [ebp - 0xd0]
cmp dword [ebp - 0x134], 0
jmp 0x43690b
cmp byte [esi + 0x1e], 0
mov esi, dword [ebp - 0xd0]
jmp 0x436caf
mov ecx, dword [ebx + 4]
xor ebx, ebx
mov eax, dword [edi + 0x30]
mov esi, dword [eax + ecx*4]
cmp dword [esi], ebx
je 0x435f82
mov ecx, dword [ebp - 0x124]
mov byte [esi + 0x1c], bl
call fcn.004320a3
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], edx
mov byte [esi + 0x19], bl
mov byte [esi + 0x20], 1
jmp 0x435f82
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x30]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xec], eax
cmp dword [eax], edx
je 0x4380b7
push ecx
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0x120]
push dword [ecx + 0x14]
mov edx, dword [ecx + 0x18]
mov ecx, dword [eax + 0x48]
call fcn.004345ce
mov esi, eax
add esp, 0xc
test esi, esi
je 0x439ca7
cmp byte [ebx], 0x7e
jne 0x43805f
push 0x10
pop eax
or word [esi + 6], ax
mov ecx, dword [ebp - 0xec]
lea eax, [ebp - 0x19c]
push eax
xor eax, eax
mov edx, esi
push eax
mov ecx, dword [ecx]
push eax
push eax
call fcn.0042dca9
add esp, 0x10
mov dword [ebp - 0xcc], eax
mov ecx, esi
call fcn.004346e2
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd0]
test eax, eax
jne case.0x435df5.13
mov eax, dword [ebp - 0xec]
xor edx, edx
cmp dword [ebp - 0x19c], edx
sete dl
xor ecx, ecx
mov byte [eax + 0x20], cl
mov dword [eax + 0x60], ecx
cmp byte [ebx], 0x7e
push 4
jne 0x4380c5
test edx, edx
jmp 0x43690d
test edx, edx
jmp 0x436cb1
imul eax, dword [ebx + 0x10], 0x28
mov ecx, dword [ebp - 0x120]
mov esi, dword [ebx + 4]
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x10c], eax
call fcn.004321b4
mov edx, dword [ebp - 0x120]
mov eax, dword [edx]
mov dword [ebp - 0xe4], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0x11c], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + esi*4]
mov dword [ebp - 0xfc], eax
mov ecx, dword [eax]
mov dword [ebp - 0xec], ecx
test ecx, ecx
je 0x435f82
mov edx, dword [ebp - 0x10c]
push ecx
lea ecx, [ebp - 0xc8]
push ecx
push dword [edx + 0x14]
mov edx, dword [edx + 0x18]
mov ecx, dword [eax + 0x48]
call fcn.004345ce
mov esi, eax
add esp, 0xc
test esi, esi
je 0x439ca7
push 4
pop eax
or word [esi + 6], ax
xor ecx, ecx
mov eax, dword [ebp - 0xfc]
mov edx, esi
mov dword [eax + 0x60], ecx
lea eax, [ebp - 0x14c]
push eax
push ecx
push ecx
push ecx
mov ecx, dword [ebp - 0xec]
call fcn.0042dca9
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x439da1
cmp dword [ebp - 0x14c], eax
jge 0x4381bb
mov ecx, dword [ebp - 0xec]
lea edx, [ebp - 0x14c]
call fcn.0042e020
cmp dword [ebp - 0x14c], 0
mov dword [ebp - 0xcc], eax
je 0x4381bb
mov eax, dword [ebx + 8]
mov ecx, esi
dec eax
mov dword [ebp - 0xd4], eax
call fcn.004346e2
jmp 0x435f82
mov ecx, dword [ebp - 0xfc]
lea eax, [ebp - 0x14c]
push eax
mov edx, esi
call fcn.004349ae
pop ecx
mov ecx, esi
mov dword [ebp - 0xcc], eax
call fcn.004346e2
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x439da8
cmp dword [ebp - 0x14c], eax
jg 0x437d63
mov ecx, dword [ebp - 0xec]
lea edx, [ebp - 0x1d0]
call fcn.004348b0
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x439da8
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1cc]
cmp ecx, dword [ebp - 0xe4]
jne 0x438236
cmp eax, dword [ebp - 0x11c]
je 0x437d63
mov edx, dword [ebp - 0x120]
mov dword [edx], ecx
mov dword [edx + 4], eax
jmp 0x435f82
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
test ecx, ecx
je 0x437fcf
xor eax, eax
lea edx, [ebp - 0xfc]
push edx
push eax
mov dword [ebp - 0xfc], eax
xor edx, edx
mov eax, dword [ebp - 0x120]
push dword [eax + 4]
push dword [eax]
call fcn.0042dca9
mov ecx, dword [ebp - 0x120]
add esp, 0x10
mov dword [ebp - 0xcc], eax
mov eax, dword [ecx]
mov dword [esi + 8], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
mov dword [esi + 0xc], eax
sete al
mov byte [esi + 0x19], al
xor eax, eax
mov byte [esi + 0x1c], al
mov dword [esi + 0x60], eax
jmp 0x438b28
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov ebx, dword [ebp - 0xd8]
push 4
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx + 0x50]
mov dword [ebx], eax
mov eax, dword [ecx + 0x54]
mov ecx, ebx
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + edx*4]
add dword [eax + 0x50], 1
adc dword [eax + 0x54], 0
jmp 0x436bb6
mov ecx, dword [ebx + 4]
xorps xmm0, xmm0
mov eax, dword [edi + 0x30]
movlpd qword [ebp - 0x140], xmm0
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xe0], edx
mov esi, dword [edx]
test esi, esi
je 0x438583
xor eax, eax
push 2
mov dword [ebp - 0x114], eax
mov dword [ebp - 0xfc], eax
pop eax
cmp byte [esi + 0x3b], al
jb 0x438328
mov ecx, esi
call fcn.0042b497
mov edx, dword [ebp - 0xe0]
movsx eax, word [esi + 0x54]
mov eax, dword [esi + eax*4 + 0x58]
movzx ecx, byte [eax + 5]
mov eax, dword [eax + 0x40]
mov al, byte [ecx + eax]
and al, 3
cmp al, 1
jne 0x437bc2
cmp byte [edx + 0x1b], 0
jne 0x43845c
cmp byte [edx + 0x1d], 0
je 0x43835c
mov esi, dword [edx + 0x10]
mov edi, dword [edx + 0x14]
jmp 0x4383ca
mov esi, dword [ebp - 0xe0]
lea edx, [ebp - 0x114]
mov ecx, dword [esi]
call fcn.0042dc69
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x439da8
cmp dword [ebp - 0x114], eax
je 0x43838c
xor esi, esi
inc esi
xor edi, edi
jmp 0x4383c4
mov ecx, dword [esi]
lea edx, [ebp - 0x140]
call fcn.0042d585
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp - 0x13c]
cmp esi, 0xffffffff
jne 0x4383be
cmp edi, 0x7fffffff
jne 0x4383be
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0x1b], 1
jmp 0x4383ca
add esi, 1
adc edi, 0
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x43842f
mov ebx, dword [ebp - 0x104]
imul eax, eax, 0x28
add eax, dword [ebx + 0x4c]
mov ecx, eax
mov dword [ebp - 0x10c], eax
call fcn.004321b4
mov eax, dword [ebp - 0x10c]
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, 0xffffffff
jne 0x438406
cmp ecx, 0x7fffffff
je 0x439ddf
mov edx, dword [ebp - 0xe0]
cmp byte [edx + 0x1b], 0
jne 0x439ddf
add ebx, 1
adc ecx, 0
cmp edi, ecx
jg 0x43842a
jl 0x438426
cmp esi, ebx
jae 0x43842a
mov esi, ebx
mov edi, ecx
mov dword [eax], esi
mov dword [eax + 4], edi
cmp edi, 0x7fffffff
jg 0x438455
jl 0x43843e
cmp esi, 0xffffffff
jae 0x438455
xor eax, eax
mov ecx, esi
inc eax
add ecx, eax
mov byte [edx + 0x1d], al
mov eax, edi
mov dword [edx + 0x10], ecx
adc eax, 0
mov dword [edx + 0x14], eax
jmp 0x438468
xor ecx, ecx
mov byte [edx + 0x1d], cl
jmp 0x43846a
mov edi, dword [ebp - 0x13c]
mov esi, dword [ebp - 0x140]
xor ecx, ecx
cmp byte [edx + 0x1b], 0
je 0x438576
mov eax, dword [ebp - 0xd0]
mov edx, ecx
mov ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xec], edx
mov esi, dword [eax + 0x38]
mov edi, dword [eax + 0x3c]
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x13c], edi
test edx, edx
jne 0x4384c0
mov eax, esi
and eax, 0xffffff
cmp eax, esi
jne 0x4384c0
cmp ecx, edi
jne 0x4384c0
add esi, 1
adc edi, ecx
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x13c], edi
jmp 0x4384f9
lea eax, [ebp - 0x140]
push eax
push 8
pop eax
push eax
call fcn.00425294
mov edx, dword [ebp - 0xec]
mov esi, dword [ebp - 0x140]
pop ecx
pop ecx
push 5
pop eax
cmp edx, eax
jge 0x4384f1
and esi, 0xffffff
xor ecx, ecx
mov edi, ecx
jmp 0x4384b2
mov edi, dword [ebp - 0x13c]
xor ecx, ecx
mov eax, esi
or eax, edi
je 0x43852a
lea eax, [ebp - 0x114]
xor edx, edx
push eax
push ecx
mov ecx, dword [ebx]
push edi
push esi
call fcn.0042dca9
mov edx, dword [ebp - 0xec]
add esp, 0x10
inc edx
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xec], edx
jmp 0x438530
mov eax, dword [ebp - 0xfc]
cmp edx, 0x64
jge 0x43854c
test eax, eax
mov eax, dword [ebp - 0x114]
jne 0x438552
push 0
pop ecx
test eax, eax
je 0x43849a
jmp 0x438552
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x38], esi
mov dword [ecx + 0x3c], edi
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
jne 0x438570
test eax, eax
je 0x439ddf
mov edx, dword [ebp - 0xe0]
xor ecx, ecx
mov byte [edx + 0x19], cl
mov byte [edx + 0x20], cl
mov dword [edx + 0x60], ecx
jmp 0x43858f
mov edi, dword [ebp - 0x13c]
mov esi, dword [ebp - 0x140]
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 4], edi
mov edi, dword [ebp - 0x104]
jmp 0x4366c1
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 8], 0x28
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x10c], eax
mov eax, dword [edi + 0x30]
add edx, dword [edi + 0x4c]
test byte [ebx + 3], 1
mov dword [ebp - 0xe4], edx
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx]
mov dword [ebp - 0xfc], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xec], eax
je 0x4385e9
inc dword [edi + 0x90]
push 2
pop eax
test byte [ebx + 3], al
je 0x438608
mov edi, dword [ebp - 0xd0]
mov eax, dword [ecx]
mov dword [edi + 0x30], eax
mov eax, dword [ecx + 4]
mov dword [edi + 0x34], eax
mov edi, dword [ebp - 0x104]
cmp byte [esi + 0x1d], 0
je 0x438623
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 0x14]
jl 0x438623
jg 0x43861f
mov eax, dword [ecx]
cmp eax, dword [esi + 0x10]
jb 0x438623
mov byte [esi + 0x1d], 0
movzx eax, word [edx + 0x1c]
test al, 1
je 0x438633
and dword [edx + 0x14], 0
and dword [edx + 0x18], 0
cmp byte [esi + 0x1e], 0
je 0x4386ec
cmp byte [esi + 0x1f], 0
jne 0x438659
push dword [esi + 0x38]
push dword [ebp - 0xd0]
call fcn.00423eac
mov edx, dword [ebp - 0xe4]
pop ecx
pop ecx
mov eax, dword [ebp - 0xfc]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0xec]
mov dword [esi + 0x44], eax
mov ecx, dword [edx + 0x18]
mov dword [esi + 0x34], ecx
mov eax, dword [edx + 0x14]
cmp eax, dword [edx + 0x24]
je 0x4386c0
cmp byte [esi + 0x1f], 0
jne 0x4386c0
lea eax, [ecx + 2]
push eax
call fcn.00423c29
mov dword [esi + 0x38], eax
pop ecx
test eax, eax
je 0x439ca7
mov ecx, dword [ebp - 0xe4]
push dword [esi + 0x34]
push dword [ecx + 0x14]
push eax
call fcn.00525890
mov ecx, dword [esi + 0x34]
add esp, 0xc
mov eax, dword [esi + 0x38]
xor edx, edx
mov byte [ecx + eax], dl
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x38]
mov byte [ecx + eax + 1], dl
jmp 0x4386e7
cmp byte [esi + 0x1f], 0
mov dword [esi + 0x38], eax
jne 0x4386e5
mov ax, word [edx + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov ecx, 0x1000
or ax, cx
and dword [edx + 0x24], 0
mov word [edx + 0x1c], ax
xor edx, edx
mov byte [esi + 0x1c], dl
jmp 0x43872c
mov ecx, 0x4000
test ecx, eax
je 0x4386f9
mov ecx, dword [edx]
jmp 0x4386fb
xor ecx, ecx
movzx eax, byte [ebx + 3]
and eax, 8
push eax
mov eax, dword [ebp - 0xec]
push ecx
push dword [edx + 0x18]
mov ecx, dword [esi]
push dword [edx + 0x14]
xor edx, edx
push eax
mov eax, dword [ebp - 0xfc]
push eax
call fcn.0042feff
add esp, 0x18
mov dword [ebp - 0xcc], eax
xor edx, edx
mov eax, dword [ebp - 0xcc]
mov byte [esi + 0x19], dl
mov byte [esi + 0x20], dl
mov dword [esi + 0x60], edx
test eax, eax
jne 0x435f82
mov edx, dword [ebp - 0xd0]
mov edx, dword [edx + 0xbc]
test edx, edx
je 0x435f82
cmp dword [ebx + 0x10], eax
je 0x435f82
push dword [ebp - 0xec]
imul ecx, dword [esi + 4], 0x18
push dword [ebp - 0xfc]
mov eax, dword [ebp - 0xd0]
push dword [ebx + 0x10]
mov eax, dword [eax + 8]
push dword [ecx + eax]
push 4
pop eax
test byte [ebx + 3], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xd0]
push dword [eax + 0xb8]
call edx
add esp, 0x18
jmp 0x435f82
mov ecx, dword [ebx + 4]
xorps xmm0, xmm0
mov eax, dword [edi + 0x30]
movlpd qword [ebp - 0x110], xmm0
mov esi, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 0xbc], eax
je 0x4387e2
cmp dword [ebx + 0x10], eax
je 0x4387e2
mov eax, dword [esi + 8]
mov dword [ebp - 0xfc], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xec], eax
jmp 0x4387fa
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0xfc], eax
mov ecx, esi
call fcn.004341d4
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x439da8
mov ecx, dword [esi]
call fcn.004300d6
mov dword [ebp - 0xcc], eax
xor eax, eax
mov byte [esi + 0x1d], al
mov dword [esi + 0x60], eax
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x438875
mov edx, dword [ebp - 0xd0]
mov edx, dword [edx + 0xbc]
test edx, edx
je 0x438875
cmp dword [ebx + 0x10], eax
je 0x438875
push dword [ebp - 0xec]
imul ecx, dword [esi + 4], 0x18
mov eax, dword [ebp - 0xd0]
push dword [ebp - 0xfc]
push dword [ebx + 0x10]
mov eax, dword [eax + 8]
push dword [ecx + eax]
mov eax, dword [ebp - 0xd0]
push 9
push dword [eax + 0xb8]
call edx
add esp, 0x18
test byte [ebx + 8], 1
mov esi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xcc]
push 4
pop edx
je 0x435f97
inc dword [edi + 0x90]
jmp 0x435f97
xor edx, edx
cmp dword [ebx + 4], edx
je 0x4388ba
mov ebx, dword [ebp - 0xd0]
mov esi, ebx
mov eax, dword [edi + 0x90]
add dword [ebx + 0x48], eax
mov dword [ebx + 0x44], eax
mov dword [edi + 0x90], edx
jmp case.0x435df5.13
imul eax, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
add eax, dword [edi + 0x4c]
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 0x30]
mov esi, dword [eax + ecx*4]
mov ecx, esi
mov dword [ebp - 0x10c], esi
mov ebx, dword [esi]
call fcn.004341d4
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x439da8
mov ecx, ebx
cmp byte [esi + 0x22], al
je 0x438938
lea edx, [ebp - 0x1f8]
call fcn.0042d585
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x50]
cdq
cmp dword [ebp - 0x1f4], edx
jg 0x436622
mov esi, dword [ebp - 0x1f8]
jl 0x438930
cmp esi, eax
ja 0x436622
mov dword [ebp - 0x16c], esi
jmp 0x438958
lea edx, [ebp - 0x16c]
call fcn.0042d5c5
mov eax, dword [ebp - 0xd0]
mov esi, dword [ebp - 0x16c]
cmp esi, dword [eax + 0x50]
jg 0x436628
mov ecx, dword [ebp - 0xd8]
mov edx, esi
push 0
call fcn.00431d45
pop ecx
test eax, eax
jne 0x439ca7
mov ecx, dword [ebp - 0xd8]
mov edx, 0xbf10
push 0x10
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ecx + 0x18], esi
pop edx
push dword [ecx + 0x14]
or ax, dx
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x10c]
push esi
cmp byte [eax + 0x22], 0
je 0x4389ac
xor edx, edx
mov ecx, ebx
call fcn.0042d974
pop ecx
pop ecx
jmp 0x4389b7
push 0
push ebx
call fcn.0042d9b8
add esp, 0x10
mov ebx, eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], ebx
mov byte [eax + 0x1f], 1
jmp 0x435f88
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.004341d4
mov ebx, eax
mov dword [ebp - 0xcc], ebx
test ebx, ebx
jne 0x439dae
cmp byte [esi + 0x19], al
je 0x4389fb
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
jmp 0x438a07
cmp byte [esi + 0x1e], 0
je 0x438a15
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], ecx
jmp 0x438a38
cmp byte [esi + 0x1c], 0
jne 0x435f88
mov ecx, dword [esi]
lea edx, [ebp - 0x168]
call fcn.0042d585
mov ecx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0xd8]
push 4
mov dword [edx], eax
mov ax, word [edx + 0x1c]
mov dword [edx + 4], ecx
mov ecx, 0xbf04
and ax, cx
pop ecx
or ax, cx
mov word [edx + 0x1c], ax
jmp 0x435f88
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
test ecx, ecx
je case.0x435df5.13
call fcn.0042b481
jmp case.0x435df5.13
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x18c]
mov eax, dword [edi + 0x30]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.0042dc69
xor edx, edx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x18c]
mov byte [esi + 0x1c], al
mov byte [esi + 0x20], dl
mov byte [esi + 0x19], dl
mov dword [esi + 0x60], edx
test eax, eax
je 0x435f82
mov eax, dword [ebx + 8]
mov ebx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd0]
push 4
pop edx
test eax, eax
jle 0x4366e5
dec eax
jmp 0x435f97
inc dword [edi + 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
test ecx, ecx
je 0x438b1c
lea edx, [ebp - 0x17c]
call fcn.0042dc3e
mov ecx, dword [ebp - 0x17c]
test ecx, ecx
mov dword [ebp - 0xcc], eax
sete al
xor edx, edx
mov byte [esi + 0x1a], al
mov byte [esi + 0x20], dl
mov dword [esi + 0x60], edx
mov byte [esi + 0x19], dl
jmp 0x438b25
xor ecx, ecx
inc ecx
mov dword [ebp - 0x17c], ecx
mov byte [esi + 0x1c], cl
mov esi, dword [ebp - 0xd0]
jmp 0x436c76
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0xd8], 0
jne 0x439ef2
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x435f82
cmp byte [ebx], 0x6b
lea edx, [ebp - 0xec]
mov ecx, dword [esi]
mov dword [ebp - 0xec], 1
jne 0x438b75
call fcn.0042e020
jmp 0x438b7a
call fcn.0042e10d
mov dword [ebp - 0xcc], eax
xor edx, edx
mov eax, dword [ebp - 0xec]
mov byte [esi + 0x1c], al
mov dword [esi + 0x60], edx
test eax, eax
jne 0x438bad
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov al, byte [ebx + 3]
test al, al
je 0x438bad
movzx eax, al
inc dword [edi + eax*4 + 0xd0]
mov byte [esi + 0x19], dl
jmp 0x435f82
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
mov dword [ebp - 0x10c], ecx
test ecx, ecx
je 0x435f82
mov eax, dword [ebp - 0x124]
mov edx, 0x4000
test word [eax + 0x1c], dx
je 0x438bf6
mov ecx, eax
call fcn.00431e6b
mov ecx, dword [ebp - 0x10c]
xor edx, edx
mov dword [ebp - 0xcc], eax
jmp 0x438c00
xor edx, edx
mov eax, edx
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x435f82
push dword [ebx + 0xc]
mov ebx, dword [ebp - 0x124]
push edx
push edx
push 0x59c550
mov eax, dword [ebx + 0x18]
cdq
push edx
mov edx, dword [ebx + 0x14]
push eax
call fcn.0042feff
mov ebx, eax
add esp, 0x18
and dword [esi + 0x60], 0
mov dword [ebp - 0xcc], ebx
jmp 0x435f88
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x10c], eax
mov esi, dword [eax]
test esi, esi
je 0x435f82
mov eax, dword [eax + 0x48]
lea edx, [ebp - 0x1c8]
mov dword [ebp - 0x1c8], eax
mov ecx, esi
mov ax, word [ebx + 0xc]
mov word [ebp - 0x1c4], ax
xor eax, eax
mov word [ebp - 0x1c2], ax
imul eax, dword [ebx + 8], 0x28
xor ebx, ebx
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x1c0], eax
lea eax, [ebp - 0x1bc]
push eax
push ebx
push ebx
push ebx
call fcn.0042dca9
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x438cb8
cmp dword [ebp - 0x1bc], ebx
jne 0x438cb8
mov ecx, esi
call fcn.004300d6
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x10c]
mov dword [eax + 0x60], ebx
jmp 0x435f82
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
test ecx, ecx
je case.0x435df5.13
cmp byte [eax + 0x1c], 0
jne case.0x435df5.13
lea edx, [ebp - 0x200]
call fcn.004348b0
mov ebx, eax
mov dword [ebp - 0xcc], ebx
test ebx, ebx
jne 0x439dae
mov ecx, dword [ebp - 0xd8]
mov edx, 0xbf04
push 4
mov ax, word [ecx + 0x1c]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x200]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1fc]
mov dword [ecx + 4], eax
jmp 0x4366e5
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + ecx*4]
cmp dword [ecx], 0
je case.0x435df5.13
cmp byte [ebx + 3], 0
mov eax, dword [ecx + 0x48]
mov dword [ebp - 0x1b8], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x1b4], ax
je 0x438d60
push 0xc
jmp 0x438d62
push 4
pop eax
mov word [ebp - 0x1b2], ax
lea edx, [ebp - 0x1b8]
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x150]
push eax
call fcn.004349ae
cmp byte [ebx], 0x2a
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x150]
pop ecx
jne 0x438d9f
neg eax
jmp 0x438da0
inc eax
mov dword [ebp - 0x150], eax
push 4
pop edx
test eax, eax
jle 0x4366df
jmp 0x436914
mov eax, dword [ebp - 0xd0]
xor edx, edx
mov ecx, edx
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x438e02
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x438de2
cmp byte [eax + 0x8c], 2
jae 0x438de2
cmp dword [eax + 0x64], edx
jl 0x438de2
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x438dca
cmp ecx, 1
jle 0x438e02
push 6
pop ebx
push 2
pop eax
mov dword [ebp - 0xcc], ebx
mov dword [edi + 0x70], eax
jmp 0x435f88
imul ecx, dword [ebx + 0xc], 0x18
mov eax, dword [ebp - 0xd0]
mov esi, dword [ebx + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x10c], ecx
mov edi, dword [eax + ecx + 4]
mov ecx, edi
call fcn.0042af90
mov ecx, dword [edi + 4]
mov edx, esi
mov eax, dword [edi]
mov dword [ecx + 4], eax
lea eax, [ebp - 0x180]
push eax
mov ecx, edi
call fcn.00430824
pop ecx
mov ecx, edi
mov dword [ebp - 0xcc], eax
call fcn.0042b009
mov ecx, dword [ebp - 0xd8]
mov edx, 0xbf04
mov esi, dword [ebp - 0x180]
push 4
mov ax, word [ecx + 0x1c]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
mov eax, esi
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 4], edx
test eax, eax
jne 0x436093
test esi, esi
je 0x436093
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebx + 4]
mov edx, dword [eax + 8]
add edx, dword [ebp - 0x10c]
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0xc]
jmp 0x438eb0
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x18], esi
jne 0x438eae
mov dword [ecx + 0x18], edi
mov eax, dword [eax]
test eax, eax
jne 0x438ea3
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0x1c]
jmp 0x438ec9
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x438ec7
mov dword [ecx + 0x14], edi
mov eax, dword [eax]
test eax, eax
jne 0x438ebc
jmp 0x436093
xor ecx, ecx
lea eax, [ebp - 0xe4]
xor edx, edx
mov dword [ebp - 0xe4], ecx
cmp dword [ebx + 0xc], ecx
mov ecx, dword [ebp - 0xd0]
cmove eax, edx
mov edx, dword [ebx + 4]
push eax
imul eax, dword [ebx + 8], 0x18
mov ecx, dword [ecx + 8]
mov ecx, dword [eax + ecx + 4]
call fcn.004307bc
cmp dword [ebx + 0xc], 0
pop ecx
mov dword [ebp - 0xcc], eax
je 0x435f82
mov eax, dword [ebp - 0xe4]
add dword [edi + 0x90], eax
mov ecx, dword [ebx + 0xc]
mov ebx, dword [ebp - 0xcc]
push 4
test ecx, ecx
jle 0x438f3c
imul esi, ecx, 0x28
mov ecx, dword [edi + 0x4c]
cdq
add dword [ecx + esi], eax
adc dword [ecx + esi + 4], edx
mov esi, dword [ebp - 0xd0]
jmp 0x436ba5
imul ecx, dword [ebx + 4], 0x18
mov eax, dword [ebp - 0xd0]
and dword [ebp - 0x130], 0
push 2
add ecx, dword [eax + 8]
cmp byte [ebp - 0x129], 0x36
pop eax
push 5
mov ecx, dword [ecx + 4]
pop edx
cmove eax, edx
lea edx, [ebp - 0x130]
push eax
call fcn.00430660
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x130]
jmp 0x4378d8
cmp dword [ebx + 8], 0
mov edx, dword [ebx + 4]
jne 0x438fae
mov eax, dword [ebp - 0xd0]
imul ecx, edx, 0x18
mov eax, dword [eax + 8]
mov eax, dword [ecx + eax + 0x14]
test byte [eax + 0x4a], 1
je 0x435f82
push dword [ebx + 0x10]
cmp edx, 1
mov dword [ebp - 0x1dc], edx
mov eax, str.sqlite_master
mov ecx, str.sqlite_temp_master
cmovne ecx, eax
mov eax, dword [ebp - 0xd0]
push ecx
imul ecx, edx, 0x18
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x1e0], eax
lea eax, [edi + 0x80]
mov dword [ebp - 0x1d8], eax
mov eax, dword [edx + 8]
push dword [ecx + eax]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
push edx
call fcn.00425044
mov esi, eax
add esp, 0x14
test esi, esi
je 0x439ca7
mov eax, dword [ebp - 0xd0]
lea ecx, [ebp - 0x1e0]
xor ebx, ebx
push ebx
push ecx
push fcn.0044aa1e
push esi
push eax
mov byte [eax + 0x80], 1
mov dword [ebp - 0x1d4], ebx
call fcn.00448748
add esp, 0x14
test eax, eax
cmove eax, dword [ebp - 0x1d4]
mov dword [ebp - 0xcc], eax
push esi
push dword [ebp - 0xd0]
call fcn.00423eac
mov esi, dword [ebp - 0xd0]
pop ecx
pop ecx
mov byte [esi + 0x80], bl
mov ebx, dword [ebp - 0xcc]
cmp ebx, 7
je 0x439cad
jmp 0x435f8e
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xd0]
call fcn.0043fc1a
jmp 0x43712d
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xd0]
call fcn.00440f47
jmp 0x436035
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xd0]
call fcn.00440b9c
jmp 0x436035
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xd0]
call fcn.00450922
jmp 0x436035
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xfc], eax
lea edx, [eax*4 + 4]
call fcn.00424049
mov edx, eax
mov dword [ebp - 0xe4], edx
test edx, edx
je 0x439ca7
imul esi, dword [ebx + 0xc], 0x28
xor eax, eax
imul ecx, dword [ebx + 4], 0x28
add esi, dword [edi + 0x4c]
add ecx, dword [edi + 0x4c]
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xfc], eax
jle 0x439156
mov esi, dword [ebp - 0xfc]
mov ebx, ecx
mov edi, eax
mov ecx, ebx
call fcn.004320a3
mov edx, dword [ebp - 0xe4]
push 0x28
mov dword [edx + edi*4], eax
inc edi
pop eax
add ebx, eax
cmp edi, esi
jl 0x43911e
mov ebx, dword [ebp - 0x118]
mov esi, dword [ebp - 0x10c]
mov dword [ebp - 0xec], edi
mov edi, dword [ebp - 0x104]
mov eax, dword [ebp - 0xec]
and dword [edx + eax*4], 0
lea eax, [ebp - 0x174]
mov ecx, dword [ebp - 0xd0]
push eax
movzx eax, byte [ebx + 3]
push dword [esi]
mov ecx, dword [ecx + 8]
push dword [ebp - 0xfc]
imul eax, eax, 0x18
mov ecx, dword [eax + ecx + 4]
call fcn.004312b7
add esp, 0xc
mov ebx, eax
push dword [ebp - 0xe4]
push dword [ebp - 0xd0]
call fcn.00423eac
mov eax, dword [ebp - 0x174]
cdq
sub dword [esi], eax
pop ecx
sbb dword [esi + 4], edx
mov esi, dword [ebp - 0xdc]
pop ecx
mov ecx, esi
call fcn.004321fe
cmp dword [ebp - 0x174], 0
je 0x4391d9
test ebx, ebx
je 0x439ca7
push fcn.00423e59
push 1
push 0xffffffffffffffff
mov edx, ebx
mov ecx, esi
call fcn.0043241b
add esp, 0xc
movzx edx, byte [ebp - 0x128]
mov ecx, esi
call fcn.00431d2b
jmp 0x435f82
imul esi, dword [ebx + 4], 0x28
imul ebx, dword [ebx + 8], 0x28
add esi, dword [edi + 0x4c]
add ebx, dword [edi + 0x4c]
test byte [esi + 0x1c], 0x20
jne 0x439211
mov ecx, esi
call fcn.004322af
test byte [esi + 0x1c], 0x20
je 0x439ca7
push dword [ebx + 4]
mov ecx, dword [esi]
push dword [ebx]
call fcn.00428480
pop ecx
jmp 0x436035
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0xd8], 0
jne 0x439ef2
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 0xc], 0x28
add eax, dword [edi + 0x4c]
add ecx, dword [edi + 0x4c]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xd8], ecx
test byte [eax + 0x1c], 0x20
je 0x4392a5
mov esi, dword [eax]
cmp byte [esi + 0x16], 0
jne 0x43926b
mov ecx, esi
call fcn.0042855c
mov eax, dword [ebp - 0x10c]
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x4392a5
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
mov dword [ebp - 0x10c], eax
mov eax, dword [ecx + 8]
mov dword [esi + 8], eax
test eax, eax
jne 0x43928e
mov ecx, esi
call fcn.0042844c
push dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xd8]
push ebx
call fcn.0043224a
jmp 0x43921d
mov ecx, eax
call fcn.004321fe
jmp 0x437d63
mov esi, dword [edi + 0x58]
lea eax, [esi + 1]
mov dword [edi + 0x58], eax
cmp esi, dword [edi + 0x5c]
jl 0x4392e3
mov edx, dword [edi + 0x60]
mov ecx, dword [ebp - 0xd0]
mov dword [edi + 0x5c], eax
lea eax, [esi + 1]
shl eax, 4
push eax
call fcn.00424133
mov dword [edi + 0x60], eax
pop ecx
test eax, eax
je 0x439ca7
mov eax, dword [ebp - 0xd0]
shl esi, 4
add esi, dword [edi + 0x60]
mov eax, dword [eax + 0x30]
mov dword [esi], eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x34]
mov dword [esi + 4], eax
mov eax, dword [edi + 0x90]
mov dword [esi + 8], eax
jmp 0x435f82
dec dword [edi + 0x58]
mov ecx, dword [edi + 0x58]
mov ebx, dword [ebp - 0xd0]
shl ecx, 4
add ecx, dword [edi + 0x60]
mov eax, dword [ecx]
mov dword [ebx + 0x30], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x34], eax
mov eax, dword [ecx + 8]
mov dword [edi + 0x90], eax
jmp 0x435f82
mov ecx, dword [ebp - 0xdc]
call fcn.004321b4
mov ebx, dword [ebp - 0x124]
mov ecx, ebx
call fcn.004321b4
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
cmp dword [edx + 4], ecx
jg case.0x435df5.13
jl 0x43936f
cmp dword [edx], eax
jae case.0x435df5.13
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp case.0x435df5.13
mov ecx, dword [ebp - 0xdc]
xor edx, edx
cmp dword [ecx + 4], edx
jl case.0x435df5.13
jg 0x435e09
cmp dword [ecx], edx
jbe case.0x435df5.13
jmp 0x435e09
mov ecx, dword [ebp - 0xdc]
xor edx, edx
cmp dword [ecx + 4], edx
jg case.0x435df5.13
jl 0x435e09
cmp dword [ecx], edx
jae case.0x435df5.13
jmp 0x435e09
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jmp 0x436caf
imul ecx, dword [ebx + 8], 0x28
xor edx, edx
movzx esi, byte [ebx + 3]
mov eax, dword [edi + 0x24]
mov dword [ebp - 0xec], eax
add ecx, dword [edi + 0x4c]
test esi, esi
jle 0x43940b
push 0x28
mov edi, eax
pop ebx
mov dword [edi + edx*4], ecx
call fcn.00435a4a
inc edx
add ecx, ebx
cmp edx, esi
jl 0x4393f0
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x104]
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x2b0], eax
imul eax, dword [ebx + 0xc], 0x28
push 8
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x280], eax
inc dword [eax + 0x18]
xor eax, eax
inc eax
mov dword [ebp - 0x298], ecx
mov ecx, dword [ebp - 0x2b0]
mov word [ebp - 0x28c], ax
xor eax, eax
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], eax
pop eax
test byte [ecx + 3], al
je 0x439471
mov eax, dword [ebx - 4]
mov dword [ebp - 0x278], eax
push dword [ebp - 0xec]
lea eax, [ebp - 0x2b0]
push esi
push eax
call dword [ecx + 0x10]
add esp, 0xc
cmp dword [ebp - 0x27c], 0
je 0x4394c2
mov dl, 1
lea ecx, [ebp - 0x2a8]
call fcn.00432844
push eax
push 0x5a39c4
push dword [ebp - 0xd0]
lea eax, [edi + 0x80]
push eax
call fcn.004241d7
mov eax, dword [ebp - 0x27c]
add esp, 0x10
mov dword [ebp - 0xcc], eax
lea ecx, [ebp - 0x2a8]
call fcn.0043202b
jmp 0x435f82
imul esi, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0x10]
add esi, dword [edi + 0x4c]
mov ecx, esi
call fcn.00431f84
xor ecx, ecx
mov dword [ebp - 0xcc], eax
inc ecx
cmp eax, ecx
jne 0x439514
mov dl, cl
mov ecx, esi
call fcn.00432844
push eax
push 0x5a39c4
push dword [ebp - 0xd0]
lea eax, [edi + 0x80]
push eax
call fcn.004241d7
add esp, 0x10
movzx edx, byte [ebp - 0x128]
mov ecx, esi
call fcn.00431d2b
mov ecx, esi
jmp 0x436615
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1c], 0
jne 0x439540
push str.cannot_VACUUM_from_within_a_transaction
push eax
jmp 0x43783c
mov ecx, eax
call fcn.00451d0f
jmp 0x43712d
imul ecx, dword [ebx + 4], 0x18
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 8]
mov ecx, dword [ecx + eax + 4]
call fcn.0042ceb6
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
push 4
pop edx
cmp eax, 0x65
jne 0x4366df
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xd4], ebx
xor ebx, ebx
mov dword [ebp - 0xcc], ebx
jmp 0x4366e5
cmp dword [ebx + 4], 0
jne 0x4395ad
mov ecx, dword [ebp - 0xd0]
call fcn.00434a38
mov ebx, dword [ebp - 0xcc]
jmp 0x437a16
mov byte [edi + 0x8a], 1
jmp case.0x435df5.13
mov al, byte [ebx + 0xc]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebx + 8]
mov byte [ebp - 0x1ac], al
imul eax, dword [ebx + 4], 0x18
mov ecx, dword [ecx + 8]
push dword [ebp - 0x1ac]
mov ecx, dword [eax + ecx + 4]
call fcn.00431603
mov dword [ebp - 0xcc], eax
pop ecx
cmp eax, 6
jne 0x435f82
push dword [ebx + 0x10]
lea eax, [edi + 0x80]
push str.database_table_is_locked:__s
push dword [ebp - 0xd0]
push eax
call fcn.004241d7
add esp, 0x10
jmp 0x435f82
mov esi, dword [ebx + 0x10]
mov edx, esi
mov ecx, dword [ebp - 0xd0]
call fcn.00452a14
mov ebx, eax
mov dword [ebp - 0xcc], ebx
test esi, esi
je 0x435f88
push dword [edi + 0x80]
push dword [ebp - 0xd0]
call fcn.00423eac
mov eax, dword [esi + 8]
pop ecx
mov dword [edi + 0x80], eax
and dword [esi + 8], 0
pop ecx
jmp 0x435f88
mov edx, dword [ebx + 4]
lea eax, [edi + 0x80]
mov ecx, dword [ebp - 0xd0]
push eax
push dword [ebx + 0x10]
call fcn.0045276f
pop ecx
pop ecx
jmp 0x43712d
mov ecx, dword [ebp - 0xd0]
push 2
pop eax
mov byte [edi + 0x8c], al
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.0045291b
mov ebx, eax
mov byte [edi + 0x8c], 0
pop ecx
mov dword [ebp - 0xcc], ebx
jmp 0x435f88
mov esi, dword [ebx + 0x10]
lea ecx, [ebp - 0xf4]
and dword [ebp - 0xf4], 0
push ecx
push esi
mov eax, dword [esi]
mov dword [ebp - 0x10c], eax
call dword [eax + 0x18]
push dword [edi + 0x80]
mov dword [ebp - 0xcc], eax
push dword [ebp - 0xd0]
call fcn.00423eac
mov eax, dword [esi + 8]
xor edx, edx
mov dword [edi + 0x80], eax
add esp, 0x10
mov eax, dword [ebp - 0xcc]
mov dword [esi + 8], edx
test eax, eax
jne 0x435f82
mov eax, dword [ebp - 0xf4]
mov ecx, edi
push edx
push 0xffffffffffffffff
mov dword [eax], esi
lea eax, [ebx - 0x14]
mov edx, dword [ebx + 4]
push eax
call fcn.00435a75
add esp, 0xc
test eax, eax
je 0x439734
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 0x58], ecx
mov ecx, dword [ebp - 0xf4]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax + 0x5c], ecx
jmp 0x435f82
mov eax, dword [ebp - 0xd0]
push dword [ebp - 0xf4]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0x10c]
call dword [eax + 0x1c]
jmp 0x436035
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
imul edx, dword [ebx + 0xc], 0x28
and dword [ebp - 0x10c], 0
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x13c], eax
add edx, dword [edi + 0x4c]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0xe4], eax
mov ecx, dword [edx]
mov dword [ebp - 0x130], ecx
mov esi, dword [eax]
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0xfc], ecx
mov eax, dword [esi]
mov dword [ebp - 0x11c], eax
mov eax, dword [edx + 0x28]
mov dword [ebp - 0xec], eax
test eax, eax
jle 0x4397e7
mov edi, dword [ebp - 0x10c]
lea ecx, [edx + 0x50]
mov edx, dword [ebp - 0xfc]
mov ebx, eax
push 0x28
pop esi
mov dword [edx + edi*4], ecx
call fcn.00435a4a
inc edi
add ecx, esi
cmp edi, ebx
jl 0x4397ba
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x104]
mov esi, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xfc]
inc dword [esi + 4]
push ecx
push eax
mov eax, dword [ebp - 0x11c]
mov byte [edi + 0x8c], 1
push dword [ebx + 0x10]
push dword [ebp - 0x130]
push dword [ebp - 0xe4]
call dword [eax + 0x20]
add esp, 0x14
mov dword [ebp - 0xcc], eax
mov byte [edi + 0x8c], 0
push dword [edi + 0x80]
push dword [ebp - 0xd0]
call fcn.00423eac
mov eax, dword [esi + 8]
mov dword [edi + 0x80], eax
and dword [esi + 8], 0
dec dword [esi + 4]
pop ecx
pop ecx
jne 0x439854
mov eax, dword [ebp - 0xd0]
push esi
cmp dword [eax + 0x40], 0xf03b7906
mov eax, dword [esi]
call dword [eax + 0x10]
pop ecx
cmp dword [ebp - 0xcc], 0
jne 0x43987b
mov eax, dword [ebp - 0x11c]
push dword [ebp - 0xe4]
call dword [eax + 0x28]
pop ecx
test eax, eax
je 0x43987b
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x13c]
mov byte [eax + 0x1c], 0
jmp 0x435f82
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 0x1c], 0
jne case.0x435df5.13
mov ecx, dword [ecx + 0x58]
lea edx, [ebp - 0x1e8]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
call dword [eax + 0x30]
push dword [edi + 0x80]
mov dword [ebp - 0xcc], eax
push dword [ebp - 0xd0]
call fcn.00423eac
mov eax, dword [esi + 8]
add esp, 0x10
mov ecx, dword [ebp - 0xd8]
mov edx, 0xbf04
mov dword [edi + 0x80], eax
and dword [esi + 8], 0
push 4
mov ax, word [ecx + 0x1c]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x1e8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ecx + 4], eax
jmp 0x4366d9
mov eax, dword [edi + 0x30]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x10c], ecx
add eax, dword [edi + 0x4c]
cmp byte [ecx + 0x1c], 0
mov dword [ebp - 0xec], eax
jne 0x436be6
mov eax, dword [ecx + 0x58]
push 0x40
push 0
mov edi, dword [eax]
lea eax, [ebp - 0x2f0]
push eax
mov esi, dword [edi]
call fcn.00525ee0
mov edx, dword [ebp - 0xec]
lea ecx, [ebp - 0x2e8]
add esp, 0xc
call fcn.004323f5
mov eax, dword [ebp - 0x2cc]
mov ecx, 0xbf01
push dword [ebx + 8]
and eax, ecx
or eax, 1
mov word [ebp - 0x2cc], ax
lea eax, [ebp - 0x2f0]
push eax
mov eax, dword [ebp - 0x10c]
push dword [eax + 0x58]
call dword [esi + 0x2c]
mov ebx, dword [ebp - 0x104]
add esp, 0xc
mov dword [ebp - 0xcc], eax
push dword [ebx + 0x80]
push dword [ebp - 0xd0]
call fcn.00423eac
mov eax, dword [edi + 8]
movzx edx, byte [ebp - 0x128]
pop ecx
pop ecx
mov dword [ebx + 0x80], eax
lea ecx, [ebp - 0x2e8]
and dword [edi + 8], 0
call fcn.00431d2b
mov ecx, dword [ebp - 0xec]
lea edx, [ebp - 0x2e8]
call fcn.004323f5
mov ecx, dword [ebp - 0xec]
call fcn.0043231e
mov edi, ebx
jmp 0x43661a
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x10c], ecx
cmp byte [ecx + 0x1c], 0
jne case.0x435df5.13
mov eax, dword [ecx + 0x58]
mov esi, dword [eax]
mov eax, dword [esi]
inc dword [esi + 4]
mov byte [edi + 0x8c], 1
push dword [ecx + 0x58]
mov dword [ebp - 0xec], eax
call dword [eax + 0x24]
pop ecx
push dword [edi + 0x80]
mov dword [ebp - 0xcc], eax
push dword [ebp - 0xd0]
mov byte [edi + 0x8c], 0
call fcn.00423eac
mov eax, dword [esi + 8]
mov dword [edi + 0x80], eax
and dword [esi + 8], 0
dec dword [esi + 4]
pop ecx
pop ecx
jne 0x439a67
mov eax, dword [ebp - 0xd0]
push esi
cmp dword [eax + 0x40], 0xf03b7906
mov eax, dword [esi]
call dword [eax + 0x10]
pop ecx
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x437d63
mov eax, dword [ebp - 0x10c]
push dword [eax + 0x58]
mov eax, dword [ebp - 0xec]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x435f82
jmp 0x437d63
mov esi, dword [ebx + 0x10]
imul ebx, dword [ebx + 4], 0x28
add ebx, dword [edi + 0x4c]
test byte [ebx + 0x1c], 0x12
jne 0x439abb
movzx edx, byte [ebp - 0x128]
mov ecx, ebx
call fcn.00431f05
test eax, eax
jne 0x439ca7
inc dword [esi + 4]
push dword [ebx + 0x14]
mov eax, dword [esi]
push esi
call dword [eax + 0x4c]
push dword [edi + 0x80]
mov ebx, dword [ebp - 0xd0]
push ebx
mov dword [ebp - 0xcc], eax
call fcn.00423eac
mov eax, dword [esi + 8]
add esp, 0x10
mov dword [edi + 0x80], eax
and dword [esi + 8], 0
dec dword [esi + 4]
jne 0x435f82
mov eax, dword [esi]
push esi
call dword [eax + 0x10]
jmp 0x436035
mov esi, dword [ebx + 0x10]
xor edx, edx
mov eax, dword [ebx + 8]
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0xec], eax
mov ecx, dword [esi]
mov dword [ebp - 0xe4], ecx
cmp dword [ecx + 0x34], edx
jne 0x439b34
push str.read_only_table
push dword [ebp - 0xd0]
jmp 0x43783c
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0xfc], ecx
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [edi + 0x4c]
test eax, eax
jle 0x439b7e
mov ebx, dword [ebp - 0xec]
mov edi, dword [ebp - 0xfc]
push 0x28
pop esi
call fcn.00435a4a
mov dword [edi + edx*4], ecx
add ecx, esi
inc edx
cmp edx, ebx
jl 0x439b57
mov ebx, dword [ebp - 0x118]
mov esi, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x104]
mov eax, dword [ebp - 0xec]
inc dword [esi + 4]
lea ecx, [ebp - 0x1f0]
push ecx
push dword [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0xe4]
push esi
call dword [eax + 0x34]
push dword [edi + 0x80]
mov dword [ebp - 0xcc], eax
push dword [ebp - 0xd0]
call fcn.00423eac
mov eax, dword [esi + 8]
xor edx, edx
mov dword [edi + 0x80], eax
add esp, 0x18
dec dword [esi + 4]
mov dword [esi + 8], edx
jne 0x439bdc
mov eax, dword [ebp - 0xd0]
push esi
cmp dword [eax + 0x40], 0xf03b7906
mov eax, dword [esi]
call dword [eax + 0x10]
xor edx, edx
pop ecx
cmp dword [ebx + 4], edx
mov ebx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd0]
je 0x439c03
test ebx, ebx
jne 0x439c03
mov eax, dword [ebp - 0x1f0]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x1ec]
mov dword [esi + 0x34], eax
inc dword [edi + 0x90]
jmp 0x435f8e
imul ecx, dword [ebx + 4], 0x18
lea edx, [ebp - 0x184]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 8]
mov eax, dword [ecx + eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call fcn.004299a5
mov esi, dword [ebp - 0xd0]
mov ebx, eax
mov dword [ebp - 0xcc], ebx
push 4
test ebx, ebx
jne 0x436ba5
mov ecx, dword [ebp - 0xd8]
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x184]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x435f8e
cmp dword [ebx + 0x10], 0
je case.0x435df5.13
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x98]
test eax, eax
je 0x435f82
mov ecx, dword [ebp - 0xd0]
push dword [ebx + 0x10]
push dword [ecx + 0x9c]
call eax
jmp 0x43921d
push 9
pop ebx
jmp 0x439ccb
lea ecx, [ebp - 0x238]
call fcn.0043202b
mov esi, dword [ebp - 0xd0]
push str.out_of_memory
lea eax, [edi + 0x80]
mov byte [esi + 0x1e], 1
push esi
push eax
call fcn.004241d7
add esp, 0xc
push 7
pop eax
mov ebx, eax
mov dword [ebp - 0xcc], ebx
mov ecx, edi
mov dword [edi + 0x68], ebx
call fcn.00433d3c
cmp dword [ebp - 0xcc], 0xc0a
jne 0x439cf1
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 1
xor eax, eax
inc eax
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0x188]
call fcn.0042b1c5
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xe0]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00525878
mov esp, ebp
pop ebp
ret
push 0x14
pop ebx
jmp 0x439dae
mov eax, dword [ebp - 0xd4]
mov dword [edi + 0x64], eax
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1c], bl
mov dword [ebp - 0xe0], ecx
mov dword [edi + 0x68], ecx
jmp 0x439cfa
test esi, esi
je 0x439d66
mov ecx, ebx
call fcn.00459206
mov byte [ebx + 0x1c], 1
mov ecx, ebx
call fcn.00458f81
cmp dword [edi + 0x68], 0
push 1
pop eax
push 0x65
pop ecx
cmove eax, ecx
jmp 0x439cf4
mov byte [ebx + 0x1c], cl
mov ecx, edi
call fcn.00433d3c
push 5
pop ecx
cmp eax, ecx
jne 0x439d50
mov eax, dword [ebp - 0xd4]
mov dword [edi + 0x64], eax
xor eax, eax
inc eax
sub al, byte [ebp - 0x10c]
mov byte [ebx + 0x1c], al
mov eax, ecx
mov dword [edi + 0x68], ecx
jmp 0x439cf4
mov eax, dword [ebp - 0xd4]
mov dword [edi + 0x64], eax
jmp 0x439d36
mov ecx, esi
call fcn.004346e2
mov ebx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xd0]
push 7
pop eax
cmp byte [edx + 0x1e], 0
cmovne ebx, eax
mov dword [ebp - 0xcc], ebx
cmp ebx, 0xc0a
je 0x439cd1
movzx ecx, bl
cmp ecx, 0x65
jg 0x439dea
call fcn.004592a7
jmp 0x439def
mov edi, dword [ebp - 0x104]
push 0xd
pop ebx
jmp 0x439dae
mov eax, str.unknown_error
push eax
push 0x5a39c4
push edx
lea eax, [edi + 0x80]
push eax
call fcn.004241d7
add esp, 0x10
jmp 0x439cd1
mov edi, dword [ebp - 0x104]
jmp 0x436622
mov eax, ebx
jmp 0x436628
mov eax, dword [ebx + 4]
mov dword [edi + 0x68], eax
mov eax, dword [ebp - 0xd4]
mov dword [edi + 0x64], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0x70], eax
cmp dword [ebx + 0x10], 0
je 0x439e54
push dword [ebx + 0x10]
lea eax, [edi + 0x80]
push 0x5a39c4
push dword [ebp - 0xd0]
push eax
call fcn.004241d7
add esp, 0x10
mov ecx, edi
call fcn.00433d3c
push 5
pop ecx
cmp eax, ecx
je 0x439d36
cmp dword [edi + 0x68], 0
push 1
pop eax
push 0x65
pop ecx
cmovne ecx, eax
mov eax, ecx
jmp 0x439cf4
mov eax, dword [edi + 0x54]
push 2
pop ecx
add eax, ecx
or eax, 1
mov dword [edi + 0x54], eax
imul esi, dword [ebx + 4], 0x28
add esi, dword [edi + 0x4c]
mov dword [edi + 0x84], esi
cmp dword [ebx + 8], 0
jle 0x439ec6
push 0x28
pop edi
mov ecx, esi
call fcn.00431ebb
mov ecx, esi
call fcn.00435a4a
mov eax, dword [ebp - 0x178]
add esi, edi
inc eax
mov dword [ebp - 0x178], eax
cmp eax, dword [ebx + 8]
jl 0x439e9e
mov edi, dword [ebp - 0x104]
mov esi, dword [ebp - 0xd0]
cmp byte [esi + 0x1e], 0
jne 0x439cad
mov eax, dword [ebp - 0xd4]
inc dword [edi + 0x50]
inc eax
mov dword [edi + 0x64], eax
mov dword [ebp - 0xe0], 0x64
jmp 0x439cfa
push 9
pop esi
mov ecx, esi
mov dword [ebp - 0xcc], esi
mov dword [edi + 0x68], esi
call fcn.004592a7
push eax
push 0x5a39c4
push dword [ebp - 0xd0]
lea eax, [edi + 0x80]
push eax
call fcn.004241d7
add esp, 0x10
mov ebx, esi
jmp 0x439cd1