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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x54], edi
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 8], ebx
mov eax, dword [edi]
mov dword [ebp - 4], eax
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0xa4], ebx
mov eax, dword [eax + 8]
mov dword [ebp - 0xa0], ebx
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x59]
mov byte [ebp - 0x4c], al
lea eax, [edi + 0xb4]
mov ecx, eax
mov dword [ebp - 0x80], eax
call fcn.00421129
cmp dword [edi + 0x78], 7
je 0x42ee59
mov esi, dword [ebp - 4]
mov dword [edi + 0x78], ebx
mov dword [edi + 0x94], ebx
mov dword [esi + 0x15c], ebx
cmp dword [esi + 0xd8], ebx
jne 0x42f08c
mov eax, dword [ebp - 0x80]
xorps xmm0, xmm0
mov edx, dword [edi + 0x74]
mov esi, dword [ebp - 0x80]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x24], edx
movsd qword [ebp - 0x130], xmm0
mov dword [ebp - 0x20], esi
mov dword [ebp - 0xb4], eax
cmp byte [ecx + 0x1e], 0
jne 0x42ee5c
mov eax, dword [ebp - 4]
imul ebx, edx, 0x14
mov ecx, dword [eax + 0x100]
add ebx, dword [edi + 0x14]
mov dword [ebp - 0x44], ebx
test ecx, ecx
je 0x42bbea
mov edx, dword [ebp - 0xa0]
cmp dword [eax + 0x108], edx
jne 0x42bbdd
push dword [eax + 0x104]
call ecx
pop ecx
test eax, eax
jne 0x42ee4a
jmp 0x42bbe3
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
mov dl, byte [ebx]
movzx eax, dl
push 2
pop ecx
mov byte [ebp - 0xd], dl
mov al, byte [eax + 0x632148]
test cl, al
je 0x42bc1e
imul esi, dword [ebx + 8], 0x28
add esi, dword [edi + 0x4c]
mov ecx, esi
mov dword [ebp - 0x20], esi
call fcn.00427e45
xor ecx, ecx
inc ecx
mov word [esi + 0x1c], cx
mov dl, byte [ebx]
mov byte [ebp - 0xd], dl
jmp 0x42bc82
mov cl, al
and cl, 8
test al, 4
je 0x42bc5b
imul esi, dword [ebx + 4], 0x28
add esi, dword [edi + 0x4c]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x20]
test cl, cl
je 0x42bc52
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [edi + 0x4c]
mov dword [ebp - 0x50], ecx
test al, 0x20
je 0x42bc7c
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [edi + 0x4c]
mov dword [ebp - 0x20], esi
jmp 0x42bc7c
push 0x10
pop ecx
test cl, al
je 0x42bc7c
jmp 0x42bc72
test cl, cl
je 0x42bc6b
imul eax, dword [ebx + 8], 0x28
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x50], eax
jmp 0x42bc7c
push 0x10
pop ecx
test cl, al
je 0x42bc7f
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x64], eax
mov byte [ebp - 0xd], dl
xor ecx, ecx
inc ecx
movzx eax, dl
mov dword [ebp - 0x28], eax
dec eax
cmp eax, 0x8d
ja case.0x42bc90.12
jmp dword [eax*4 + 0x42f0ad]
mov eax, dword [ebp - 4]
cmp dword [eax + 0xd8], 0
jne 0x42f08c
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 8]
jmp 0x42bebc
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [edi + 0x4c]
mov dword [ebp - 0x18], ecx
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x24]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x42bca7
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
jmp 0x42bcab
imul ebx, dword [ebx + 4], 0x28
push 4
pop eax
add ebx, dword [edi + 0x4c]
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebx]
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x24]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebp - 0x24], ecx
jmp case.0x42bc90.12
push 4
pop eax
mov word [esi + 0x1c], ax
mov eax, dword [ebx + 4]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x42bc90.12
push 4
pop eax
mov word [esi + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi], ecx
mov dword [esi + 4], eax
jmp case.0x42bc90.12
push 8
pop eax
mov word [esi + 0x1c], ax
mov eax, dword [ebx + 0x10]
movsd xmm0, qword [eax]
movsd qword [esi + 8], xmm0
jmp case.0x42bc90.12
push dword [ebx + 0x10]
mov byte [ebx], 0x1c
call fcn.00457a20
pop ecx
xor ecx, ecx
mov dword [ebx + 4], eax
inc ecx
cmp byte [ebp - 0x4c], cl
je 0x42bdd7
mov edx, dword [ebx + 0x10]
push 0
push ecx
push 0xffffffffffffffff
mov ecx, esi
call fcn.004281d9
movzx edx, byte [ebp - 0x4c]
add esp, 0xc
mov ecx, esi
call fcn.00427b9d
test eax, eax
jne 0x42ee59
mov ecx, esi
call fcn.00427c7f
test eax, eax
jne 0x42ee59
and dword [esi + 0x24], eax
mov ecx, 0xffbf
mov ax, word [esi + 0x1c]
and ax, cx
mov ecx, 0x80
or ax, cx
mov word [esi + 0x1c], ax
cmp byte [ebx + 1], 0xff
jne 0x42bdb7
push dword [ebx + 0x10]
push dword [ebp - 4]
call fcn.0041a0e3
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
mov byte [ebx + 1], 0xff
mov eax, dword [esi + 0x14]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0x18]
mov dword [ebx + 4], eax
cmp eax, dword [ecx + 0x50]
jg 0x42bddf
mov eax, dword [ebp - 8]
jmp 0x42bebf
mov ecx, dword [ebp - 4]
cmp eax, dword [ecx + 0x50]
jle 0x42be00
push str.string_or_blob_too_big
push dword [ebp - 4]
lea eax, [edi + 0x90]
push eax
call fcn.0041a3f7
add esp, 0xc
push 0x12
jmp 0x42ee77
mov ecx, dword [ebp - 4]
mov eax, 0xa2
mov word [esi + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [esi + 0x18], eax
mov al, byte [ebp - 0x4c]
mov byte [esi + 0x1f], al
jmp 0x42bdcf
mov edx, dword [ebx + 0x10]
xor eax, eax
push eax
push eax
push dword [ebx + 4]
mov ecx, esi
call fcn.004281d9
add esp, 0xc
mov al, byte [ebp - 0x4c]
mov byte [esi + 0x1f], al
jmp case.0x42bc90.12
imul ebx, dword [ebx + 4], 0x28
add ebx, dword [edi + 0x38]
lea ecx, [ebx - 0x28]
call fcn.00428100
test eax, eax
jne 0x42bddf
mov eax, 0x80
lea edx, [ebx - 0x28]
push eax
mov ecx, esi
call fcn.00428123
pop ecx
jmp case.0x42bc90.12
imul edx, dword [ebx + 4], 0x28
imul esi, dword [ebx + 8], 0x28
mov eax, dword [ebx + 0xc]
add edx, dword [edi + 0x4c]
add esi, dword [edi + 0x4c]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], esi
test eax, eax
je case.0x42bc90.12
xor ebx, ebx
mov edi, esi
mov esi, dword [edi + 0x24]
dec eax
mov ecx, edi
mov dword [ebp - 0xc], eax
mov dword [edi + 0x24], ebx
call fcn.004281b0
mov edx, dword [ebp - 0x18]
push 0x28
pop eax
add edi, eax
mov dword [edx + 0x24], esi
add edx, eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], edx
test eax, eax
jne 0x42be88
mov dword [ebp - 0x20], edi
mov edi, dword [ebp - 0x54]
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
inc edx
mov dword [ebp - 0x24], edx
test eax, eax
je 0x42bb9c
jmp 0x42ee7b
imul eax, dword [ebx + 4], 0x28
imul esi, dword [ebx + 8], 0x28
mov ebx, 0x100
push ebx
add eax, dword [edi + 0x4c]
add esi, dword [edi + 0x4c]
mov edx, eax
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], esi
call fcn.00428123
pop ecx
test word [esi + 0x1c], bx
je case.0x42bc90.12
mov ecx, esi
call fcn.00427c7f
mov ecx, dword [ebp - 4]
test eax, eax
jne 0x42ee5c
jmp 0x42bdcf
imul eax, dword [ebx + 4], 0x28
mov ecx, 0x100
imul esi, dword [ebx + 8], 0x28
push ecx
add eax, dword [edi + 0x4c]
add esi, dword [edi + 0x4c]
mov edx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], esi
jmp 0x42be58
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
movzx ecx, word [ebx + 0x1c]
mov al, byte [eax + 0x1c]
or al, cl
test al, 1
je 0x42bf58
mov ecx, esi
call fcn.00428061
jmp case.0x42bc90.12
bt ecx, 0xb
mov eax, ecx
jae 0x42bf6b
mov ecx, ebx
call fcn.00427cde
movzx eax, word [ebx + 0x1c]
test al, 0x12
jne 0x42bf82
movzx edx, byte [ebp - 0x4c]
mov ecx, ebx
call fcn.00427d6f
test eax, eax
jne 0x42ee59
mov edx, dword [ebp - 0x50]
movzx eax, word [edx + 0x1c]
mov ecx, eax
test eax, 0x800
je 0x42bfa2
mov ecx, edx
call fcn.00427cde
mov eax, dword [ebp - 0x50]
movzx ecx, word [eax + 0x1c]
jmp 0x42bfa5
mov eax, dword [ebp - 0x50]
test cl, 0x12
jne 0x42bfbd
movzx edx, byte [ebp - 0x4c]
mov ecx, eax
call fcn.00427d6f
test eax, eax
jne 0x42ee59
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 4]
mov ebx, dword [ebx + 0x18]
add ebx, dword [edx + 0x18]
cmp ebx, dword [eax + 0x50]
jg 0x42bddf
mov ax, word [esi + 0x1c]
mov ecx, 0xffe2
and ax, cx
push 2
pop ecx
or ax, cx
mov ecx, esi
mov word [esi + 0x1c], ax
xor eax, eax
cmp esi, edx
lea edx, [ebx + 2]
sete al
push eax
call fcn.00427bb2
pop ecx
test eax, eax
jne 0x42ee59
mov eax, dword [ebp - 0x50]
cmp esi, eax
je 0x42c01b
push dword [eax + 0x18]
push dword [eax + 0x14]
push dword [esi + 0x14]
call fcn.0044fb10
add esp, 0xc
mov eax, dword [ebp - 0x18]
push dword [eax + 0x18]
push dword [eax + 0x14]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x18]
add eax, dword [esi + 0x14]
push eax
call fcn.0044fb10
mov eax, dword [esi + 0x14]
xor edx, edx
add esp, 0xc
mov byte [ebx + eax], dl
mov eax, dword [esi + 0x14]
push 0x20
mov byte [ebx + eax + 1], dl
pop eax
or word [esi + 0x1c], ax
mov dword [esi + 0x18], ebx
jmp 0x42be31
mov ecx, dword [ebp - 0x18]
call fcn.0042b9d5
mov ecx, dword [ebp - 0x50]
call fcn.0042b9d5
mov eax, dword [ebp - 0x50]
movzx edx, word [eax + 0x1c]
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x1c]
mov eax, ecx
mov dword [ebp - 0x14], eax
mov eax, edx
or dword [ebp - 0x14], eax
test byte [ebp - 0x14], 1
jne 0x42bf4c
push 4
and cl, dl
pop eax
test al, cl
je 0x42c163
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x50]
movzx ebx, byte [ebx]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov dword [ebp - 0x48], edi
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x14], eax
sub ebx, 0x4e
je 0x42c13c
sub ebx, 1
je 0x42c133
sub ebx, 1
je 0x42c124
mov eax, ecx
sub ebx, 1
je 0x42c0ef
or eax, edx
je 0x42bf4c
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x42c0df
xor ecx, ecx
inc ecx
xor edx, edx
mov ebx, dword [ebp - 0x14]
push edx
push ecx
push dword [ebp - 0x48]
push ebx
call fcn.00463d00
jmp 0x42c12f
or eax, edx
je 0x42bf4c
mov ebx, dword [ebp - 0x14]
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x42c117
xor eax, eax
cmp ebx, eax
jne 0x42c117
cmp dword [ebp - 0x48], 0x80000000
jne 0x42c117
xor ecx, ecx
mov edx, eax
inc ecx
push edx
push ecx
push dword [ebp - 0x48]
push ebx
call fcn.00463c50
jmp 0x42c12f
push edx
push ecx
push dword [ebp - 0x48]
push eax
call fcn.00463c10
mov ecx, edx
jmp 0x42c143
sub eax, ecx
mov ecx, dword [ebp - 0x48]
sbb ecx, edx
jmp 0x42c143
add eax, ecx
mov ecx, dword [ebp - 0x48]
adc ecx, edx
mov dword [esi + 4], ecx
mov dword [esi], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xffe4
push 4
and ax, cx
pop ecx
or ax, cx
mov word [esi + 0x1c], ax
jmp case.0x42bc90.12
mov ecx, dword [ebp - 0x18]
call fcn.00427f2b
mov ecx, dword [ebp - 0x50]
movsd qword [ebp - 0x40], xmm0
call fcn.00427f2b
movzx eax, byte [ebx]
movaps xmm1, xmm0
movsd qword [ebp - 0x30], xmm1
sub eax, 0x4e
je 0x42c20f
sub eax, 1
je 0x42c208
sub eax, 1
je 0x42c201
movsd xmm0, qword [ebp - 0x40]
sub eax, 1
je 0x42c1e9
call fcn.004641f0
movsd xmm0, qword [ebp - 0x30]
mov ebx, eax
mov dword [ebp - 0xc], edx
call fcn.004641f0
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x2c], eax
mov eax, ebx
or eax, ecx
je 0x42bf4c
mov eax, ebx
and eax, ecx
cmp eax, 0xffffffff
jne 0x42c1d2
xor ebx, ebx
inc ebx
xor ecx, ecx
push ecx
push ebx
push edx
push dword [ebp - 0x2c]
call fcn.00463d00
mov ecx, eax
call fcn.00464300
movaps xmm1, xmm0
jmp 0x42c214
ucomisd xmm0, qword [ebp - 0x130]
lahf
test ah, 0x44
jnp 0x42bf4c
divsd xmm1, xmm0
jmp 0x42c214
mulsd xmm1, qword [ebp - 0x40]
jmp 0x42c214
subsd xmm1, qword [ebp - 0x40]
jmp 0x42c214
addsd xmm1, qword [ebp - 0x40]
movaps xmm0, xmm1
call fcn.0041bcfe
test eax, eax
jne 0x42bf4c
mov ax, word [esi + 0x1c]
mov ecx, 0xffe8
and ax, cx
movsd qword [esi + 8], xmm1
push 8
pop ecx
or ax, cx
mov word [esi + 0x1c], ax
test byte [ebp - 0x14], cl
jne case.0x42bc90.12
mov ecx, esi
call fcn.00427f9d
jmp case.0x42bc90.12
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [edi + 0x24]
movzx eax, byte [ebx + 3]
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
mov dword [ebp - 0x28], eax
mov esi, ecx
add edx, dword [edi + 0x4c]
test eax, eax
je 0x42c291
mov edi, dword [ebp - 0x2c]
mov ebx, eax
mov ecx, edx
mov dword [edi + esi*4], edx
call fcn.0042b8d5
push 0x28
pop eax
inc esi
add edx, eax
cmp esi, ebx
jl 0x42c275
mov ebx, dword [ebp - 0x44]
xor ecx, ecx
mov edi, dword [ebp - 0x54]
cmp byte [ebx + 1], 0xfb
mov edx, dword [edi + 0x4c]
mov eax, dword [ebx + 0x10]
jne 0x42c2a5
mov dword [ebp - 0x1b4], ecx
jmp 0x42c2ad
mov dword [ebp - 0x1b4], eax
mov eax, dword [eax]
imul esi, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x1b8], eax
xor eax, eax
inc eax
mov dword [ebp - 0x190], ecx
mov word [ebp - 0x194], ax
mov eax, dword [ebp - 4]
add esi, edx
mov dword [ebp - 0x18c], ecx
mov edx, esi
mov dword [ebp - 0x20], esi
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x1a0], eax
call fcn.004281b0
mov eax, dword [ebp - 0x194]
mov ecx, 0xffe1
and dword [ebp - 0x184], 0
and eax, ecx
mov ecx, dword [ebp - 0x1b8]
or eax, 1
mov word [ebp - 0x194], ax
cmp byte [ecx + 3], 0
je 0x42c31b
mov eax, dword [ebx - 4]
mov dword [ebp - 0x180], eax
push dword [ebp - 0x2c]
lea eax, [ebp - 0x1b8]
push dword [ebp - 0x28]
push eax
call dword [ecx + 0x10]
mov eax, dword [ebp - 4]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x42ee4e
mov ecx, dword [ebp - 0x1b4]
test ecx, ecx
je 0x42c35a
mov edx, dword [ebx + 4]
call fcn.00429e47
mov eax, dword [ebp - 0x1b4]
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
cmp dword [ebp - 0x184], 0
je 0x42c391
lea eax, [ebp - 0x1b0]
push eax
call fcn.0042aa4b
pop ecx
push eax
push 0x632a68
push dword [ebp - 4]
lea eax, [edi + 0x90]
push eax
call fcn.0041a3f7
mov eax, dword [ebp - 0x184]
add esp, 0x10
mov dword [ebp - 8], eax
movzx edx, byte [ebp - 0x4c]
lea ecx, [ebp - 0x1b0]
call fcn.00427b9d
lea edx, [ebp - 0x1b0]
mov ecx, esi
call fcn.004281b0
mov ecx, esi
call fcn.00428100
test eax, eax
jne 0x42bddf
jmp case.0x42bc90.12
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x18]
mov al, byte [edx + 0x1c]
or al, byte [ecx + 0x1c]
test al, 1
jne 0x42bf4c
mov ecx, edx
call fcn.00427ec3
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x58], edx
call fcn.00427ec3
mov ecx, eax
movzx eax, byte [ebx]
sub eax, 0x4a
je 0x42c427
sub eax, 1
je 0x42c418
mov edx, dword [ebp - 0x58]
sub eax, 1
mov eax, dword [ebp - 0x14]
je 0x42c40e
call fcn.00464020
jmp 0x42c12f
call fcn.00463ec0
jmp 0x42c12f
mov eax, dword [ebp - 0x14]
or eax, ecx
mov ecx, dword [ebp - 0x58]
or ecx, edx
jmp 0x42c143
mov eax, dword [ebp - 0x14]
and eax, ecx
mov ecx, dword [ebp - 0x58]
and ecx, edx
jmp 0x42c143
mov ecx, dword [ebp - 0x18]
call fcn.00427fe2
mov eax, dword [ebx + 8]
mov ebx, dword [ebp - 0x18]
cdq
add dword [ebx], eax
adc dword [ebx + 4], edx
jmp case.0x42bc90.12
push dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x18]
mov dl, 0x63
call fcn.0042ba4e
mov edx, dword [ebp - 0x18]
pop ecx
movzx eax, word [edx + 0x1c]
mov dword [ebp - 0xc], eax
test al, 0xc
je 0x42bca7
push 4
pop ecx
test cl, al
je 0x42c49c
xor edx, edx
cmp dword [ebx + 0xc], edx
je 0x42c484
xor eax, eax
mov ecx, edx
inc eax
jmp 0x42c492
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x18]
add eax, dword [ebx]
adc ecx, dword [ebx + 4]
jmp 0x42c50a
movsd xmm0, qword [edx + 8]
call fcn.004641f0
mov ecx, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], edx
call fcn.00464300
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x48]
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
mov eax, dword [ebp - 0x1c]
jbe 0x42c4d7
add eax, 1
push 0
pop edx
adc ecx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], ecx
jmp 0x42c4d9
xor edx, edx
cmp dword [ebx + 0xc], edx
je 0x42c507
mov edx, ecx
mov ecx, eax
call fcn.00464300
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x48]
movsd xmm1, qword [ebx + 8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
mov eax, dword [ebp - 0x1c]
jp 0x42c50a
add eax, 1
adc ecx, 0
jmp 0x42c50a
mov ebx, dword [ebp - 0x18]
mov dword [ebx], eax
mov eax, dword [ebp - 0xc]
mov dword [ebx + 4], ecx
mov ecx, 0xffe4
push 4
and eax, ecx
pop ecx
or eax, ecx
mov word [ebx + 0x1c], ax
jmp case.0x42bc90.12
push dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x18]
mov dl, 0x63
call fcn.0042ba4e
mov edx, dword [ebp - 0x18]
pop ecx
push 4
pop ecx
movzx eax, word [edx + 0x1c]
test cl, al
jne 0x42c555
mov eax, dword [ebx + 8]
test eax, eax
jne 0x42bcaa
push 0x14
jmp 0x42d356
mov ebx, 0xffe4
and eax, ebx
or eax, ecx
mov word [edx + 0x1c], ax
jmp case.0x42bc90.12
mov ebx, dword [ebp - 0x18]
push 4
pop eax
test byte [ebx + 0x1c], al
je case.0x42bc90.12
mov ecx, ebx
call fcn.00427ffd
jmp case.0x42bc90.12
mov ebx, dword [ebp - 0x18]
movzx ecx, word [ebx + 0x1c]
test cl, 1
jne case.0x42bc90.12
push dword [ebp - 0x4c]
mov eax, ecx
mov dl, 0x61
shr eax, 3
and eax, 2
or eax, ecx
mov ecx, ebx
mov word [ebx + 0x1c], ax
call fcn.0042ba4e
movzx eax, word [ebx + 0x1c]
bt eax, 0xb
pop ecx
jae 0x42c5c7
mov ecx, ebx
call fcn.00427cde
movzx ecx, word [ebx + 0x1c]
mov dword [ebp - 8], eax
jmp 0x42c5cd
and dword [ebp - 8], 0
mov ecx, eax
and ecx, 0xffe3
mov word [ebx + 0x1c], cx
jmp case.0x42bc90.12
mov ebx, dword [ebp - 0x18]
movzx ecx, word [ebx + 0x1c]
test cl, 1
jne case.0x42bc90.12
mov eax, ecx
test cl, 0x10
jne 0x42c604
push dword [ebp - 0x4c]
mov dl, 0x61
mov ecx, ebx
call fcn.0042ba4e
movzx eax, word [ebx + 0x1c]
pop ecx
mov ecx, 0xfff0
push 0x10
jmp 0x42c519
mov ebx, dword [ebp - 0x18]
test byte [ebx + 0x1c], 0xd
jne case.0x42bc90.12
mov ecx, ebx
call fcn.00428018
jmp case.0x42bc90.12
mov ebx, dword [ebp - 0x18]
test byte [ebx + 0x1c], cl
jne case.0x42bc90.12
mov ecx, ebx
call fcn.00427fe2
jmp case.0x42bc90.12
mov ebx, dword [ebp - 0x18]
test byte [ebx + 0x1c], cl
jne case.0x42bc90.12
jmp 0x42c576
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x64]
movzx ecx, word [edx + 0x1c]
mov al, byte [eax + 0x1c]
or al, cl
test al, 1
mov al, byte [ebx + 3]
je 0x42c6a4
push 0x10
pop ecx
test cl, al
je 0x42c68d
imul esi, dword [ebx + 8], 0x28
mov ecx, 0xffe1
add esi, dword [edi + 0x4c]
mov dword [ebp - 0x20], esi
mov ax, word [esi + 0x1c]
and ax, cx
xor ecx, ecx
inc ecx
jmp 0x42c157
test al, 8
mov ecx, dword [ebp - 4]
je 0x42bdcf
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x24], eax
jmp 0x42bdcf
and al, 0x67
mov byte [ebp - 0xd], al
je 0x42c6cf
push dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x18]
mov dl, al
call fcn.0042ba4e
mov dl, byte [ebp - 0xd]
pop ecx
push dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x64]
call fcn.0042ba4e
mov edx, dword [ebp - 0x18]
pop ecx
movzx ecx, word [edx + 0x1c]
bt ecx, 0xb
jae 0x42c6dc
mov ecx, edx
call fcn.00427cde
mov eax, dword [ebp - 0x64]
mov ecx, 0x800
test word [eax + 0x1c], cx
je 0x42c6f4
mov ecx, eax
call fcn.00427cde
mov eax, dword [ebp - 0x64]
push dword [ebx + 0x10]
mov edx, dword [ebp - 0x18]
mov ecx, eax
call fcn.0042831e
pop ecx
movzx ecx, byte [ebx]
sub ecx, 0x43
je 0x42c74b
sub ecx, 1
je 0x42c742
sub ecx, 1
je 0x42c739
sub ecx, 1
je 0x42c730
sub ecx, 1
je 0x42c727
xor ecx, ecx
test eax, eax
setns cl
jmp 0x42c752
xor ecx, ecx
test eax, eax
sets cl
jmp 0x42c752
xor ecx, ecx
test eax, eax
setle cl
jmp 0x42c752
xor ecx, ecx
test eax, eax
setg cl
jmp 0x42c752
xor ecx, ecx
test eax, eax
sete cl
jmp 0x42c752
xor ecx, ecx
test eax, eax
setne cl
push 0x10
pop eax
test byte [ebx + 3], al
je 0x42d868
imul esi, dword [ebx + 8], 0x28
mov edx, 0xffe4
push 4
add esi, dword [edi + 0x4c]
mov dword [ebp - 0x20], esi
mov ax, word [esi + 0x1c]
and ax, dx
mov dword [esi], ecx
pop edx
or ax, dx
and dword [esi + 4], 0
mov word [esi + 0x1c], ax
jmp case.0x42bc90.12
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0xa4], ebx
jmp case.0x42bc90.12
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x5c], edx
mov edx, dword [ebx + 8]
mov dword [ebp - 0x28], edx
xor edx, edx
mov dword [ebp - 0x14], eax
mov ebx, edx
mov dword [ebp - 0xc], ecx
test eax, eax
jle 0x42c825
lea edx, [ecx + 0x10]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x42c7cc
mov ecx, dword [eax + ebx*4]
jmp 0x42c7ce
mov ecx, ebx
mov eax, dword [ebp - 0xc]
push dword [edx]
mov eax, dword [eax + 0xc]
mov al, byte [ebx + eax]
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 0x28]
add eax, ecx
imul edx, eax, 0x28
mov eax, dword [ebp - 0x5c]
add eax, ecx
imul ecx, eax, 0x28
add edx, dword [edi + 0x4c]
add ecx, dword [edi + 0x4c]
call fcn.0042831e
mov dword [ebp - 0x9c], eax
pop ecx
test eax, eax
jne 0x42c815
mov edx, dword [ebp - 0x2c]
inc ebx
push 4
pop eax
add edx, eax
mov dword [ebp - 0x2c], edx
cmp ebx, dword [ebp - 0x14]
jl 0x42c7bd
jmp 0x42c823
cmp byte [ebp - 0xd], 0
je 0x42c823
neg eax
mov dword [ebp - 0x9c], eax
xor edx, edx
mov dword [ebp - 0xa4], edx
jmp case.0x42bc90.12
mov eax, dword [ebp - 0x9c]
test eax, eax
jns 0x42c842
mov eax, dword [ebx + 4]
jmp 0x42bcaa
je 0x42bca7
mov eax, dword [ebx + 0xc]
jmp 0x42bcaa
mov eax, dword [ebp - 0x18]
test byte [eax + 0x1c], cl
je 0x42c861
mov dword [ebp - 0x14], 6
jmp 0x42c87c
mov ecx, eax
call fcn.00427ec3
or eax, edx
je 0x42c875
mov dword [ebp - 0x14], 3
jmp 0x42c879
and dword [ebp - 0x14], 0
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x50]
test byte [eax + 0x1c], cl
je 0x42c890
mov ecx, 0x631656
mov eax, 0x62f88a
jmp 0x42c8b1
mov ecx, eax
call fcn.00427ec3
or eax, edx
je 0x42c8a7
mov ecx, 0x631655
mov eax, 0x62f889
jmp 0x42c8b1
mov ecx, 0x631654
mov eax, 0x62f888
cmp byte [ebx], 0x3d
cmovne eax, ecx
mov ecx, dword [ebp - 0x14]
mov al, byte [eax + ecx]
movzx ecx, word [esi + 0x1c]
cmp al, 2
jne 0x42c8d1
mov eax, 0xffe1
and ecx, eax
or ecx, 1
jmp 0x42c8e6
movzx eax, al
cdq
mov dword [esi], eax
mov eax, 0xffe4
and ecx, eax
mov dword [esi + 4], edx
push 4
pop eax
or ecx, eax
mov word [esi + 0x1c], cx
jmp case.0x42bc90.12
mov ebx, dword [ebp - 0x18]
test byte [ebx + 0x1c], cl
jne case.0x42bc90.12
mov ecx, ebx
call fcn.00427fe2
mov eax, dword [ebx]
or eax, dword [ebx + 4]
jne 0x42c90e
inc eax
xor ecx, ecx
jmp 0x42c91c
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp case.0x42bc90.12
mov ebx, dword [ebp - 0x18]
test byte [ebx + 0x1c], cl
jne case.0x42bc90.12
mov ecx, ebx
call fcn.00427fe2
not dword [ebx]
not dword [ebx + 4]
jmp case.0x42bc90.12
mov edx, dword [ebp - 0x18]
test byte [edx + 0x1c], cl
je 0x42c950
mov eax, dword [ebx + 0xc]
jmp 0x42c976
mov ecx, edx
call fcn.00427f2b
ucomisd xmm0, qword [ebp - 0x130]
lahf
xor ecx, ecx
test ah, 0x44
jnp 0x42c96c
inc ecx
mov eax, ecx
jmp 0x42c96f
xor eax, eax
inc ecx
cmp byte [ebx], 0x55
jne 0x42c976
xor eax, ecx
test eax, eax
jmp 0x42c68f
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x18]
test byte [edx + 0x1c], cl
jne 0x42bca7
add edx, 0x28
dec eax
mov dword [ebp - 0x18], edx
test eax, eax
jg 0x42c983
jmp case.0x42bc90.12
mov eax, dword [ebp - 0x18]
test byte [eax + 0x1c], cl
mov ecx, dword [ebp - 4]
jne 0x42bdcf
jmp 0x42c698
mov eax, dword [ebx + 8]
xor edx, edx
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov word [ebp - 0x15c], ax
imul eax, dword [ebx + 0xc], 0x28
mov ebx, 0xffe1
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x154], edx
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x14], eax
mov ax, word [eax + 0x1c]
and ax, bx
xor ebx, ebx
inc ebx
or ax, bx
mov ebx, dword [ebp - 0x14]
mov word [ebx + 0x1c], ax
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x68], ecx
cmp dword [ecx], edx
je 0x42ca6b
call fcn.00429f67
mov dword [ebp - 8], eax
test eax, eax
jne 0x42d357
mov ecx, dword [ebp - 0x68]
xor edx, edx
mov dword [ebp - 0x34], edx
mov ebx, dword [ecx]
mov dword [ebp - 0x48], ebx
cmp byte [ecx + 0x1c], dl
je 0x42ca27
mov dword [ebp - 0x6c], edx
jmp 0x42ca83
mov eax, dword [ecx + 0x68]
cmp eax, dword [edi + 0x54]
jne 0x42ca3a
mov edx, dword [ecx + 0x6c]
mov eax, dword [ecx + 0x78]
mov dword [ebp - 0x6c], edx
jmp 0x42ca7d
cmp byte [ecx + 0x22], dl
mov ecx, dword [ebp - 0x48]
je 0x42ca5b
lea edx, [ebp - 0x210]
call fcn.00423284
mov edx, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x6c], edx
jmp 0x42ca80
lea edx, [ebp - 0x6c]
call fcn.004232c7
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
jmp 0x42ca80
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x6c], eax
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x68], edx
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 8]
mov ebx, dword [ecx + 0x50]
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x44]
test edx, edx
je 0x42bebc
mov eax, dword [ebp - 4]
cmp edx, dword [eax + 0x50]
ja 0x42bddf
mov eax, dword [ecx + 0x70]
mov dword [ebp - 0x58], eax
mov eax, dword [ecx + 0x68]
cmp eax, dword [edi + 0x54]
jne 0x42cab9
mov eax, dword [ecx + 0x74]
mov dword [ebp - 0x1c], eax
jmp 0x42cc5d
mov ebx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
mov dword [ecx + 0x6c], edx
mov edx, dword [ebp - 0x34]
lea eax, [eax + ebx*4]
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
mov dword [ecx + 0x74], eax
mov eax, dword [edi + 0x54]
mov dword [ecx + 0x68], eax
test edx, edx
je 0x42cae2
mov ecx, edx
mov dword [ebp - 8], ecx
jmp 0x42cb27
cmp byte [ecx + 0x22], 0
lea edx, [ebp - 0x8c]
mov ecx, dword [ebp - 0x48]
je 0x42cafd
call fcn.00423762
mov ecx, eax
mov dword [ebp - 8], ecx
jmp 0x42cb07
call fcn.00423774
mov ecx, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x6c]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x68]
jb 0x42cb23
mov dword [ebp - 0x34], ecx
mov dword [eax + 0x78], ecx
jmp 0x42cb27
and dword [eax + 0x78], 0
mov al, byte [ecx]
mov edx, 0x80
cmp al, dl
jae 0x42cb41
movzx edx, al
mov dword [ebp - 0x78], edx
mov dword [ebp - 0xc], 1
jmp 0x42cb52
lea edx, [ebp - 0x78]
call fcn.0041c647
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x34], 0
jne 0x42cb9d
cmp dword [ebp - 0xc8], edx
jae 0x42cb9d
mov ecx, dword [ebp - 0x48]
xor eax, eax
and dword [ebp - 0x168], eax
mov word [ebp - 0x15c], ax
lea eax, [ebp - 0x178]
push eax
mov eax, dword [ebp - 0x68]
movzx eax, byte [eax + 0x22]
push eax
push edx
xor edx, edx
call fcn.004284d9
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne 0x42bebc
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebp - 0x78]
lea eax, [edx + ecx]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xc]
add eax, ecx
xor ecx, ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0x5c], ecx
jbe 0x42cc1e
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x58]
sub eax, ebx
mov edi, dword [ebp - 8]
mov dword [ebp - 0x3c], eax
cmp edi, dword [ebp - 0x28]
jae 0x42cc05
mov dword [eax + ebx], edx
mov ecx, 0x80
mov al, byte [edi]
cmp al, cl
jae 0x42cbe3
movzx ecx, al
xor eax, eax
mov dword [ebx], ecx
inc eax
jmp 0x42cbf1
mov edx, ebx
mov ecx, edi
call fcn.0041c647
mov ecx, dword [ebx]
mov edx, dword [ebp - 0x78]
add edi, eax
call fcn.0042a0af
mov ecx, dword [ebp - 0xc]
add edx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x78], edx
jmp 0x42cc09
and dword [eax + ebx], 0
inc ecx
add ebx, 4
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x5c]
jb 0x42cbc6
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 8], edi
mov edi, dword [ebp - 0x54]
lea ecx, [ebp - 0x178]
call fcn.00427e79
mov edx, dword [ebp - 8]
xor eax, eax
inc eax
mov word [ebp - 0x15c], ax
cmp edx, dword [ebp - 0x28]
ja 0x42cd5d
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x78]
cmp ecx, eax
ja 0x42cd5d
cmp edx, dword [ebp - 0x28]
jne 0x42cc5a
cmp ecx, eax
jne 0x42cd5d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
cmp dword [eax + ecx*4], 0
je 0x42ccfe
cmp dword [ebp - 0x34], 0
je 0x42cc94
mov ebx, dword [ebp - 0x14]
mov ecx, ebx
call fcn.00427e45
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
push ebx
mov ecx, dword [eax + edx*4]
mov eax, dword [ebp - 0x58]
add ecx, dword [ebp - 0x34]
mov edx, dword [eax + edx*4]
call fcn.0042a18c
jmp 0x42ccf5
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + ecx*4]
call fcn.0042a0af
mov ebx, dword [ebp - 0x14]
lea ecx, [ebp - 0x178]
mov edx, ebx
mov esi, eax
call fcn.004281b0
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x178]
push eax
mov eax, dword [ebp - 0x68]
movzx edx, byte [eax + 0x22]
mov eax, dword [ebp - 0x1c]
push edx
push esi
mov esi, dword [ebp - 0x2c]
mov edx, dword [eax + esi*4]
call fcn.004284d9
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne 0x42beb9
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x164]
push ebx
mov edx, dword [eax + esi*4]
call fcn.0042a18c
mov esi, dword [ebp - 0x20]
mov al, byte [ebp - 0x4c]
pop ecx
mov byte [ebx + 0x1f], al
jmp 0x42cd1d
cmp byte [ebx + 1], 0xf8
jne 0x42cd1a
mov edx, dword [ebx + 0x10]
mov eax, 0x80
mov ebx, dword [ebp - 0x14]
mov ecx, ebx
push eax
call fcn.00428123
pop ecx
jmp 0x42cd1d
mov ebx, dword [ebp - 0x14]
cmp dword [ebp - 0x154], 0
je 0x42cd4e
mov ax, word [ebx + 0x1c]
mov ecx, 0xfe7f
and ax, cx
push 0x20
pop ecx
or ax, cx
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x154]
mov dword [ebx + 0x24], eax
mov ecx, ebx
call fcn.00427c7f
mov dword [ebp - 8], eax
jmp 0x42bebc
push 0xb
pop eax
jmp 0x42cd55
mov eax, dword [ebx + 0x10]
imul ecx, dword [ebx + 4], 0x28
mov dword [ebp - 0xc], eax
imul eax, dword [ebx + 8], 0x28
add ecx, dword [edi + 0x4c]
mov dword [ebp - 0x3c], ecx
add eax, 0xffffffd8
add eax, ecx
mov dword [ebp - 0x2c], eax
cmp ecx, eax
ja case.0x42bc90.12
mov edi, dword [ebp - 0x3c]
xor ebx, ebx
lfence
lea esi, [edi + 0x1c]
mov eax, 0x800
test word [esi + ebx], ax
je 0x42cda3
mov ecx, edi
call fcn.00427cde
push dword [ebp - 0x4c]
mov eax, ebx
push 0x28
pop ecx
cdq
idiv ecx
mov ecx, dword [ebp - 0xc]
mov dl, byte [eax + ecx]
mov ecx, edi
call fcn.0042ba4e
pop ecx
push 0x28
pop eax
add edi, eax
add ebx, eax
cmp edi, dword [ebp - 0x2c]
jbe 0x42cd91
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x20]
jmp case.0x42bc90.12
imul ecx, dword [ebx + 4], 0x28
xor eax, eax
movzx esi, byte [edi + 0x9b]
xorps xmm0, xmm0
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], eax
imul eax, dword [ebx + 8], 0x28
add ecx, dword [edi + 0x4c]
movlpd qword [ebp - 0x40], xmm0
mov dword [ebp - 0x28], esi
mov esi, ecx
mov dword [ebp - 0xc], edx
add eax, 0xffffffd8
mov dword [ebp - 0x2c], ecx
add eax, ecx
mov dword [ebp - 0x68], eax
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x40]
ja 0x42cebf
lfence
mov edi, dword [ebp - 0x2c]
xor ebx, ebx
mov dword [ebp - 0x14], eax
test edx, edx
je 0x42ce46
push dword [ebp - 0x4c]
mov eax, esi
sub eax, edi
push 0x28
pop ecx
cdq
idiv ecx
mov ecx, dword [ebp - 0xc]
mov dl, byte [eax + ecx]
mov ecx, esi
call fcn.0042ba4e
pop ecx
mov eax, 0x800
test word [esi + 0x1c], ax
je 0x42ce5d
cmp dword [esi + 0x18], ebx
jle 0x42ce5d
mov ecx, esi
call fcn.00427cde
mov edx, dword [ebp - 0x28]
mov ecx, esi
call fcn.00429fec
mov ecx, eax
call fcn.0042a0af
mov dword [ebp - 0x3c], eax
cdq
add dword [ebp - 0x14], eax
push ebx
adc dword [ebp - 0x58], edx
push ecx
call fcn.0041c6db
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
add ecx, eax
mov eax, 0x800
test word [esi + 0x1c], ax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], ecx
je 0x42ce9b
add eax, dword [esi]
jmp 0x42cea3
xor edx, edx
cmp dword [ebp - 0x3c], edx
cmovne eax, edx
mov edx, dword [ebp - 0xc]
push 0x28
mov dword [ebp - 0x48], eax
pop eax
add esi, eax
cmp esi, dword [ebp - 0x68]
jbe 0x42ce27
mov ebx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
jmp 0x42cec5
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov eax, ecx
cdq
push edx
push eax
call fcn.0041c6db
mov esi, eax
mov eax, dword [ebp - 0x1c]
add eax, esi
mov dword [ebp - 0x1c], eax
cdq
push edx
push eax
call fcn.0041c6db
mov edx, dword [ebp - 0x1c]
add esp, 0x10
cmp esi, eax
mov eax, dword [ebp - 0x48]
lea ecx, [edx + 1]
cmovge ecx, edx
cdq
mov dword [ebp - 0x1c], eax
mov eax, ecx
mov dword [ebp - 0x34], edx
cdq
mov esi, eax
mov dword [ebp - 0x3c], ecx
sub esi, dword [ebp - 0x1c]
mov ecx, edx
mov eax, dword [ebp - 4]
sbb ecx, dword [ebp - 0x34]
add esi, dword [ebp - 0x14]
mov dword [ebp - 0x5c], esi
mov eax, dword [eax + 0x50]
adc ecx, dword [ebp - 0x58]
cdq
cmp ecx, edx
ja 0x42bddf
jb 0x42cf2b
cmp esi, eax
ja 0x42bddf
imul esi, dword [ebx + 0xc], 0x28
xor ebx, ebx
mov edx, dword [ebp - 0x5c]
push ebx
add esi, dword [edi + 0x4c]
mov ecx, esi
mov dword [ebp - 0x20], esi
call fcn.00427bb2
pop ecx
test eax, eax
jne 0x42ee59
mov edx, dword [ebp - 0x3c]
mov ecx, 0x80
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x58], eax
cmp edx, ecx
jae 0x42cf64
mov byte [eax], dl
xor eax, eax
inc eax
jmp 0x42cf6b
mov ecx, eax
call fcn.0041c4c8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov ecx, eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x68]
ja 0x42cfe2
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
call fcn.00429fec
mov ecx, dword [ebp - 0x58]
mov edx, 0x80
add ecx, edi
cmp eax, edx
jae 0x42cf9b
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x42cfa2
mov edx, eax
call fcn.0041c4c8
mov ecx, dword [ebp - 0xc]
add edi, eax
push 0x28
pop eax
add ecx, eax
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x68]
jbe 0x42cf7e
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edi
mov ecx, dword [ebp - 0x58]
push dword [ebp - 0x28]
mov edx, dword [ebp - 0x5c]
push esi
sub edx, edi
lea ecx, [edi + ecx]
call fcn.0042a0c5
pop ecx
pop ecx
add edi, eax
push 0x28
pop eax
add esi, eax
cmp esi, dword [ebp - 0x68]
jbe 0x42cfba
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x5c]
push 0x50
mov dword [esi + 0x18], eax
pop eax
mov word [esi + 0x1c], ax
mov dword [esi + 0x20], ebx
cmp dword [ebp - 0x48], ebx
je 0x42d00b
mov eax, dword [ebp - 0x1c]
mov dword [esi], eax
mov eax, dword [ebp - 0x34]
mov dword [esi + 4], eax
mov eax, 0x850
mov word [esi + 0x1c], ax
mov byte [esi + 0x1f], 1
jmp case.0x42bc90.12
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1c], 0
je 0x42d029
cmp dword [eax + 0x90], ecx
jle case.0x42bc90.12
imul ecx, dword [ebx + 4], 0x18
mov eax, dword [eax + 8]
mov ecx, dword [ecx + eax + 4]
call fcn.00427926
test eax, eax
jne case.0x42bc90.12
call fcn.00422fe1
mov dword [ebp - 8], eax
mov dword [edi + 0xec], 1
jmp 0x42bebc
imul ecx, dword [ebx + 4], 0x18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
je case.0x42bc90.12
mov edx, dword [ebx + 8]
call fcn.0042274f
push 5
pop ecx
mov dword [ebp - 8], eax
cmp eax, ecx
je 0x42eea7
test eax, eax
je 0x42bebc
push 8
pop ecx
cmp eax, ecx
jne 0x42d357
jmp 0x42bebc
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0xdc]
mov edx, dword [ebx + 0xc]
neg edx
test ecx, ecx
push eax
cmovns edx, dword [ebx + 0xc]
mov eax, ecx
inc edx
not eax
test ecx, ecx
cmovns eax, ecx
mov ecx, dword [ebp - 4]
imul eax, eax, 0x18
mov ecx, dword [ecx + 8]
mov ecx, dword [eax + ecx + 4]
call fcn.004268c3
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xdc]
pop ecx
cdq
mov dword [esi + 4], edx
jmp 0x42c146
imul ecx, dword [ebx + 4], 0x18
mov eax, dword [ebp - 4]
add ecx, dword [eax + 8]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x64]
call fcn.00427fe2
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebx + 8]
inc edx
push dword [eax]
mov ecx, dword [ecx + 4]
call fcn.00426949
cmp dword [ebx + 8], 0
pop ecx
mov dword [ebp - 8], eax
jne 0x42d12b
mov eax, dword [ebp - 0x2c]
push 0x10
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
pop ecx
or dword [eax + 0xc], ecx
jmp 0x42d13f
cmp dword [ebx + 8], 1
jne 0x42d142
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0x64]
mov al, byte [eax]
mov byte [ecx + 0x58], al
mov eax, dword [ebp - 8]
cmp dword [ebx + 4], 1
mov ecx, dword [ebp - 4]
jne 0x42bebf
call fcn.0042a8cf
jmp 0x42bdcf
imul ecx, dword [ebx + 4], 0x18
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
je 0x42d18e
lea eax, [ebp - 0x90]
inc edx
push eax
call fcn.004268c3
mov dword [ebp - 8], eax
pop ecx
test eax, eax
jne 0x42bebc
mov ecx, dword [ebp - 0x90]
jmp 0x42d19b
mov eax, edx
mov ecx, edx
mov dword [ebp - 8], eax
mov dword [ebp - 0x90], ecx
cmp ecx, dword [ebx + 8]
je 0x42bebc
push dword [edi + 0x90]
push dword [ebp - 4]
call fcn.0041a0e3
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
mov edx, str.database_schema_has_changed
call fcn.0041a387
mov dword [edi + 0x90], eax
mov edx, dword [ebx + 4]
mov ebx, dword [ebp - 4]
imul ecx, edx, 0x18
mov eax, dword [ebx + 8]
mov eax, dword [ecx + eax + 0x14]
mov ecx, dword [ebp - 0x90]
cmp dword [eax], ecx
je 0x42d1e8
mov ecx, ebx
call fcn.004352a0
mov ecx, ebx
call fcn.0042a8cf
push 0x11
pop eax
mov dword [ebp - 8], eax
jmp 0x42bebf
mov eax, dword [ebx + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0xc]
imul ecx, eax, 0x18
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
add ecx, dword [eax + 8]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x5c], eax
cmp dl, 9
jne 0x42d23d
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xc], 1
mov al, byte [eax + 0x58]
cmp al, byte [edi + 0x9b]
jae 0x42d241
mov byte [edi + 0x9b], al
jmp 0x42d241
and dword [ebp - 0xc], 0
cmp byte [ebx + 3], 0
je 0x42d260
imul eax, dword [ebp - 0x2c], 0x28
add eax, dword [edi + 0x4c]
mov ecx, eax
mov dword [ebp - 0x50], eax
call fcn.00427fe2
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x28]
lea eax, [ebx - 0x14]
push 1
push dword [ebp - 0x3c]
mov ecx, edi
push eax
call fcn.0042b90b
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
je 0x42ee59
push dword [eax]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x5c]
mov byte [eax + 0x1c], 1
push dword [ebx + 0x10]
push dword [ebp - 0xc]
call fcn.00423187
add esp, 0xc
mov dword [ebp - 8], eax
cmp byte [ebx + 1], 0xfa
jne 0x42d2c8
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebp - 0x14]
lea eax, [ecx + 5]
mov dword [edx + 0x4c], ecx
mov dword [edx + 0x48], eax
xor edx, edx
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x59]
mov byte [ecx + 4], al
mov ecx, dword [ebp - 0x14]
jmp 0x42d2d6
mov ecx, dword [ebp - 0x14]
xor edx, edx
lea eax, [ecx + 0x23]
mov dword [ecx + 0x4c], edx
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 8]
test eax, eax
je 0x42d30b
push 5
pop ecx
cmp eax, ecx
je 0x42eea7
push 0x10
pop ecx
cmp eax, ecx
jne 0x42d357
cmp byte [ebx + 1], 0xfa
mov ebx, dword [ebp - 0x14]
setne al
mov byte [ebx + 0x21], al
sete al
mov byte [ebx + 0x22], al
mov eax, edx
mov dword [ebx], edx
jmp 0x42cd55
mov ecx, dword [ecx]
call fcn.004269ba
mov ecx, eax
test cl, 0xf0
jne 0x42d354
and eax, 7
cmp eax, 5
je 0x42d326
cmp eax, 2
jne 0x42d354
mov edx, dword [ebp - 0x14]
mov al, cl
shr ecx, 1
and al, 1
and cl, 1
mov byte [edx + 0x21], al
mov byte [edx + 0x22], cl
test al, al
je 0x42d342
cmp byte [ebx + 1], 0xfa
je 0x42d354
test cl, cl
je case.0x42bc90.12
cmp byte [ebx + 1], 0xfa
je case.0x42bc90.12
push 0xb
pop eax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
cmp byte [edx + 0x1e], 0
je 0x42eebb
push 7
pop eax
mov dword [ebp - 8], eax
jmp 0x42eec2
mov edx, dword [ebx + 4]
push ecx
push 0xffffffffffffffff
push ebx
mov ecx, edi
call fcn.0042b90b
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x42ee59
xor ecx, ecx
xor edx, edx
inc ecx
mov byte [eax + 0x1c], cl
add eax, 0x30
push eax
push 0x41e
push 0x1f4
push ecx
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x2c], eax
call fcn.0044cf14
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
jne 0x42d467
mov ecx, dword [ebp - 0x2c]
xor edx, edx
inc edx
mov ecx, dword [ecx]
call fcn.0042274f
mov dword [ebp - 8], eax
test eax, eax
jne 0x42d467
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
xor eax, eax
cmp dword [ebx + 0x10], eax
je 0x42d444
push 2
pop eax
push eax
lea edx, [ebp - 0xe0]
call fcn.0042653d
mov dword [ebp - 8], eax
pop ecx
test eax, eax
jne 0x42d43b
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xe0]
push dword [eax]
mov eax, dword [ebp - 0x2c]
push dword [ebx + 0x10]
push 1
mov ecx, dword [eax]
call fcn.00423187
mov ecx, dword [ebx + 0x10]
add esp, 0xc
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
mov dword [ebx + 0x4c], ecx
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x59]
mov byte [ecx + 4], al
mov eax, dword [ebx + 0x4c]
add eax, 5
mov dword [ebx + 0x48], eax
jmp 0x42d43e
mov ebx, dword [ebp - 0x1c]
mov byte [ebx + 0x21], 0
jmp 0x42d46a
mov ebx, dword [ebp - 0x1c]
push dword [ebx]
push eax
xor eax, eax
inc eax
push eax
mov edx, eax
call fcn.00423187
mov dword [ebp - 8], eax
add esp, 0xc
lea eax, [ebx + 0x23]
mov byte [ebx + 0x21], 1
mov dword [ebx + 0x48], eax
jmp 0x42d46a
mov ebx, dword [ebp - 0x1c]
cmp byte [ebx + 0x21], 0
sete al
mov byte [ebx + 0x22], al
jmp case.0x42bc90.12
mov edx, dword [ebx + 4]
lea eax, [ebx - 0x14]
push 0
push 0xffffffffffffffff
push eax
mov ecx, edi
call fcn.0042b90b
add esp, 0xc
test eax, eax
je 0x42ee59
xor edx, edx
inc edx
mov byte [eax + 0x1c], dl
mov byte [eax + 0x1e], dl
mov cl, byte [ebx + 8]
mov byte [eax + 0x1f], cl
lea ecx, [eax + 0x23]
mov dword [eax + 0x48], ecx
mov byte [eax + 0x21], dl
mov byte [eax + 0x22], 0
jmp case.0x42bc90.12
mov esi, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x30]
mov edx, dword [edx + esi*4]
call fcn.00429494
mov eax, dword [edi + 0x30]
and dword [eax + esi*4], 0
jmp 0x42beb6
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1c], ecx
cmp dword [ecx], edx
je 0x42d652
mov eax, dword [ebp - 0x28]
mov byte [ecx + 0x1c], dl
cmp eax, 6
je 0x42d4fc
mov byte [ebp - 0xd], dl
cmp eax, 0x54
jne 0x42d500
mov byte [ebp - 0xd], 1
mov eax, dword [ecx + 0x48]
mov bl, byte [ebp - 0xd]
mov byte [eax], bl
mov ebx, dword [ebp - 0x44]
cmp byte [ecx + 0x21], dl
je 0x42d582
mov ecx, dword [ebp - 0x64]
call fcn.00427ec3
mov ecx, edx
mov dword [ebp - 0x3c], eax
xor edx, edx
mov dword [ebp - 0xc], ecx
cmp dword [ebx + 8], edx
jne 0x42d53f
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0xc]
mov dword [ecx + 0x2c], eax
mov byte [ecx + 0x19], dl
mov byte [ecx + 0x20], 1
jmp case.0x42bc90.12
lea edi, [ebp - 0x70]
push edi
push edx
push ecx
mov ecx, dword [ebp - 0x1c]
push eax
push edx
xor edx, edx
mov ecx, dword [ecx]
call fcn.004239f1
mov edi, dword [ebp - 0x54]
add esp, 0x14
mov dword [ebp - 8], eax
test eax, eax
jne 0x42d357
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x70]
test eax, eax
mov dword [ebp - 0x2c], eax
sete al
xor edx, edx
jmp 0x42d5dc
mov eax, dword [ecx + 0x4c]
mov ecx, dword [ecx]
mov dword [ebp - 0x10c], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x108], ax
imul eax, dword [ebx + 0xc], 0x28
mov word [ebp - 0x106], dx
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x70]
push eax
push edx
push edx
push edx
lea eax, [ebp - 0x10c]
xor edx, edx
push eax
call fcn.004239f1
add esp, 0x14
mov dword [ebp - 8], eax
test eax, eax
jne 0x42d357
mov eax, dword [ebp - 0x70]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov al, dl
mov byte [ecx + 0x19], al
mov eax, dword [ecx + 0x48]
mov byte [ecx + 0x20], dl
mov dword [ecx + 0x68], edx
mov byte [eax], dl
mov eax, dword [ebp - 0x28]
cmp eax, 0x78
je 0x42d613
cmp eax, 6
je 0x42d613
cmp dword [ebp - 0x2c], 0
mov ecx, dword [ecx]
jl 0x42d609
lea edx, [ebp - 0x70]
call fcn.00423eaf
jmp 0x42d623
call fcn.00423dd2
mov dword [ebp - 0x70], eax
jmp 0x42d639
cmp dword [ebp - 0x2c], 0
jge 0x42d636
mov ecx, dword [ecx]
lea edx, [ebp - 0x70]
call fcn.00423ddc
mov dword [ebp - 8], eax
test eax, eax
jne 0x42d357
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x19], al
jmp 0x42d63c
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x70], 0
je 0x42bebc
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 0x24], ecx
jmp 0x42bebc
cmp byte [ecx + 0x1e], dl
jmp 0x42c9a2
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x2c], edx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
test ecx, ecx
je 0x42d6e0
cmp byte [ebp - 0xd], 0x7e
jne 0x42d688
mov eax, dword [eax + 0x4c]
mov byte [eax + 6], 1
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
jmp 0x42d68b
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0x64]
push edx
mov eax, dword [eax + 0x18]
cdq
push edx
push eax
mov eax, dword [ebp - 0x64]
push 0
mov edx, dword [eax + 0x14]
call fcn.004239f1
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov dword [ebp - 8], eax
add esp, 0x14
mov eax, dword [ecx + 0x4c]
mov byte [eax + 6], dl
mov eax, dword [ebp - 8]
test eax, eax
jne 0x42bebc
xor ebx, ebx
mov byte [ecx + 0x20], dl
cmp dword [ebp - 0xe4], edx
mov dword [ecx + 0x68], edx
sete bl
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x44]
mov cl, byte [ebx]
jmp 0x42d6e6
mov eax, dword [ebp - 8]
mov cl, byte [ebp - 0xd]
cmp cl, 0x7e
jne 0x42d6f4
cmp dword [ebp - 0x2c], 0
jmp 0x42d640
cmp dword [ebp - 0x2c], 0
jne 0x42bebc
jmp 0x42d646
imul eax, dword [ebx + 0x10], 0x28
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebx + 4]
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x3c], eax
call fcn.00427fe2
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx]
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x42beb6
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x14]
mov esi, dword [eax + 0x18]
lea eax, [ebp - 0xe8]
push eax
mov edx, esi
mov dword [ebp - 0xc], ecx
call fcn.0042a684
mov eax, dword [ebp - 0x28]
sub esi, dword [ebp - 0xe8]
pop ecx
xor ecx, ecx
mov dword [eax + 0x68], ecx
lea eax, [ebp - 0x7c]
push eax
push ecx
mov eax, esi
cdq
push edx
mov edx, dword [ebp - 0xc]
push eax
push ecx
mov ecx, dword [ebp - 0x2c]
call fcn.004239f1
add esp, 0x14
test eax, eax
jne 0x42d357
cmp dword [ebp - 0x7c], eax
jge 0x42d7ab
mov ecx, dword [ebp - 0x2c]
lea edx, [ebp - 0x7c]
call fcn.00423ddc
cmp dword [ebp - 0x7c], 0
mov dword [ebp - 8], eax
je 0x42d7ab
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 0x24], ecx
jmp 0x42beb9
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x7c]
push eax
push dword [ebp - 0xc]
xor edx, edx
push esi
call fcn.0042a797
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne 0x42d357
cmp dword [ebp - 0x7c], eax
jg 0x42d79f
mov ecx, dword [ebp - 0x2c]
lea edx, [ebp - 0x138]
call fcn.0042a6d8
mov dword [ebp - 8], eax
test eax, eax
jne 0x42d357
mov edx, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x134]
cmp edx, dword [ebp - 0x5c]
jne 0x42d7ff
cmp ecx, dword [ebp - 0x14]
je 0x42d79f
mov ebx, dword [ebp - 0x64]
mov dword [ebx], edx
mov dword [ebx + 4], ecx
jmp 0x42beb9
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x42d86f
mov edx, dword [ebp - 0x64]
lea eax, [ebp - 0xec]
push eax
xor eax, eax
push eax
push dword [edx + 4]
push dword [edx]
xor edx, edx
push eax
call fcn.004239f1
mov ecx, dword [ebp - 0x64]
add esp, 0x14
mov edx, dword [ebp - 0xc]
mov dword [ebp - 8], eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edx + 0xc], ecx
mov ecx, dword [ebp - 0xec]
test ecx, ecx
mov dword [edx + 8], eax
sete al
mov byte [edx + 0x19], al
xor edx, edx
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x1c], dl
mov dword [eax + 0x68], edx
test ecx, ecx
jmp 0x42c68f
cmp byte [eax + 0x1e], 0
jmp 0x42c9a2
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
mov dword [esi], ecx
mov dword [esi + 4], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + edx*4]
add dword [eax + 0x58], 1
adc dword [eax + 0x5c], 0
jmp 0x42c148
mov ecx, dword [ebx + 4]
xorps xmm0, xmm0
mov eax, dword [edi + 0x30]
movlpd qword [ebp - 0x60], xmm0
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x44], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x42dadd
xor eax, eax
mov dword [ebp - 0x28], eax
call fcn.004269ba
and al, 3
cmp al, 1
jne 0x42d354
mov ecx, dword [ebp - 0x44]
cmp byte [ecx + 0x1b], 0
jne 0x42d9e8
cmp byte [ecx + 0x1d], 0
je 0x42d8ec
mov esi, dword [ecx + 0x10]
mov eax, dword [ecx + 0x14]
jmp 0x42d94f
mov ecx, dword [ecx]
lea edx, [ebp - 0x84]
call fcn.004239b1
mov dword [ebp - 8], eax
test eax, eax
jne 0x42d357
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x88], eax
test eax, eax
je 0x42d91b
xor esi, esi
inc esi
xor eax, eax
jmp 0x42d94c
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x60]
mov ecx, dword [eax]
call fcn.00423284
mov esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x34], eax
cmp esi, 0xffffffff
jne 0x42d946
cmp eax, 0x7fffffff
jne 0x42d946
mov ecx, dword [ebp - 0x44]
mov byte [ecx + 0x1b], 1
jmp 0x42d952
add esi, 1
adc eax, 0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x42d9b7
imul ebx, edx, 0x28
add ebx, dword [edi + 0x4c]
mov ecx, ebx
mov dword [ebp - 0x3c], ebx
call fcn.00427fe2
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
cmp eax, 0xffffffff
jne 0x42d97f
cmp edx, 0x7fffffff
je 0x42eeb4
mov ecx, dword [ebp - 0x44]
cmp byte [ecx + 0x1b], 0
jne 0x42eeb4
add eax, 1
push 0
pop ebx
mov dword [ebp - 0xc], eax
adc edx, ebx
mov eax, dword [ebp - 0x34]
cmp eax, edx
jg 0x42d9ad
jl 0x42d9a5
cmp esi, dword [ebp - 0xc]
jae 0x42d9ad
mov esi, dword [ebp - 0xc]
mov eax, edx
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x3c]
mov dword [edx], esi
mov dword [edx + 4], eax
jmp 0x42d9b9
xor ebx, ebx
cmp eax, 0x7fffffff
ja 0x42d9e3
jb 0x42d9c7
cmp esi, 0xffffffff
jae 0x42d9e3
xor edx, edx
inc edx
mov byte [ecx + 0x1d], dl
mov ecx, esi
add ecx, edx
mov edx, dword [ebp - 0x44]
adc eax, ebx
mov dword [edx + 0x10], ecx
mov ecx, edx
mov dword [ecx + 0x14], eax
mov edx, dword [ebp - 0x34]
jmp 0x42d9f0
mov byte [ecx + 0x1d], bl
jmp 0x42d9de
mov edx, dword [ebp - 0x5c]
xor ebx, ebx
mov esi, dword [ebp - 0x60]
cmp byte [ecx + 0x1b], 0
je 0x42dad2
mov eax, dword [ebp - 4]
mov edx, ebx
mov dword [ebp - 0x2c], edx
mov esi, dword [eax + 0x38]
mov edi, dword [eax + 0x3c]
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], edi
test edx, edx
jne 0x42da2e
mov eax, esi
and eax, 0xffffff
cmp eax, esi
jne 0x42da2e
cmp ebx, edi
jne 0x42da2e
add esi, 1
adc edi, ebx
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], edi
jmp 0x42da58
lea eax, [ebp - 0x60]
push eax
push 8
pop eax
push eax
call fcn.0041b62d
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x60]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x44]
cmp edx, 5
jge 0x42da55
and esi, 0xffffff
mov edi, ebx
jmp 0x42da26
mov edi, dword [ebp - 0x5c]
mov eax, esi
or eax, edi
je 0x42da8d
mov ecx, dword [ecx]
lea eax, [ebp - 0x84]
push eax
push ebx
push edi
push esi
push ebx
xor edx, edx
call fcn.004239f1
mov edx, dword [ebp - 0x2c]
add esp, 0x14
mov ecx, dword [ebp - 0x84]
inc edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x88], ecx
jmp 0x42da96
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x88]
cmp edx, 0x64
jge 0x42daaa
test eax, eax
jne 0x42daaa
test ecx, ecx
mov ecx, dword [ebp - 0x44]
je 0x42da0e
cmp dword [ebp - 0x28], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0x34], edi
mov dword [eax + 0x3c], edi
mov edi, dword [ebp - 0x54]
mov dword [eax + 0x38], esi
jne 0x42dacc
cmp dword [ebp - 0x88], 0
je 0x42eeb4
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x34]
mov byte [ecx + 0x19], bl
mov byte [ecx + 0x20], bl
mov dword [ecx + 0x68], ebx
jmp 0x42dae3
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x20]
mov ebx, 0xffe4
push 4
mov ax, word [ecx + 0x1c]
and ax, bx
mov dword [ecx], esi
pop ebx
or ax, bx
mov esi, ecx
mov word [ecx + 0x1c], ax
jmp 0x42bd07
imul eax, dword [ebx + 8], 0x28
imul edx, dword [ebx + 0xc], 0x28
mov ecx, dword [ebx + 4]
add eax, dword [edi + 0x4c]
add edx, dword [edi + 0x4c]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 0xc], edx
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx]
mov dword [ebp - 0x28], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0x2c], eax
mov al, byte [ebx + 3]
mov dword [ebp - 0x34], ecx
test al, 1
je 0x42db40
inc dword [edi + 0xa0]
mov al, byte [ebx + 3]
test al, 2
je 0x42db57
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov edx, dword [ebp - 4]
mov dword [edx + 0x34], ecx
mov ecx, dword [ebp - 0x34]
mov dword [edx + 0x30], eax
jmp 0x42db5a
mov edx, dword [ebp - 4]
cmp byte [ecx + 0x1d], 0
je 0x42db7b
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x14]
jl 0x42db7b
jg 0x42db77
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x10]
jb 0x42db7b
mov byte [ecx + 0x1d], 0
mov eax, dword [ebp - 0x1c]
movzx ebx, word [eax + 0x1c]
test bl, 1
mov ebx, dword [ebp - 0x44]
je 0x42db92
and dword [eax + 0x14], 0
and dword [eax + 0x18], 0
cmp byte [ecx + 0x1e], 0
je 0x42dc58
cmp byte [ecx + 0x1f], 0
jne 0x42dbb3
push dword [ecx + 0x38]
push edx
call fcn.0041a0e3
mov eax, dword [ebp - 0x1c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x28]
mov dword [ecx + 0x40], edx
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0x44], edx
mov edx, dword [eax + 0x18]
mov dword [ecx + 0x34], edx
mov dword [ebp - 0x3c], edx
mov edx, dword [eax + 0x14]
cmp edx, dword [eax + 0x24]
je 0x42dc23
cmp byte [ecx + 0x1f], 0
jne 0x42dc23
mov eax, dword [ebp - 0x3c]
add eax, 2
push eax
call fcn.00419cde
pop ecx
mov ecx, dword [ebp - 0x34]
mov dword [ecx + 0x38], eax
test eax, eax
je 0x42ee59
mov edx, dword [ebp - 0x1c]
push dword [ecx + 0x34]
push dword [edx + 0x14]
push eax
call fcn.0044fb10
mov eax, dword [ebp - 0x34]
add esp, 0xc
xor edx, edx
mov ecx, dword [eax + 0x34]
mov eax, dword [eax + 0x38]
mov byte [ecx + eax], dl
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x34]
mov eax, dword [eax + 0x38]
mov byte [ecx + eax + 1], dl
mov ecx, dword [ebp - 0x34]
jmp 0x42dc53
cmp byte [ecx + 0x1f], 0
mov dword [ecx + 0x38], edx
jne 0x42dc51
mov ax, word [eax + 0x1c]
mov edx, 0xffbf
and ax, dx
mov edx, 0x100
or ax, dx
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x1c], ax
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x24], edx
jmp 0x42dc53
xor edx, edx
mov byte [ecx + 0x1c], dl
jmp 0x42dc98
movzx edx, word [eax + 0x1c]
test edx, 0x800
je 0x42dc68
mov edx, dword [eax]
jmp 0x42dc6a
xor edx, edx
movzx eax, byte [ebx + 3]
mov ecx, dword [ecx]
and eax, 8
push eax
mov eax, dword [ebp - 0x1c]
push edx
mov edx, dword [ebp - 0x2c]
push dword [eax + 0x18]
push dword [eax + 0x14]
push edx
mov edx, dword [ebp - 0x28]
push edx
xor edx, edx
call fcn.00425f40
mov ecx, dword [ebp - 0x34]
add esp, 0x18
mov dword [ebp - 8], eax
xor edx, edx
mov eax, dword [ebp - 8]
mov byte [ecx + 0x19], dl
mov byte [ecx + 0x20], dl
mov dword [ecx + 0x68], edx
mov ecx, dword [ebp - 4]
test eax, eax
jne 0x42bebf
mov edx, dword [ecx + 0xb8]
test edx, edx
je 0x42bebf
cmp dword [ebx + 0x10], eax
je 0x42bebf
push dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x34]
push dword [ebp - 0x28]
mov eax, dword [ebp - 4]
push dword [ebx + 0x10]
imul ecx, dword [ecx + 4], 0x18
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 - 4]
push dword [eax + 0xb4]
call edx
add esp, 0x18
jmp case.0x42bc90.12
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov edx, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
cmp dword [ecx + 0xb8], eax
je 0x42dd32
cmp dword [ebx + 0x10], eax
je 0x42dd32
mov eax, dword [edx + 8]
mov dword [ebp - 0xb4], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc], eax
mov ecx, edx
call fcn.00429f67
test eax, eax
jne 0x42d357
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx]
call fcn.00426104
mov edx, dword [ebp - 0xc]
xor ecx, ecx
mov dword [ebp - 8], eax
mov byte [edx + 0x1d], cl
mov dword [edx + 0x68], ecx
mov ecx, dword [ebp - 4]
test eax, eax
jne 0x42dda8
mov edi, dword [ecx + 0xb8]
test edi, edi
mov dword [ebp - 0x3c], edi
mov edi, dword [ebp - 0x54]
je 0x42dda8
cmp dword [ebx + 0x10], eax
je 0x42dda8
push dword [ebp - 0xcc]
imul ecx, dword [edx + 4], 0x18
mov eax, dword [ebp - 4]
push dword [ebp - 0xb4]
push dword [ebx + 0x10]
mov eax, dword [eax + 8]
push dword [ecx + eax]
mov eax, dword [ebp - 4]
push 9
push dword [eax + 0xb4]
call dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
add esp, 0x18
mov ecx, dword [ebp - 4]
test byte [ebx + 8], 1
je 0x42bebf
inc dword [edi + 0xa0]
jmp 0x42bebf
xor edx, edx
cmp dword [ebx + 4], edx
je 0x42ddd4
mov edx, dword [edi + 0xa0]
mov ecx, dword [ebp - 4]
call fcn.0042a8c0
xor edx, edx
mov dword [edi + 0xa0], edx
jmp case.0x42bc90.12
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
imul esi, dword [ebx + 8], 0x28
mov eax, dword [eax + ecx*4]
mov ecx, eax
mov dword [ebp - 0x2c], eax
add esi, dword [edi + 0x4c]
mov dword [ebp - 0x20], esi
mov ebx, dword [eax]
mov dword [ebp - 0x28], ebx
call fcn.00429f67
test eax, eax
jne 0x42d357
mov eax, dword [ebp - 0x2c]
mov ecx, ebx
cmp byte [eax + 0x22], 0
je 0x42de4d
lea edx, [ebp - 0x140]
call fcn.00423284
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
cdq
cmp dword [ebp - 0x13c], edx
jg 0x42bddf
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0xc], ecx
jl 0x42de45
cmp ecx, eax
ja 0x42bddf
mov dword [ebp - 0xb8], ecx
jmp 0x42de6d
lea edx, [ebp - 0xb8]
call fcn.004232c7
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xc], ecx
cmp ecx, dword [eax + 0x50]
ja 0x42bddf
xor ebx, ebx
mov edx, ecx
push ebx
mov ecx, esi
call fcn.00427bb2
pop ecx
test eax, eax
jne 0x42ee59
mov ax, word [esi + 0x1c]
mov ecx, 0xfff0
mov edx, dword [ebp - 0xc]
and ax, cx
push 0x10
pop ecx
push dword [esi + 0x14]
or ax, cx
mov dword [esi + 0x18], edx
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0x2c]
push edx
cmp byte [eax + 0x22], bl
je 0x42deb8
mov ecx, dword [ebp - 0x28]
xor edx, edx
call fcn.004236a0
pop ecx
pop ecx
jmp 0x42dec4
push ebx
push dword [ebp - 0x28]
call fcn.004236e0
add esp, 0x10
mov dword [ebp - 8], eax
mov byte [esi + 0x1f], 1
jmp 0x42bebc
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov ebx, dword [eax + ecx*4]
mov ecx, ebx
call fcn.00429f67
mov dword [ebp - 8], eax
test eax, eax
jne 0x42d357
cmp byte [ebx + 0x19], al
je 0x42def8
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
jmp 0x42df04
cmp byte [ebx + 0x1e], 0
je 0x42df15
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], ecx
jmp 0x42c143
cmp byte [ebx + 0x1c], 0
jne 0x42bebc
mov ecx, dword [ebx]
lea edx, [ebp - 0xb0]
call fcn.00423284
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb0]
jmp 0x42c143
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov eax, dword [eax + ecx*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x42bc90.12
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xf0]
mov eax, dword [edi + 0x30]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.004239b1
xor ecx, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xf0]
mov byte [esi + 0x1c], al
mov byte [esi + 0x20], cl
mov dword [esi + 0x68], ecx
test eax, eax
je 0x42beb6
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 4]
test eax, eax
jle 0x42bdcf
jmp 0x42c69b
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x3c], edx
mov ecx, dword [edx]
test ecx, ecx
je 0x42dfd6
lea edx, [ebp - 0xbc]
call fcn.00423986
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
mov dword [ebp - 8], eax
sete al
mov byte [edx + 0x1a], al
xor eax, eax
mov byte [edx + 0x20], al
mov dword [edx + 0x68], eax
jmp 0x42dfdf
xor ecx, ecx
inc ecx
mov dword [ebp - 0xbc], ecx
mov byte [edx + 0x1c], cl
jmp 0x42d868
mov eax, dword [ebp - 4]
cmp dword [eax + 0xd8], 0
jne 0x42f08c
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x3c], eax
test eax, eax
je case.0x42bc90.12
mov ecx, dword [eax]
cmp dl, 0x6a
mov dword [ebp - 0x2c], 1
lea edx, [ebp - 0x2c]
jne 0x42e023
call fcn.00423ddc
jmp 0x42e028
call fcn.00423eaf
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x2c]
mov byte [ecx + 0x1c], al
mov dword [ecx + 0x68], edx
test eax, eax
jne 0x42e044
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x24], eax
mov byte [ecx + 0x19], dl
jmp case.0x42bc90.12
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
test eax, eax
je case.0x42bc90.12
mov ecx, dword [ebp - 0x50]
mov eax, 0x800
test word [ecx + 0x1c], ax
je 0x42e086
call fcn.00427cde
mov dword [ebp - 8], eax
test eax, eax
jne 0x42bebc
mov ecx, dword [ebp - 0x50]
push dword [ebx + 0xc]
mov eax, dword [ecx + 0x18]
xor ebx, ebx
push ebx
push ebx
cdq
push 0x633180
push edx
mov edx, dword [ecx + 0x14]
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.00425f40
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x68], ebx
jmp 0x42bebc
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
test ecx, ecx
je case.0x42bc90.12
mov eax, dword [eax + 0x4c]
xor edx, edx
mov dword [ebp - 0x118], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x114], ax
xor eax, eax
mov word [ebp - 0x112], ax
imul eax, dword [ebx + 8], 0x28
xor ebx, ebx
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x110], eax
lea eax, [ebp - 0xf4]
push eax
push ebx
push ebx
lea eax, [ebp - 0x118]
push ebx
push eax
call fcn.004239f1
add esp, 0x14
mov dword [ebp - 8], eax
test eax, eax
jne 0x42e0a9
cmp dword [ebp - 0xf4], ebx
jne 0x42e0a9
mov ecx, dword [ebp - 0x3c]
call fcn.00426104
jmp 0x42e0a6
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.0x42bc90.12
cmp byte [eax + 0x1c], 0
jne case.0x42bc90.12
lea edx, [ebp - 0x148]
call fcn.0042a6d8
mov dword [ebp - 8], eax
test eax, eax
jne 0x42d357
mov ax, word [esi + 0x1c]
mov ecx, 0xffe4
and ax, cx
push 4
pop ecx
or ax, cx
mov ecx, dword [ebp - 0x144]
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0x148]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp case.0x42bc90.12
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc], ecx
cmp dword [ecx], edx
je case.0x42bc90.12
mov eax, dword [ecx + 0x4c]
mov ecx, dword [ecx + 0x48]
mov dword [ebp - 0x124], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x120], ax
mov word [ebp - 0x11e], dx
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x11c], eax
mov al, byte [ebx + 3]
mov byte [ecx], al
lea eax, [ebp - 0x94]
mov ecx, dword [ebp - 0xc]
push eax
push edx
push edx
lea edx, [ebp - 0x124]
call fcn.0042a797
mov dword [ebp - 8], eax
add esp, 0xc
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x48]
mov byte [eax], 0
cmp byte [ebx], 0x29
mov eax, dword [ebp - 0x94]
jne 0x42e20a
neg eax
jmp 0x42e20b
inc eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x94], eax
test eax, eax
jle 0x42bdcf
jmp 0x42c698
mov ecx, dword [ebp - 4]
xor eax, eax
mov dword [ebp - 0x2c], eax
mov edx, dword [ecx + 0x8c]
test edx, edx
je 0x42e25e
cmp dword [edx + 0x44], 0xbdf20da3
jne 0x42e24d
cmp byte [edx + 0x9c], 2
jae 0x42e24d
cmp dword [edx + 0x74], eax
jl 0x42e24d
inc dword [ebp - 0x2c]
mov edx, dword [edx + 8]
test edx, edx
jne 0x42e233
cmp dword [ebp - 0x2c], 1
jg 0x42eee4
imul eax, dword [ebx + 0xc], 0x18
lea edx, [ebp - 0x98]
mov ecx, dword [ecx + 8]
push edx
mov edx, dword [ebx + 4]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ecx + eax + 4]
call fcn.0042688f
mov dword [ebp - 8], eax
mov ax, word [esi + 0x1c]
pop ecx
mov ecx, 0xffe4
and ax, cx
push 4
pop ecx
or ax, cx
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0x98]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 8]
mov dword [esi + 4], edx
test eax, eax
jne 0x42bebc
cmp dword [ebp - 0x98], eax
je 0x42bebc
mov eax, dword [ebp - 4]
push dword [ebx + 4]
mov edx, dword [ebp - 0x98]
mov ecx, dword [eax + 8]
add ecx, dword [ebp - 0x3c]
call fcn.004368d6
jmp 0x42be5f
imul eax, dword [ebx + 8], 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ebx + 4]
mov ecx, dword [ecx + 8]
mov ecx, dword [eax + ecx + 4]
call fcn.00426686
jmp 0x42cd55
imul ecx, dword [ebx + 4], 0x18
mov eax, dword [ebp - 4]
push 5
add ecx, dword [eax + 8]
cmp dl, 0x33
pop eax
push 2
pop edx
mov ecx, dword [ecx + 4]
cmovne eax, edx
push eax
lea edx, [ebp - 0xf8]
call fcn.0042653d
mov dword [ebp - 8], eax
pop ecx
test eax, eax
jne 0x42bebc
mov eax, dword [ebp - 0xf8]
jmp 0x42d0d7
cmp dword [ebx + 8], 0
mov edx, dword [ebx + 4]
jne 0x42e34d
mov eax, dword [ebp - 4]
imul ecx, edx, 0x18
mov eax, dword [eax + 8]
mov eax, dword [ecx + eax + 0x14]
xor ecx, ecx
inc ecx
test byte [eax + 0x5a], cl
je case.0x42bc90.12
mov eax, dword [ebp - 4]
cmp edx, ecx
push dword [ebx + 0x10]
mov dword [ebp - 0x208], eax
mov ebx, str.sqlite_temp_master
lea eax, [edi + 0x90]
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x200], eax
mov eax, str.sqlite_master
cmove eax, ebx
imul ecx, edx, 0x18
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
push dword [ecx + eax]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
push dword [ebp - 4]
call fcn.0041b42f
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0x3c], ecx
test ecx, ecx
je 0x42ee59
mov eax, dword [ebp - 4]
lea edx, [ebp - 0x208]
xor ebx, ebx
push ebx
push edx
push fcn.0043eb10
push ecx
push eax
mov byte [eax + 0x80], 1
call fcn.0043cb15
add esp, 0x14
push 4
pop ecx
push dword [ebp - 0x3c]
cmp eax, ecx
push dword [ebp - 4]
cmove eax, dword [ebp - 0x1fc]
mov dword [ebp - 8], eax
call fcn.0041a0e3
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
mov byte [eax + 0x80], bl
mov eax, dword [ebp - 8]
cmp eax, 7
je 0x42ee5c
jmp 0x42bebf
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 4]
call fcn.004341ae
jmp 0x42cd55
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 4]
call fcn.004354ea
jmp 0x42be5f
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 4]
call fcn.00435238
jmp 0x42be5f
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 4]
call fcn.00444ac2
jmp 0x42be5f
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x28], eax
lea edx, [eax*4 + 4]
call fcn.0041a270
mov edx, eax
mov dword [ebp - 0x5c], edx
test edx, edx
je 0x42ee59
imul ecx, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
add ecx, dword [edi + 0x4c]
add eax, dword [edi + 0x4c]
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x28], ecx
jle 0x42e4c2
mov eax, dword [ebp - 0x18]
mov edi, ecx
mov esi, dword [ebp - 0x28]
mov ebx, edx
mov dword [ebp - 0xc], eax
mov ecx, eax
call fcn.00427ec3
mov dword [ebx + edi*4], eax
inc edi
mov eax, dword [ebp - 0xc]
push 0x28
pop ecx
add eax, ecx
mov dword [ebp - 0xc], eax
cmp edi, esi
jl 0x42e493
mov ebx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x2c]
and dword [edx + ecx*4], 0
lea ecx, [ebp - 0xc0]
push ecx
push dword [eax]
movzx eax, byte [ebx + 3]
mov ecx, dword [ebp - 4]
push dword [ebp - 0x28]
imul eax, eax, 0x18
mov ecx, dword [ecx + 8]
mov ecx, dword [eax + ecx + 4]
call fcn.0042719f
add esp, 0xc
mov ebx, eax
push dword [ebp - 0x5c]
push dword [ebp - 4]
call fcn.0041a0e3
mov eax, dword [ebp - 0xc0]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
cdq
sub dword [ecx], eax
sbb dword [ecx + 4], edx
mov ecx, dword [ebp - 0x18]
call fcn.00428061
cmp dword [ebp - 0xc0], 0
je 0x42e539
test ebx, ebx
je 0x42ee59
push fcn.0041a090
push 1
mov edx, ebx
mov ebx, ecx
push 0xffffffffffffffff
call fcn.004281d9
add esp, 0xc
jmp 0x42e53c
mov ebx, dword [ebp - 0x18]
movzx edx, byte [ebp - 0x4c]
mov ecx, ebx
call fcn.00427b9d
jmp case.0x42bc90.12
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0x5c], eax
call fcn.00427ec3
push edx
push eax
lea ecx, [edi + 0x58]
call fcn.00427abe
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
cmp eax, 7
je 0x42ee5c
jmp 0x42bdcf
mov eax, dword [ebp - 4]
cmp dword [eax + 0xd8], 0
jne 0x42f08c
imul esi, dword [ebx + 4], 0x28
mov ecx, 0xffe4
push 4
add esi, dword [edi + 0x4c]
mov edx, esi
mov dword [ebp - 0x20], esi
mov ax, word [esi + 0x1c]
and ax, cx
pop ecx
or ax, cx
lea ecx, [edi + 0x58]
mov word [esi + 0x1c], ax
call fcn.00427b23
cmp eax, 0x65
jmp 0x42c9a2
mov esi, dword [edi + 0x68]
lea eax, [esi + 1]
mov dword [edi + 0x68], eax
cmp esi, dword [edi + 0x6c]
jl 0x42e5eb
mov ecx, dword [ebp - 4]
lfence
mov edx, dword [edi + 0x70]
mov dword [edi + 0x6c], eax
lea eax, [esi + 1]
shl eax, 5
push eax
call fcn.0041a35e
mov dword [edi + 0x70], eax
pop ecx
test eax, eax
je 0x42ee59
mov edx, dword [ebp - 4]
shl esi, 5
add esi, dword [edi + 0x70]
mov eax, dword [edx + 0x30]
mov ecx, dword [edx + 0x34]
mov dword [esi + 4], ecx
lea ecx, [edi + 0x58]
mov dword [esi], eax
mov eax, dword [edi + 0xa0]
lea edi, [esi + 0xc]
mov dword [esi + 8], eax
mov esi, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00427aa5
jmp 0x42beb3
dec dword [edi + 0x68]
mov esi, dword [edi + 0x68]
mov edx, dword [ebp - 4]
shl esi, 5
add esi, dword [edi + 0x70]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edx + 0x34], ecx
mov dword [edx + 0x30], eax
mov eax, dword [esi + 8]
mov dword [edi + 0xa0], eax
add edi, 0x58
mov ecx, edi
call fcn.00427b72
add esi, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x42beb3
mov ebx, dword [ebp - 0x18]
mov ecx, ebx
call fcn.00427fe2
mov ecx, dword [ebp - 0x50]
call fcn.00427fe2
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp dword [ebx + 4], ecx
jg case.0x42bc90.12
jl 0x42c91c
cmp dword [ebx], eax
jae case.0x42bc90.12
jmp 0x42c91c
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp dword [eax + 4], edx
jl case.0x42bc90.12
jg 0x42bca7
cmp dword [eax], edx
jbe case.0x42bc90.12
jmp 0x42bca7
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp dword [eax + 4], edx
jg case.0x42bc90.12
jl 0x42bca7
cmp dword [eax], edx
jae case.0x42bc90.12
jmp 0x42bca7
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
or eax, dword [edx + 4]
jmp 0x42c9a2
imul ecx, dword [ebx + 8], 0x28
mov edx, dword [edi + 0x24]
movzx eax, byte [ebx + 3]
mov dword [ebp - 0xc], edx
xor edx, edx
mov dword [ebp - 0x2c], eax
add ecx, dword [edi + 0x4c]
test eax, eax
je 0x42e718
mov edi, dword [ebp - 0xc]
mov esi, edx
mov ebx, eax
mov dword [edi + esi*4], ecx
call fcn.0042b8d5
push 0x28
pop eax
inc esi
add ecx, eax
cmp esi, ebx
jl 0x42e6fd
mov ebx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebx + 0x10]
mov ecx, dword [edi + 0x4c]
mov dword [ebp - 0x1f8], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, ecx
mov dword [ebp - 0x1c8], eax
inc dword [eax + 0x18]
xor eax, eax
mov ecx, dword [ebp - 0x1f8]
inc eax
mov word [ebp - 0x1d4], ax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x1cc], edx
mov dword [ebp - 0x1d0], edx
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1c4], edx
mov dword [ebp - 0x1c0], edx
cmp byte [ecx + 3], dl
je 0x42e778
mov eax, dword [ebx - 4]
mov dword [ebp - 0x1c0], eax
push dword [ebp - 0xc]
lea eax, [ebp - 0x1f8]
push dword [ebp - 0x2c]
push eax
call dword [ecx + 0x14]
add esp, 0xc
cmp dword [ebp - 0x1c4], 0
je 0x42e7c2
lea eax, [ebp - 0x1f0]
push eax
call fcn.0042aa4b
pop ecx
push eax
push 0x632a68
push dword [ebp - 4]
lea eax, [edi + 0x90]
push eax
call fcn.0041a3f7
mov eax, dword [ebp - 0x1c4]
add esp, 0x10
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x1f0]
call fcn.00427e79
jmp case.0x42bc90.12
imul eax, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0x10]
add eax, dword [edi + 0x4c]
mov ecx, eax
mov dword [ebp - 0xc], eax
call fcn.00427deb
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 8], eax
cmp eax, 1
jne 0x42e810
push ebx
call fcn.0042aa4b
pop ecx
push eax
push 0x632a68
push dword [ebp - 4]
lea eax, [edi + 0x90]
push eax
call fcn.0041a3f7
add esp, 0x10
movzx edx, byte [ebp - 0x4c]
mov ecx, ebx
call fcn.00427b9d
mov ecx, ebx
jmp 0x42c3af
mov edx, dword [ebp - 4]
lea ecx, [edi + 0x90]
call fcn.00445e66
jmp 0x42cd55
imul ecx, dword [ebx + 4], 0x18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov ecx, dword [ecx + eax + 4]
call fcn.00422ca8
mov ecx, dword [ebp - 4]
mov dword [ebp - 8], eax
cmp eax, 0x65
jne 0x42bebf
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x24], eax
xor eax, eax
jmp 0x42d1f2
cmp dword [ebx + 4], 0
jne 0x42e873
mov ecx, dword [ebp - 4]
jmp 0x42d14f
mov byte [edi + 0x9a], cl
jmp case.0x42bc90.12
mov al, byte [ebx + 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ebx + 8]
mov byte [ebp - 0xfc], al
imul eax, dword [ebx + 4], 0x18
mov ecx, dword [ecx + 8]
push dword [ebp - 0xfc]
mov ecx, dword [eax + ecx + 4]
call fcn.004279ad
mov dword [ebp - 8], eax
pop ecx
cmp eax, 6
jne 0x42bebc
push dword [ebx + 0x10]
lea eax, [edi + 0x90]
push str.database_table_is_locked:__s
push dword [ebp - 4]
push eax
call fcn.0041a3f7
add esp, 0x10
jmp case.0x42bc90.12
mov ebx, dword [ebx + 0x10]
mov edx, ebx
mov ecx, dword [ebp - 4]
call fcn.00446bf6
mov dword [ebp - 8], eax
test ebx, ebx
je 0x42bebc
push dword [edi + 0x90]
push dword [ebp - 4]
call fcn.0041a0e3
mov eax, dword [ebx + 8]
pop ecx
mov dword [edi + 0x90], eax
and dword [ebx + 8], 0
pop ecx
jmp case.0x42bc90.12
mov edx, dword [ebx + 4]
lea eax, [edi + 0x90]
mov ecx, dword [ebp - 4]
push eax
push dword [ebx + 0x10]
call fcn.004468da
pop ecx
pop ecx
jmp 0x42cd55
mov ecx, dword [ebp - 4]
push 2
pop eax
mov byte [edi + 0x9c], al
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.00446a85
pop ecx
mov dword [ebp - 8], eax
mov byte [edi + 0x9c], 0
jmp 0x42bebc
mov eax, dword [ebx + 0x10]
lea edx, [ebp - 0x14]
and dword [ebp - 0x14], 0
push edx
push eax
mov ecx, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xc], ecx
call dword [ecx + 0x18]
push dword [edi + 0x90]
mov dword [ebp - 8], eax
push dword [ebp - 4]
call fcn.0041a0e3
mov ecx, dword [ebp - 0x3c]
xor edx, edx
add esp, 0x10
mov eax, dword [ecx + 8]
mov dword [edi + 0x90], eax
mov eax, dword [ebp - 8]
mov dword [ecx + 8], edx
test eax, eax
jne 0x42bebc
mov eax, dword [ebp - 0x14]
push edx
push 0xffffffffffffffff
mov dword [eax], ecx
lea eax, [ebx - 0x14]
mov edx, dword [ebx + 4]
mov ecx, edi
push eax
call fcn.0042b90b
add esp, 0xc
test eax, eax
je 0x42e9c5
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0x60], ecx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax + 0x64], ecx
jmp case.0x42bc90.12
mov eax, dword [ebp - 4]
push dword [ebp - 0x14]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0xc]
call dword [eax + 0x1c]
jmp 0x42be5f
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
imul edx, dword [ebx + 0xc], 0x28
and dword [ebp - 0x3c], 0
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1c], eax
add edx, dword [edi + 0x4c]
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x5c], eax
mov esi, dword [edx]
mov dword [ebp - 0x58], esi
mov eax, dword [eax]
mov esi, dword [edi + 0x24]
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x20]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], ecx
test ecx, ecx
jle 0x42ea45
mov esi, dword [ebp - 0x3c]
lea ecx, [edx + 0x50]
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x2c]
push 0x28
pop edi
mov dword [ebx + esi*4], ecx
call fcn.0042b8d5
inc esi
add ecx, edi
cmp esi, edx
jl 0x42ea28
mov ebx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
jmp 0x42ea48
mov edx, dword [ebp - 0xc]
mov ecx, eax
call fcn.004461c1
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
push edx
mov byte [edi + 0x9c], 1
push dword [ebx + 0x10]
push dword [ebp - 0x58]
push dword [ebp - 0x5c]
call dword [eax + 0x20]
add esp, 0x14
mov dword [ebp - 8], eax
mov byte [edi + 0x9c], 0
push dword [edi + 0x90]
push dword [ebp - 4]
call fcn.0041a0e3
mov edx, dword [ebp - 0x28]
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov dword [edi + 0x90], eax
and dword [edx + 8], 0
call fcn.004461c5
mov eax, dword [ebp - 8]
test eax, eax
jne 0x42eabd
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x5c]
call dword [eax + 0x28]
pop ecx
test eax, eax
je 0x42eaba
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x1c], 0
jmp 0x42bebc
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 0x1c], 0
jne case.0x42bc90.12
mov ecx, dword [ecx + 0x60]
lea edx, [ebp - 0x150]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
call dword [eax + 0x30]
push dword [edi + 0x90]
mov dword [ebp - 8], eax
push dword [ebp - 4]
call fcn.0041a0e3
mov eax, dword [esi + 8]
add esp, 0x10
mov dword [edi + 0x90], eax
mov ecx, 0xffe4
and dword [esi + 8], 0
mov esi, dword [ebp - 0x20]
push 4
mov ax, word [esi + 0x1c]
and ax, cx
pop ecx
or ax, cx
mov ecx, dword [ebp - 0x14c]
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0x150]
jmp 0x42e185
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 - 0x3c], ecx
add eax, dword [edi + 0x4c]
cmp byte [ecx + 0x1c], 0
mov dword [ebp - 0xc], eax
je 0x42eb5c
mov ecx, eax
jmp 0x42bf4e
mov eax, dword [ecx + 0x60]
push 0x40
push 0
mov edi, dword [eax]
lea eax, [ebp - 0x1f8]
push eax
mov esi, dword [edi]
call fcn.0044f970
mov edx, dword [ebp - 0xc]
lea ecx, [ebp - 0x1f0]
add esp, 0xc
call fcn.004281b0
mov eax, dword [ebp - 0x1d4]
mov ecx, 0xffe1
push dword [ebx + 8]
and eax, ecx
or eax, 1
mov word [ebp - 0x1d4], ax
lea eax, [ebp - 0x1f8]
push eax
mov eax, dword [ebp - 0x3c]
push dword [eax + 0x60]
call dword [esi + 0x2c]
mov esi, dword [ebp - 0x54]
add esp, 0xc
mov dword [ebp - 8], eax
push dword [esi + 0x90]
push dword [ebp - 4]
call fcn.0041a0e3
mov eax, dword [edi + 8]
movzx edx, byte [ebp - 0x4c]
pop ecx
pop ecx
mov dword [esi + 0x90], eax
lea ecx, [ebp - 0x1f0]
and dword [edi + 8], 0
call fcn.00427b9d
mov ecx, dword [ebp - 0xc]
lea edx, [ebp - 0x1f0]
call fcn.004281b0
mov ecx, dword [ebp - 0xc]
call fcn.00428100
mov edi, esi
test eax, eax
jne 0x42bddf
jmp 0x42beb6
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x3c], edx
cmp byte [edx + 0x1c], 0
jne case.0x42bc90.12
mov eax, dword [edx + 0x60]
mov esi, dword [eax]
mov ecx, esi
mov eax, dword [esi]
mov dword [ebp - 0xc], eax
call fcn.004461c1
mov byte [edi + 0x9c], 1
push dword [edx + 0x60]
call dword [eax + 0x24]
pop ecx
push dword [edi + 0x90]
mov dword [ebp - 8], eax
push dword [ebp - 4]
mov byte [edi + 0x9c], 0
call fcn.0041a0e3
mov eax, dword [esi + 8]
mov edx, esi
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
mov dword [edi + 0x90], eax
and dword [esi + 8], 0
call fcn.004461c5
mov eax, dword [ebp - 8]
test eax, eax
jne 0x42d79f
mov eax, dword [ebp - 0x3c]
push dword [eax + 0x60]
mov eax, dword [ebp - 0xc]
call dword [eax + 0x28]
test eax, eax
mov eax, dword [ebp - 8]
pop ecx
jne 0x42beb9
jmp 0x42d79f
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x3c], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [edi + 0x4c]
mov dword [ebp - 0xc], eax
test byte [eax + 0x1c], 0x12
jne 0x42ecbf
movzx edx, byte [ebp - 0x4c]
mov ecx, eax
call fcn.00427d6f
test eax, eax
jne 0x42ee59
mov ebx, dword [ebp - 0x3c]
mov ecx, ebx
call fcn.004461c1
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebx]
push dword [ecx + 0x14]
push ebx
call dword [eax + 0x4c]
push dword [edi + 0x90]
mov dword [ebp - 8], eax
push dword [ebp - 4]
call fcn.0041a0e3
mov eax, dword [ebx + 8]
add esp, 0x10
mov ecx, dword [ebp - 4]
mov edx, ebx
mov dword [edi + 0x90], eax
and dword [ebx + 8], 0
call fcn.004461c5
jmp case.0x42bc90.12
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x28], edx
mov ecx, dword [edx]
mov dword [ebp - 0x5c], ecx
cmp dword [ecx + 0x34], eax
je 0x42eef2
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0xc], ecx
imul ecx, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x2c]
add ecx, dword [edi + 0x4c]
test eax, eax
jle 0x42ed61
mov esi, dword [ebp - 0x3c]
mov ebx, eax
mov edi, dword [ebp - 0xc]
push 0x28
pop edx
call fcn.0042b8d5
mov dword [edi + esi*4], ecx
add ecx, edx
inc esi
cmp esi, ebx
jl 0x42ed43
mov ebx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov ecx, edx
call fcn.004461c1
lea ecx, [ebp - 0xd8]
push ecx
push dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x5c]
push edx
call dword [eax + 0x34]
push dword [edi + 0x90]
mov dword [ebp - 8], eax
push dword [ebp - 4]
call fcn.0041a0e3
mov edx, dword [ebp - 0x28]
add esp, 0x18
mov ecx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov dword [edi + 0x90], eax
and dword [edx + 8], 0
call fcn.004461c5
cmp dword [ebx + 4], 0
mov eax, dword [ebp - 8]
je 0x42edcd
test eax, eax
jne 0x42edcd
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd4]
mov dword [edx + 0x30], eax
mov eax, edx
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 8]
inc dword [edi + 0xa0]
jmp 0x42bebc
imul eax, dword [ebx + 4], 0x18
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 8]
mov ecx, dword [eax + ecx + 4]
call fcn.004269e0
lea edx, [ebp - 0x100]
mov ecx, eax
call fcn.0041f556
mov ecx, dword [ebp - 4]
mov dword [ebp - 8], eax
test eax, eax
jne 0x42bebf
push 4
pop eax
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0x100]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x42bdcf
cmp dword [ebx + 0x10], 0
je case.0x42bc90.12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x94]
test ecx, ecx
je case.0x42bc90.12
push dword [ebx + 0x10]
push dword [eax + 0x98]
call ecx
pop ecx
jmp 0x42be5f
push 9
jmp 0x42ee77
lea ecx, [ebp - 0x1b0]
call fcn.00427e79
mov ecx, dword [ebp - 4]
push str.out_of_memory
push ecx
lea eax, [edi + 0x90]
mov byte [ecx + 0x1e], 1
push eax
call fcn.0041a3f7
add esp, 0xc
push 7
pop eax
mov dword [ebp - 8], eax
mov ecx, edi
mov dword [edi + 0x78], eax
call fcn.00429acd
cmp dword [ebp - 8], 0xc0a
jne 0x42ee95
mov eax, dword [ebp - 4]
mov byte [eax + 0x1e], 1
xor ebx, ebx
inc ebx
mov ecx, dword [ebp - 0x80]
call fcn.00421172
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret
mov eax, dword [ebp - 0x24]
mov dword [edi + 0x74], eax
mov ebx, ecx
mov dword [edi + 0x78], ecx
jmp 0x42ee98
push 0xd
jmp 0x42d356
cmp eax, 0xc0a
je 0x42ee7b
mov ecx, eax
call fcn.0044c8af
push eax
push 0x632a68
push edx
lea eax, [edi + 0x90]
push eax
call fcn.0041a3f7
mov eax, dword [ebp - 8]
add esp, 0x10
jmp 0x42ee7b
push 6
pop eax
push 2
pop ecx
mov dword [edi + 0x80], ecx
jmp 0x42ee78
push str.read_only_table
push dword [ebp - 4]
lea eax, [edi + 0x90]
push eax
call fcn.0041a3f7
add esp, 0xc
xor eax, eax
inc eax
jmp 0x42ee78
mov edx, dword [ebp - 4]
mov al, byte [ebx + 4]
mov cl, byte [ebx + 8]
mov byte [ebp - 0xd], al
cmp dword [edx + 0x90], 1
mov byte [ebp - 0x71], cl
jle 0x42ef5a
test al, al
je 0x42ef5a
cmp byte [edx + 0x1c], 0
jne 0x42ef5a
test cl, cl
mov eax, str.rollback
mov esi, str.commit
cmove eax, esi
push eax
push str.cannot__s_transaction___SQL_statements_in_progress
push edx
lea eax, [edi + 0x90]
push eax
call fcn.0041a3f7
add esp, 0x10
jmp 0x42ef09
cmp al, byte [edx + 0x1c]
jne 0x42ef83
cmp byte [ebp - 0x71], 0
mov eax, str.cannot_commit___no_transaction_is_active
mov ecx, str.cannot_rollback___no_transaction_is_active
cmove ecx, eax
cmp byte [ebp - 0xd], 0
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmovne eax, ecx
push eax
push edx
jmp 0x42eefa
cmp dword [ebx + 8], 0
je 0x42ef9f
mov ecx, edx
call fcn.0044c813
mov eax, dword [ebp - 4]
mov byte [eax + 0x1c], 1
push 1
pop eax
push 0x65
pop ebx
jmp 0x42f019
mov ecx, edi
mov byte [edx + 0x1c], al
call fcn.00429acd
push 5
pop edx
cmp eax, edx
jne 0x42ef97
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [edi + 0x74], eax
inc ecx
mov eax, dword [ebp - 4]
mov ebx, edx
sub cl, byte [ebp - 0xd]
mov byte [eax + 0x1c], cl
mov dword [edi + 0x78], edx
jmp 0x42ee98
mov eax, dword [ebx + 4]
mov dword [edi + 0x78], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 0x74], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0x80], eax
cmp dword [ebx + 0x10], 0
je 0x42f001
push dword [ebx + 0x10]
lea eax, [edi + 0x90]
push 0x632a68
push dword [ebp - 4]
push eax
call fcn.0041a3f7
add esp, 0x10
mov ecx, edi
call fcn.00429acd
push 5
pop ecx
cmp eax, ecx
je 0x42eead
push 0x65
pop ebx
push 1
pop eax
cmp dword [edi + 0x78], 0
cmovne ebx, eax
jmp 0x42ee98
mov eax, dword [edi + 0x54]
push 2
pop edx
add eax, edx
or eax, ecx
mov dword [edi + 0x54], eax
imul esi, dword [ebx + 4], 0x28
add esi, dword [edi + 0x4c]
mov dword [edi + 0x94], esi
cmp dword [ebx + 8], 0
jle 0x42f06d
push 0x28
pop edi
mov ecx, esi
call fcn.00427d2e
mov ecx, esi
call fcn.0042b8d5
mov eax, dword [ebp - 0xc4]
add esi, edi
inc eax
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebx + 8]
jl 0x42f048
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 4]
cmp byte [ecx + 0x1e], 0
jne 0x42ee5c
mov eax, dword [ebp - 0x24]
inc dword [edi + 0x50]
inc eax
push 0x64
mov dword [edi + 0x74], eax
pop ebx
jmp 0x42ee98
push 9
pop ebx
mov ecx, ebx
mov dword [ebp - 8], ebx
mov dword [edi + 0x78], ebx
call fcn.0044c8af
push eax
push 0x632a68
push dword [ebp - 4]
jmp 0x42eed0