Function at 0x439b90
Capabilities:
Reference sql statements

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0x31c
push ebx
push esi
mov esi, dword [ebp + 0x7c]
mov ebx, dword [esi]
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0x14]
mov cl, byte [ecx + 0x49]
xor eax, eax
push edi
lea edi, [esi + 0xa4]
mov dword [ebp + 0x70], eax
mov dword [ebp + 0x6c], ebx
mov byte [ebp + 0x28], cl
mov dword [ebp + 0x64], eax
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x58], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x70], edi
call fcn.004172f1
cmp dword [esi + 0x68], 7
je 0x439f91
xor eax, eax
mov dword [esi + 0x68], eax
mov dword [esi + 0x84], eax
mov dword [ebx + 0x19c], eax
mov eax, dword [ebx + 0xd8]
test eax, eax
jne 0x43cf11
mov eax, dword [esi + 0x64]
mov edi, dword [ebp + 0x58]
mov dword [ebp + 0x60], eax
mov edx, edi
mov ecx, ebx
jmp 0x439c1e
mov ecx, dword [ebp + 0x6c]
mov esi, dword [ebp + 0x7c]
mov edx, dword [ebp + 0x64]
mov edi, dword [ebp + 0x58]
cmp byte [ecx + 0x1e], 0
jne 0x439f91
mov ebx, dword [ebp + 0x60]
mov eax, dword [ecx + 0x100]
imul ebx, ebx, 0x14
add ebx, dword [esi + 0x14]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x54], ebx
test eax, eax
je 0x439c6d
mov eax, dword [ecx + 0x108]
cmp eax, dword [ebp - 0x18]
jne 0x439c6a
mov eax, dword [ebp + 0x6c]
push dword [eax + 0x104]
call dword [ebp + 0x68]
pop ecx
test eax, eax
jne 0x43cd91
and dword [ebp - 0x18], eax
mov edx, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x6c]
inc dword [ebp - 0x18]
movzx eax, byte [ebx]
mov al, byte [eax + 0x4826b8]
mov byte [ebp + 0x4f], al
test al, 2
je 0x439cbb
mov edi, dword [ebx + 8]
imul edi, edi, 0x28
add edi, dword [esi + 0x4c]
mov eax, edi
mov dword [ebp + 0x58], edi
call fcn.0041819a
mov ecx, dword [ebp + 0x6c]
xor eax, eax
inc eax
mov word [edi + 0x1c], ax
mov edx, dword [ebp + 0x64]
mov al, byte [ebx]
mov byte [ebp + 0x4f], al
movzx eax, al
mov dword [ebp + 0x50], eax
dec eax
cmp eax, 0x8e
ja case.0x439cb4.12
jmp dword [eax*4 + 0x43cf28]
test al, 4
je 0x439d06
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x4c]
imul eax, eax, 0x28
add eax, edx
test byte [ebp + 0x4f], 8
mov dword [ebp + 0x64], eax
je 0x439cf3
mov eax, dword [ebx + 8]
imul eax, eax, 0x28
add eax, edx
test byte [ebp + 0x4f], 0x20
mov dword [ebp + 0x38], eax
je 0x439c9a
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, edx
mov dword [ebp + 0x58], eax
mov edi, eax
jmp 0x439c9a
test byte [ebp + 0x4f], 0x10
je 0x439c9a
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, edx
mov dword [ebp + 0x24], eax
jmp 0x439c9a
test al, 8
je 0x439d18
mov eax, dword [ebx + 8]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
mov dword [ebp + 0x38], eax
jmp 0x439c9d
test al, 0x10
je 0x439c9d
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
mov dword [ebp + 0x24], eax
jmp 0x439c9d
mov eax, dword [ecx + 0xd8]
test eax, eax
jne 0x43cf11
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp + 0x60], ebx
jmp case.0x439cb4.12
mov ecx, dword [ebx + 4]
imul ecx, ecx, 0x28
add ecx, dword [esi + 0x4c]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp + 0x60]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebx + 8]
mov dword [ebp + 0x64], ecx
dec eax
mov dword [ebp + 0x60], eax
jmp case.0x439cb4.12
mov eax, dword [edx]
jmp 0x439d67
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, dword [esi + 0x4c]
push 4
mov ecx, dword [ebx]
pop eax
mov word [ebx + 0x1c], ax
mov eax, dword [ebp + 0x60]
cdq
mov dword [ebp + 0x64], ebx
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebp + 0x60], ecx
jmp case.0x439cb4.12
push 4
pop eax
mov word [edi + 0x1c], ax
mov eax, dword [ebx + 4]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x439cb4.12
push 4
pop eax
mov word [edi + 0x1c], ax
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebx]
mov dword [edi], eax
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
jmp case.0x439cb4.12
push 8
pop eax
mov word [edi + 0x1c], ax
mov eax, dword [ebx + 0x10]
fld qword [eax]
fstp qword [edi + 8]
jmp case.0x439cb4.12
mov ecx, dword [ebx + 0x10]
mov byte [ebx], 0x1c
call fcn.00414b9d
cmp byte [ebp + 0x28], 1
mov dword [ebx + 4], eax
je 0x439e91
push 1
push ecx
xor eax, eax
or ecx, 0xffffffff
mov edx, edi
call fcn.00425d0b
movzx eax, byte [ebp + 0x28]
push eax
mov eax, edi
call fcn.00425b11
add esp, 0xc
test eax, eax
jne 0x439f91
mov eax, edi
call fcn.004219ac
test eax, eax
jne 0x439f91
and dword [edi + 0x24], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [edi + 0x1c], ax
cmp byte [ebx + 1], 0xff
jne 0x439e56
push dword [ebx + 0x10]
push dword [ebp + 0x6c]
call fcn.004149e8
pop ecx
pop ecx
mov byte [ebx + 1], 0xff
mov eax, dword [edi + 0x14]
mov dword [ebx + 0x10], eax
mov edi, dword [edi + 0x18]
mov eax, dword [ebp + 0x6c]
mov dword [ebx + 4], edi
cmp edi, dword [eax + 0x50]
jle case.0x439cb4.12
mov edi, dword [ebp + 0x7c]
push str.string_or_blob_too_big
push dword [ebp + 0x6c]
sub edi, 0xffffff80
call fcn.00424c55
mov dword [ebp + 0x70], 0x12
jmp 0x439fb0
mov ecx, dword [ebp + 0x6c]
cmp eax, dword [ecx + 0x50]
jg 0x439e72
mov edi, dword [ebp + 0x58]
mov eax, 0xa02
mov word [edi + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [edi + 0x18], eax
mov al, byte [ebp + 0x28]
mov byte [edi + 0x1f], al
jmp case.0x439cb4.12
mov ecx, dword [ebx + 4]
push 0
push dword [ebx + 0x10]
xor eax, eax
mov edx, edi
call fcn.00425d0b
mov al, byte [ebp + 0x28]
mov byte [edi + 0x1f], al
jmp 0x43cd7d
mov ebx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
dec ebx
imul ebx, ebx, 0x28
lea edi, [ebx + eax]
mov ecx, edi
call fcn.0041831f
test eax, eax
jne 0x439e72
mov esi, dword [ebp + 0x58]
push 0x800
call fcn.00418346
jmp 0x43cd7e
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
imul eax, eax, 0x28
mov ebx, dword [ebx + 8]
mov esi, dword [esi + 0x4c]
imul ebx, ebx, 0x28
add eax, esi
mov dword [ebp + 0x64], eax
add ebx, esi
jmp 0x439f44
mov ebx, dword [ebp + 0x58]
mov eax, dword [ebx + 0x24]
mov esi, dword [ebp + 0x64]
and dword [ebx + 0x24], 0
push ebx
dec edi
mov dword [ebp + 0x68], eax
call fcn.00418386
mov eax, dword [ebp + 0x68]
mov dword [esi + 0x24], eax
add esi, 0x28
pop ecx
mov dword [ebp + 0x64], esi
add ebx, 0x28
mov dword [ebp + 0x58], ebx
test edi, edi
jne 0x439f1d
jmp case.0x439cb4.12
mov edi, dword [ebx + 4]
mov esi, dword [ebx + 8]
imul edi, edi, 0x28
mov eax, dword [ebp + 0x7c]
imul esi, esi, 0x28
mov eax, dword [eax + 0x4c]
add edi, eax
add esi, eax
mov ebx, 0x1000
push ebx
mov dword [ebp + 0x64], edi
mov dword [ebp + 0x58], esi
call fcn.00418346
pop ecx
test word [esi + 0x1c], bx
je case.0x439cb4.12
mov eax, esi
call fcn.004219ac
test eax, eax
je case.0x439cb4.12
mov eax, dword [ebp + 0x6c]
mov edi, dword [ebp + 0x7c]
push str.out_of_memory
push eax
sub edi, 0xffffff80
mov byte [eax + 0x1e], 1
call fcn.00424c55
mov dword [ebp + 0x70], 7
pop ecx
pop ecx
mov eax, dword [ebp + 0x7c]
mov esi, dword [ebp + 0x70]
push eax
mov dword [eax + 0x68], esi
call fcn.00438663
pop ecx
cmp esi, 0xc0a
jne 0x439fd1
mov eax, dword [ebp + 0x6c]
mov byte [eax + 0x1e], 1
xor ebx, ebx
inc ebx
mov edi, dword [ebp - 0x70]
call fcn.0041732b
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x74
leave
ret
mov edi, dword [ebx + 4]
mov esi, dword [ebx + 8]
imul edi, edi, 0x28
mov eax, dword [ebp + 0x7c]
imul esi, esi, 0x28
mov eax, dword [eax + 0x4c]
add edi, eax
add esi, eax
mov dword [ebp + 0x64], edi
mov dword [ebp + 0x58], esi
push 0x1000
jmp 0x439ef8
movzx eax, word [edx + 0x1c]
mov esi, dword [ebp + 0x38]
mov bl, byte [esi + 0x1c]
or bl, al
test bl, 1
je 0x43a02a
mov edi, dword [ebp + 0x58]
call fcn.00418274
jmp case.0x439cb4.12
mov esi, 0x4000
test esi, eax
je 0x43a041
mov eax, dword [ebp + 0x64]
call fcn.0041d569
mov edx, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x6c]
test byte [edx + 0x1c], 0x12
jne 0x43a063
movzx eax, byte [ebp + 0x28]
push eax
mov eax, dword [ebp + 0x64]
call fcn.00425b31
pop ecx
test eax, eax
jne 0x439f91
mov edx, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x6c]
mov eax, dword [ebp + 0x38]
test word [eax + 0x1c], si
je 0x43a077
call fcn.0041d569
mov edx, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x6c]
mov eax, dword [ebp + 0x38]
test byte [eax + 0x1c], 0x12
jne 0x43a09c
movzx eax, byte [ebp + 0x28]
push eax
mov eax, dword [ebp + 0x38]
call fcn.00425b31
pop ecx
test eax, eax
jne 0x439f91
mov edx, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x6c]
mov eax, dword [ebp + 0x38]
mov eax, dword [eax + 0x18]
add eax, dword [edx + 0x18]
cdq
mov esi, eax
mov eax, dword [ecx + 0x50]
mov edi, edx
cdq
cmp edi, edx
jg 0x439e72
jl 0x43a0c0
cmp esi, eax
ja 0x439e72
mov edi, dword [ebp + 0x58]
mov ax, word [edi + 0x1c]
mov ebx, dword [ebp + 0x38]
mov ecx, 0xff02
and ax, cx
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
cmp edi, ebx
sete al
push eax
lea eax, [esi + 2]
call fcn.0041d4a8
pop ecx
test eax, eax
jne 0x439f91
cmp edi, ebx
je 0x43a108
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [edi + 0x14]
call sub.MSVCR90.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 0x64]
push dword [eax + 0x18]
push dword [eax + 0x14]
mov eax, dword [ebx + 0x18]
add eax, dword [edi + 0x14]
push eax
call sub.MSVCR90.dll_memcpy
mov eax, dword [edi + 0x14]
mov byte [esi + eax], 0
mov eax, dword [edi + 0x14]
mov byte [esi + eax + 1], 0
mov eax, 0x200
add esp, 0xc
or word [edi + 0x1c], ax
mov dword [edi + 0x18], esi
jmp 0x439eb1
mov edi, dword [ebp + 0x64]
mov esi, edi
call fcn.00426364
mov esi, dword [ebp + 0x38]
call fcn.00426364
movzx edx, word [esi + 0x1c]
movzx ecx, word [edi + 0x1c]
movzx eax, cx
movzx edx, dx
or eax, edx
mov dword [ebp + 0x68], eax
test al, 1
jne 0x43a01d
movzx eax, word [esi + 0x1c]
and cl, al
test cl, 4
je 0x43a20d
mov eax, dword [esi]
mov edx, dword [esi + 4]
movzx esi, byte [ebx]
sub esi, 0x4e
mov ecx, dword [edi]
mov edi, dword [edi + 4]
je 0x43a204
dec esi
je 0x43a1fb
dec esi
je 0x43a1ed
dec esi
mov esi, ecx
je 0x43a1bd
or esi, edi
je 0x43a01d
mov esi, ecx
and esi, edi
cmp esi, 0xffffffff
jne 0x43a1af
xor ecx, ecx
inc ecx
xor edi, edi
push edi
push ecx
push edx
push eax
call fcn.0047c180
jmp 0x43a865
or esi, edi
je 0x43a01d
mov esi, ecx
and esi, edi
cmp esi, 0xffffffff
jne 0x43a1df
test eax, eax
jne 0x43a1df
cmp edx, 0x80000000
jne 0x43a1df
xor ecx, ecx
inc ecx
xor edi, edi
push edi
push ecx
push edx
push eax
call fcn.0047c0d0
jmp 0x43a865
push edi
push ecx
push edx
push eax
call fcn.0047c240
jmp 0x43a865
sub eax, ecx
sbb edx, edi
jmp 0x43a865
add eax, ecx
adc edx, edi
jmp 0x43a865
mov esi, edi
call fcn.00425c0f
fstp qword [ebp + 0x40]
mov esi, dword [ebp + 0x38]
call fcn.00425c0f
movzx eax, byte [ebx]
sub eax, 0x4e
je 0x43a291
dec eax
je 0x43a28c
dec eax
je 0x43a287
dec eax
je 0x43a276
fld qword [ebp + 0x40]
call fcn.0047c056
mov esi, eax
mov edi, edx
call fcn.0047c056
mov ecx, esi
or ecx, edi
je 0x43a01d
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x43a259
xor esi, esi
inc esi
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.0047c180
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], edx
fild qword [ebp - 0xe0]
jmp 0x43a294
fldz
fcomp qword [ebp + 0x40]
fnstsw ax
test ah, 0x44
jnp 0x43a2e2
fdiv qword [ebp + 0x40]
jmp 0x43a294
fmul qword [ebp + 0x40]
jmp 0x43a294
fsub qword [ebp + 0x40]
jmp 0x43a294
fadd qword [ebp + 0x40]
fstp qword [ebp + 0x40]
push ecx
fld qword [ebp + 0x40]
push ecx
fstp qword [esp]
call fcn.00414b74
add esp, 8
test eax, eax
jne 0x43a01d
mov eax, dword [ebp + 0x58]
fld qword [ebp + 0x40]
mov cx, word [eax + 0x1c]
fstp qword [eax + 8]
mov edx, 0xff08
and cx, dx
or cx, 8
test byte [ebp + 0x68], 8
mov word [eax + 0x1c], cx
jne case.0x439cb4.12
mov esi, eax
call fcn.0041824e
jmp case.0x439cb4.12
fstp st(0)
jmp 0x43a01d
mov ecx, dword [ebx + 8]
movzx edi, byte [ebx + 3]
imul ecx, ecx, 0x28
mov edx, dword [esi + 0x24]
add ecx, dword [esi + 0x4c]
xor esi, esi
mov dword [ebp + 0x48], edi
mov dword [ebp + 0x68], edx
test edi, edi
jle 0x43a315
mov dword [edx + esi*4], ecx
call fcn.00418c90
inc esi
add ecx, 0x28
cmp esi, edi
jl 0x43a305
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x43a327
and dword [ebp - 0x11c], 0
jmp 0x43a32f
mov dword [ebp - 0x11c], eax
mov eax, dword [eax]
mov edi, dword [ebx + 0xc]
and dword [ebp - 0xf8], 0
imul edi, edi, 0x28
and dword [ebp - 0xf4], 0
mov dword [ebp - 0x120], eax
mov eax, dword [ebp + 0x7c]
add edi, dword [eax + 0x4c]
xor eax, eax
inc eax
mov word [ebp - 0xfc], ax
mov eax, dword [ebp + 0x6c]
mov dword [ebp - 0x108], eax
lea eax, [ebp - 0x118]
push eax
mov esi, edi
mov dword [ebp + 0x58], edi
call fcn.00418386
mov eax, dword [ebp - 0xfc]
and dword [ebp - 0xec], 0
and eax, 0xff01
or eax, 1
mov word [ebp - 0xfc], ax
mov eax, dword [ebp - 0x120]
test byte [eax + 3], 8
pop ecx
je 0x43a3a5
mov ecx, dword [ebx - 4]
mov dword [ebp - 0xe8], ecx
push dword [ebp + 0x68]
lea ecx, [ebp - 0x120]
push dword [ebp + 0x48]
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp + 0x6c]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x43ce50
cmp dword [ebp - 0x11c], 0
je 0x43a3ed
push dword [ebx + 4]
mov edi, dword [ebp - 0x11c]
call fcn.0041854e
mov eax, dword [ebp - 0x11c]
mov edi, dword [ebp + 0x58]
pop ecx
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
cmp dword [ebp - 0xec], 0
je 0x43a425
lea eax, [ebp - 0x118]
push eax
call fcn.004261c7
mov edi, dword [ebp + 0x7c]
push eax
push 0x4855b4
push dword [ebp + 0x6c]
sub edi, 0xffffff80
call fcn.00424c55
mov eax, dword [ebp - 0xec]
mov edi, dword [ebp + 0x58]
add esp, 0x10
mov dword [ebp + 0x70], eax
movzx eax, byte [ebp + 0x28]
push eax
lea eax, [ebp - 0x118]
call fcn.00425b11
push edi
lea esi, [ebp - 0x118]
call fcn.00418386
pop ecx
pop ecx
mov ecx, edi
call fcn.0041831f
test eax, eax
jne 0x439e72
jmp case.0x439cb4.12
mov eax, dword [ebp + 0x38]
mov al, byte [eax + 0x1c]
or al, byte [edx + 0x1c]
test al, 1
jne 0x43a01d
mov esi, dword [ebp + 0x38]
call fcn.00425ba1
mov esi, dword [ebp + 0x64]
mov edi, eax
mov dword [ebp - 0x10], edx
call fcn.00425ba1
mov ecx, eax
movzx eax, byte [ebx]
sub eax, 0x4a
je 0x43a4ac
dec eax
je 0x43a4a5
mov edx, dword [ebp - 0x10]
dec eax
mov eax, edi
je 0x43a499
call fcn.0047c3c0
jmp 0x43a49e
call fcn.0047c280
mov edi, eax
mov dword [ebp - 0x10], edx
jmp 0x43a4b1
or edi, ecx
or dword [ebp - 0x10], edx
jmp 0x43a4b1
and edi, ecx
and dword [ebp - 0x10], edx
mov eax, dword [ebp + 0x58]
mov ecx, dword [ebp - 0x10]
mov dword [eax], edi
mov dword [eax + 4], ecx
mov cx, word [eax + 0x1c]
mov edx, 0xff04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x439cb4.12
mov esi, dword [ebp + 0x64]
mov eax, esi
call fcn.00425c68
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x439cb4.12
push dword [ebp + 0x28]
mov esi, dword [ebp + 0x64]
push 0x63
mov eax, esi
call fcn.004263de
movzx eax, word [esi + 0x1c]
pop ecx
pop ecx
test al, 4
jne 0x43a51d
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x439d3e
mov dword [ebp + 0x70], 0x14
jmp 0x43ced0
and eax, 0xff04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x439cb4.12
test byte [edx + 0x1c], 4
je case.0x439cb4.12
mov eax, dword [ebp + 0x64]
call fcn.00425c8d
jmp case.0x439cb4.12
movzx eax, word [edx + 0x1c]
test al, 1
jne case.0x439cb4.12
mov esi, dword [ebp + 0x64]
push dword [ebp + 0x28]
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
push 0x61
mov eax, esi
mov word [esi + 0x1c], cx
call fcn.004263de
mov eax, 0x4000
pop ecx
pop ecx
test word [esi + 0x1c], ax
je 0x43a587
mov eax, esi
call fcn.0041d569
mov dword [ebp + 0x70], eax
jmp 0x43a58b
and dword [ebp + 0x70], 0
mov eax, 0xffe3
and word [esi + 0x1c], ax
jmp case.0x439cb4.12
movzx eax, word [edx + 0x1c]
test al, 1
jne case.0x439cb4.12
test al, 0x10
jne 0x43a5bb
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x64]
push 0x61
call fcn.004263de
mov edx, dword [ebp + 0x64]
pop ecx
pop ecx
mov ax, word [edx + 0x1c]
mov ecx, 0xff10
and ax, cx
or ax, 0x10
mov word [edx + 0x1c], ax
jmp case.0x439cb4.12
test byte [edx + 0x1c], 0xd
jne case.0x439cb4.12
mov eax, dword [ebp + 0x64]
call fcn.00425cb0
jmp case.0x439cb4.12
test byte [edx + 0x1c], 1
jne case.0x439cb4.12
mov eax, dword [ebp + 0x64]
call fcn.00425c68
jmp case.0x439cb4.12
test byte [edx + 0x1c], 1
jne case.0x439cb4.12
jmp 0x43a538
mov eax, dword [ebp + 0x24]
mov al, byte [eax + 0x1c]
or al, byte [edx + 0x1c]
test al, 1
mov al, byte [ebx + 3]
je 0x43a657
test al, 0x10
je 0x43a64a
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, dword [esi + 0x4c]
mov ecx, 0xff01
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 1
mov dword [ebp + 0x58], ebx
mov word [ebx + 0x1c], ax
jmp case.0x439cb4.12
test al, 8
je case.0x439cb4.12
jmp 0x439d3b
and al, 0x67
mov byte [ebp - 0x50], al
je 0x43a68d
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x64]
push dword [ebp - 0x50]
call fcn.004263de
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
push dword [ebp - 0x50]
call fcn.004263de
mov eax, dword [ebp + 0x6c]
add esp, 0x10
cmp byte [eax + 0x1e], 0
jne 0x439f91
mov edx, dword [ebp + 0x64]
mov esi, 0x4000
mov eax, esi
test word [edx + 0x1c], ax
je 0x43a6a2
mov eax, dword [ebp + 0x64]
call fcn.0041d569
mov eax, dword [ebp + 0x24]
test word [eax + 0x1c], si
je 0x43a6b0
call fcn.0041d569
push dword [ebp + 0x64]
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebp + 0x24]
call fcn.0042cea0
pop ecx
mov ecx, dword [ebp + 0x54]
movzx edx, byte [ecx]
sub edx, 0x43
je 0x43a703
dec edx
je 0x43a6fa
dec edx
je 0x43a6f1
dec edx
je 0x43a6e8
dec edx
je 0x43a6df
xor edx, edx
test eax, eax
setge dl
jmp 0x43a70a
xor edx, edx
test eax, eax
setl dl
jmp 0x43a70a
xor edx, edx
test eax, eax
setle dl
jmp 0x43a70a
xor edx, edx
test eax, eax
setg dl
jmp 0x43a70a
xor edx, edx
test eax, eax
sete dl
jmp 0x43a70a
xor edx, edx
test eax, eax
setne dl
test byte [ecx + 3], 0x10
mov eax, edx
je 0x43a73a
mov ecx, dword [ecx + 8]
mov edx, dword [ebp + 0x7c]
imul ecx, ecx, 0x28
add ecx, dword [edx + 0x4c]
mov esi, 0xff04
mov dx, word [ecx + 0x1c]
and dx, si
or dx, 4
mov dword [ebp + 0x58], ecx
mov word [ecx + 0x1c], dx
jmp 0x43cd58
test eax, eax
je case.0x439cb4.12
mov eax, dword [ecx + 8]
jmp 0x439d66
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x20], eax
jmp case.0x439cb4.12
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 0x10]
mov dword [ebp + 0x48], ecx
mov ecx, dword [ebx + 8]
xor esi, esi
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x68], ecx
test eax, eax
jle 0x43a7d0
lea eax, [edi + 0xc]
mov dword [ebp + 0x5c], eax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x43a782
mov eax, dword [eax + esi*4]
jmp 0x43a784
mov eax, esi
mov ecx, dword [ebp + 0x5c]
mov ebx, dword [ecx]
mov edx, dword [ebp + 0x68]
mov ecx, dword [edi + 8]
movzx ecx, byte [esi + ecx]
add edx, eax
imul edx, edx, 0x28
mov dword [ebp + 0x3c], ecx
mov ecx, dword [ebp + 0x7c]
mov ecx, dword [ecx + 0x4c]
add edx, ecx
push edx
mov edx, dword [ebp + 0x48]
add eax, edx
imul eax, eax, 0x28
add eax, ecx
call fcn.0042cea0
pop ecx
mov dword [ebp - 4], eax
test eax, eax
jne 0x43a7c7
add dword [ebp + 0x5c], 4
inc esi
cmp esi, dword [ebp + 0x1c]
jl 0x43a776
jmp 0x43a7d0
cmp dword [ebp + 0x3c], 0
je 0x43a7d0
neg dword [ebp - 4]
and dword [ebp - 0x20], 0
jmp case.0x439cb4.12
cmp dword [ebp - 4], 0
jge 0x43a7e7
mov ebx, dword [ebx + 4]
jmp 0x439d3e
je 0x439d3b
mov ebx, dword [ebx + 0xc]
jmp 0x439d3e
test byte [edx + 0x1c], 1
je 0x43a800
push 2
pop edi
jmp 0x43a80f
mov esi, dword [ebp + 0x64]
call fcn.00425ba1
xor edi, edi
or eax, edx
je 0x43a80f
inc edi
mov esi, dword [ebp + 0x38]
test byte [esi + 0x1c], 1
je 0x43a81d
push 2
pop eax
jmp 0x43a82d
call fcn.00425ba1
or eax, edx
je 0x43a82b
xor eax, eax
inc eax
jmp 0x43a82d
xor eax, eax
imul edi, edi, 3
cmp byte [ebx], 0x3d
jne 0x43a83f
movzx eax, byte [edi + eax + 0x482684]
jmp 0x43a847
movzx eax, byte [edi + eax + 0x482748]
cmp eax, 2
jne 0x43a864
mov eax, dword [ebp + 0x58]
mov cx, word [eax + 0x1c]
mov edx, 0xff01
and cx, dx
or cx, 1
jmp 0x43a4cc
cdq
mov ecx, dword [ebp + 0x58]
mov dword [ecx], eax
mov ax, word [ecx + 0x1c]
mov dword [ecx + 4], edx
mov edx, 0xff04
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
jmp case.0x439cb4.12
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, dword [esi + 0x4c]
test byte [edx + 0x1c], 1
mov dword [ebp + 0x58], ebx
je 0x43a89f
mov edi, ebx
jmp 0x43a020
mov esi, dword [ebp + 0x64]
call fcn.00425ba1
or eax, edx
jne 0x43a8ae
inc eax
jmp 0x43a8b0
xor eax, eax
cdq
push edx
push eax
mov esi, ebx
call fcn.004182c5
jmp 0x43cd7d
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, dword [esi + 0x4c]
test byte [edx + 0x1c], 1
mov dword [ebp + 0x58], ebx
jne 0x43a898
mov esi, dword [ebp + 0x64]
call fcn.00425ba1
not eax
not edx
jmp 0x43a8b1
test byte [edx + 0x1c], 1
je 0x43a8ea
mov eax, dword [ebx + 0xc]
jmp 0x43a914
mov esi, dword [ebp + 0x64]
call fcn.00425c0f
fcomp qword [0x485090]
fnstsw ax
test ah, 0x44
jnp 0x43a904
xor eax, eax
inc eax
jmp 0x43a906
xor eax, eax
cmp byte [ebx], 0x56
jne 0x43a914
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
jmp 0x43a64c
mov eax, dword [ebx + 0xc]
test byte [edx + 0x1c], 1
jne 0x439d3b
add edx, 0x28
dec eax
mov dword [ebp + 0x64], edx
test eax, eax
jg 0x43a91e
jmp case.0x439cb4.12
test byte [edx + 0x1c], 1
jne case.0x439cb4.12
jmp 0x439d3b
mov eax, dword [ebx + 8]
mov edi, dword [ebx + 4]
push 0x28
mov dword [ebp + 0x44], eax
lea eax, [ebp - 0x158]
push 0
push eax
call sub.MSVCR90.dll_memset
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
mov edx, 0xff01
mov cx, word [eax + 0x1c]
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
mov dword [ebp + 0x50], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + edi*4]
xor ecx, ecx
add esp, 0xc
mov dword [ebp + 0x3c], eax
cmp dword [eax], ecx
je 0x43a9ff
mov esi, eax
call fcn.00436497
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43ced0
and dword [ebp + 4], eax
mov eax, esi
cmp byte [eax + 0x1c], 0
mov ecx, dword [eax]
mov dword [ebp + 0x34], ecx
je 0x43a9ba
and dword [ebp + 0x10], 0
jmp 0x43a9fa
mov ecx, dword [eax + 0x60]
mov edx, dword [ebp + 0x7c]
cmp ecx, dword [edx + 0x54]
jne 0x43a9d3
mov ecx, dword [eax + 0x64]
mov eax, dword [eax + 0x70]
mov dword [ebp + 0x10], ecx
mov dword [ebp + 4], eax
jmp 0x43a9fa
cmp byte [eax + 0x22], 0
mov eax, dword [ebp + 0x34]
je 0x43a9f2
lea edi, [ebp - 0x160]
call fcn.00436052
mov eax, dword [ebp - 0x160]
mov dword [ebp + 0x10], eax
jmp 0x43a9fa
lea edi, [ebp + 0x10]
call fcn.00436099
mov eax, dword [ebp + 0x3c]
jmp 0x43aa11
mov edx, dword [eax + 0x34]
mov dword [ebp + 0x10], edx
mov edx, dword [eax + 0x38]
mov dword [ebp + 4], edx
mov dword [eax + 0x60], ecx
mov dword [ebp + 0x34], ecx
mov eax, dword [eax + 0x4c]
mov dword [ebp + 0x5c], eax
mov eax, dword [ebp + 0x10]
test eax, eax
je case.0x439cb4.12
mov ecx, dword [ebp + 0x6c]
cmp eax, dword [ecx + 0x50]
jg 0x439e72
mov esi, dword [ebp + 0x3c]
mov edx, dword [esi + 0x60]
mov ecx, dword [ebp + 0x7c]
mov eax, dword [esi + 0x68]
mov dword [ebp + 0x68], eax
cmp edx, dword [ecx + 0x54]
jne 0x43aa4d
mov eax, dword [esi + 0x6c]
mov dword [ebp + 0x48], eax
jmp 0x43abcb
mov edx, dword [ebp + 0x5c]
mov edi, dword [ebp + 0x10]
and dword [ebp + 0x1c], 0
lea eax, [eax + edx*4]
mov dword [ebp + 0x48], eax
mov dword [esi + 0x6c], eax
mov dword [esi + 0x64], edi
mov eax, dword [ecx + 0x54]
mov dword [esi + 0x60], eax
mov eax, dword [ebp + 4]
test eax, eax
je 0x43aa75
mov dword [ebp + 0x70], eax
jmp 0x43aab3
cmp byte [esi + 0x22], 0
mov eax, dword [ebp + 0x34]
je 0x43aa93
cmp byte [eax + 0x3b], 1
jne 0x43aa9d
push 0
lea ecx, [ebp + 0x1c]
push ecx
call fcn.00417f10
pop ecx
pop ecx
jmp 0x43aa9f
cmp byte [eax + 0x3b], 1
jne 0x43aa9d
push 1
jmp 0x43aa86
xor eax, eax
cmp dword [ebp + 0x1c], edi
mov dword [ebp + 0x70], eax
jl 0x43aaaf
mov dword [ebp + 4], eax
mov dword [esi + 0x70], eax
jmp 0x43aab3
and dword [esi + 0x70], 0
mov cl, byte [eax]
cmp cl, 0x80
jae 0x43aac5
movzx edi, cl
xor ecx, ecx
mov dword [ebp], edi
inc ecx
jmp 0x43aad9
mov ecx, dword [ebp + 0x70]
lea edi, [ebp]
call fcn.00415381
mov edi, dword [ebp]
movzx ecx, al
mov eax, dword [ebp + 0x70]
cmp dword [ebp + 4], 0
movzx ecx, cl
mov dword [ebp + 0x18], ecx
jne 0x43ab27
cmp dword [ebp + 0x1c], edi
jge 0x43ab27
xor eax, eax
and dword [ebp - 0x148], eax
mov word [ebp - 0x13c], ax
movzx eax, byte [esi + 0x22]
push eax
push 0
push dword [ebp + 0x34]
lea eax, [ebp - 0x158]
mov ebx, edi
call fcn.004363bb
add esp, 0xc
mov dword [ebp + 0x70], eax
test eax, eax
jne case.0x439cb4.12
mov eax, dword [ebp - 0x144]
mov ebx, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x18]
add edi, eax
cmp dword [ebp + 0x5c], 0
mov dword [ebp + 0x1c], edi
lea esi, [ecx + eax]
jle 0x43ab8e
mov edi, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x5c]
sub ecx, edi
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x5c], eax
cmp esi, dword [ebp + 0x1c]
jae 0x43ab82
mov eax, dword [ebp]
mov dword [ecx + edi], eax
mov al, byte [esi]
cmp al, 0x80
jae 0x43ab64
movzx eax, al
mov dword [edi], eax
xor eax, eax
inc eax
jmp 0x43ab71
mov ecx, esi
call fcn.00415381
mov ecx, dword [ebp + 0x18]
movzx eax, al
movzx eax, al
add esi, eax
mov eax, dword [edi]
call fcn.0041864f
add dword [ebp], eax
jmp 0x43ab86
and dword [ecx + edi], 0
add edi, 4
dec dword [ebp + 0x5c]
jne 0x43ab49
lea eax, [ebp - 0x158]
push eax
call fcn.004181e4
xor eax, eax
inc eax
pop ecx
mov word [ebp - 0x13c], ax
cmp esi, dword [ebp + 0x1c]
ja 0x43acb2
mov eax, dword [ebp]
cmp eax, dword [ebp + 0x10]
jg 0x43acb2
cmp esi, dword [ebp + 0x1c]
jne 0x43abcb
mov eax, dword [ebp + 0x10]
cmp dword [ebp], eax
jne 0x43acb2
mov esi, dword [ebp + 0x44]
mov eax, dword [ebp + 0x48]
shl esi, 2
lea edi, [esi + eax]
cmp dword [edi], 0
je 0x43ac5b
cmp dword [ebp + 4], 0
je 0x43abf7
mov eax, dword [ebp + 0x50]
call fcn.0041819a
mov eax, dword [ebp + 0x68]
mov ecx, dword [edi]
push dword [esi + eax]
add ecx, dword [ebp + 4]
jmp 0x43ac48
mov eax, dword [ebp + 0x68]
add esi, eax
mov eax, dword [esi]
mov dword [ebp + 0x44], esi
call fcn.0041864f
mov esi, dword [ebp + 0x50]
mov ebx, eax
lea eax, [ebp - 0x158]
push eax
call fcn.00418386
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + 0x22]
push eax
push dword [edi]
lea eax, [ebp - 0x158]
push dword [ebp + 0x34]
call fcn.004363bb
add esp, 0x10
mov dword [ebp + 0x70], eax
test eax, eax
jne case.0x439cb4.12
mov eax, dword [ebp + 0x44]
push dword [eax]
mov ecx, dword [ebp - 0x144]
mov esi, dword [ebp + 0x50]
call fcn.0041870b
mov al, byte [ebp + 0x28]
pop ecx
mov ecx, esi
mov byte [ecx + 0x1f], al
jmp 0x43ac72
cmp byte [ebx + 1], 0xf8
jne 0x43ac72
mov edi, dword [ebx + 0x10]
mov esi, dword [ebp + 0x50]
push 0x800
call fcn.00418346
pop ecx
cmp dword [ebp - 0x134], 0
mov eax, dword [ebp + 0x50]
je 0x43aca8
mov cx, word [eax + 0x1c]
mov edx, 0xe7ff
and cx, dx
mov edx, 0x200
or cx, dx
mov word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x144]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x134]
mov dword [eax + 0x24], ecx
call fcn.004219ac
jmp 0x43c40e
mov dword [ebp + 0x70], 0xb
jmp case.0x439cb4.12
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
imul ecx, ecx, 0x28
mov edi, dword [ebx + 0x10]
lea ebx, [ecx + eax - 0x28]
mov esi, eax
cmp eax, ebx
ja case.0x439cb4.12
and dword [ebp + 0x68], 0
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43acf4
mov eax, esi
call fcn.0041d569
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x68]
cdq
push 0x28
pop ecx
idiv ecx
movzx eax, byte [eax + edi]
push eax
mov eax, esi
call fcn.004263de
add dword [ebp + 0x68], 0x28
add esi, 0x28
pop ecx
pop ecx
cmp esi, ebx
jbe 0x43ace2
jmp case.0x439cb4.12
mov ecx, dword [ebx + 8]
movzx edx, byte [esi + 0x8b]
imul ecx, ecx, 0x28
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x34], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp + 0x44], eax
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
mov dword [ebp + 0x48], edx
lea ecx, [ecx + eax - 0x28]
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x3c], ecx
mov esi, eax
cmp eax, ecx
ja 0x43adf7
mov dword [ebp + 0x68], 0xffffffe8
sub dword [ebp + 0x68], eax
mov ecx, dword [ebp + 0x44]
test ecx, ecx
je 0x43ad8e
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x68]
lea eax, [esi + eax + 0x18]
cdq
push 0x28
pop edi
idiv edi
movzx eax, byte [eax + ecx]
push eax
mov eax, esi
call fcn.004263de
pop ecx
pop ecx
mov edi, 0x4000
mov eax, edi
test word [esi + 0x1c], ax
je 0x43ada8
cmp dword [esi + 0x18], 0
jle 0x43ada8
mov eax, esi
call fcn.0041d569
push dword [ebp + 0x48]
mov edx, esi
call fcn.0041858c
mov dword [ebp + 0x18], eax
call fcn.0041864f
mov dword [ebp + 0x1c], eax
cdq
add dword [ebp - 0x30], eax
push 0
push dword [ebp + 0x18]
adc dword [ebp - 0x2c], edx
call fcn.00415414
add dword [ebp + 0x54], eax
add esp, 0xc
test word [esi + 0x1c], di
je 0x43ade1
mov eax, dword [esi]
add dword [ebp + 0x34], eax
jmp 0x43adeb
cmp dword [ebp + 0x1c], 0
je 0x43adeb
and dword [ebp + 0x34], 0
add esi, 0x28
cmp esi, dword [ebp + 0x3c]
jbe 0x43ad69
mov eax, dword [ebp + 0x54]
cdq
push edx
push eax
call fcn.00415414
mov esi, eax
add dword [ebp + 0x54], esi
mov eax, dword [ebp + 0x54]
cdq
push edx
push eax
call fcn.00415414
add esp, 0x10
cmp esi, eax
jge 0x43ae1c
inc dword [ebp + 0x54]
mov eax, dword [ebp + 0x34]
cdq
mov edi, eax
mov eax, edx
mov dword [ebp + 0x44], eax
mov eax, dword [ebp + 0x54]
cdq
mov esi, eax
mov eax, dword [ebp + 0x6c]
mov eax, dword [eax + 0x50]
sub esi, edi
mov edi, dword [ebp + 0x44]
mov ecx, edx
sbb ecx, edi
add esi, dword [ebp - 0x30]
cdq
adc ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x130], esi
cmp ecx, edx
jg 0x439e72
jl 0x43ae5b
cmp esi, eax
ja 0x439e72
mov edi, dword [ebx + 0xc]
mov eax, dword [ebp + 0x7c]
imul edi, edi, 0x28
add edi, dword [eax + 0x4c]
push 0
mov eax, esi
mov dword [ebp + 0x58], edi
call fcn.0041d4a8
pop ecx
test eax, eax
jne 0x439f91
mov eax, dword [ebp + 0x54]
mov ecx, dword [edi + 0x14]
mov dword [ebp + 0x68], ecx
cmp eax, 0x80
jae 0x43ae93
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x43ae98
call fcn.004151c4
movzx esi, al
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x54], eax
cmp eax, dword [ebp + 0x3c]
ja 0x43aee0
mov ebx, dword [ebp + 0x68]
push dword [ebp + 0x48]
mov edx, dword [ebp + 0x54]
call fcn.0041858c
pop ecx
cmp eax, 0x80
jae 0x43aec4
mov byte [esi + ebx], al
xor eax, eax
inc eax
jmp 0x43aecc
lea ecx, [esi + ebx]
call fcn.004151c4
add dword [ebp + 0x54], 0x28
movzx eax, al
add esi, eax
mov eax, dword [ebp + 0x54]
cmp eax, dword [ebp + 0x3c]
jbe 0x43aea9
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x54], eax
jmp 0x43af04
push dword [ebp + 0x48]
sub eax, esi
push eax
mov eax, dword [ebp + 0x68]
lea ebx, [esi + eax]
mov eax, dword [ebp + 0x54]
call fcn.00418662
add esi, eax
add dword [ebp + 0x54], 0x28
mov eax, dword [ebp + 0x54]
pop ecx
pop ecx
cmp eax, dword [ebp + 0x3c]
mov eax, dword [ebp - 0x130]
jbe 0x43aee5
and dword [edi + 0x20], 0
mov dword [edi + 0x18], eax
mov eax, 0x410
mov word [edi + 0x1c], ax
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x43af31
mov dword [edi], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov byte [edi + 0x1f], 1
jmp case.0x439cb4.12
cmp byte [ecx + 0x1c], 0
je 0x43af4d
cmp dword [ecx + 0x90], 1
jle case.0x439cb4.12
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 8]
imul eax, eax, 0x18
mov eax, dword [eax + ecx + 4]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x43af6b
cmp byte [ecx + 0x10], 0
jne case.0x439cb4.12
call fcn.00421859
mov dword [ebp + 0x70], eax
mov dword [esi + 0xe4], 1
jmp case.0x439cb4.12
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov dword [ebp + 0x44], eax
test eax, eax
je 0x43afd1
cmp byte [ecx + 0x1c], 0
jne 0x43afd1
test edx, edx
je 0x43afc1
cmp dword [ecx + 0x90], 1
jle 0x43afd1
push str.cannot_rollback_transaction___SQL_statements_in_progress
push dword [ebp + 0x6c]
lea edi, [esi + 0x80]
call fcn.00424c55
mov dword [ebp + 0x70], 5
jmp 0x43cd7d
cmp dword [ecx + 0x94], 1
jle 0x43afd1
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x43afa7
movzx ecx, byte [ecx + 0x1c]
cmp eax, ecx
jne 0x43ce62
test eax, eax
jne 0x43afe8
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x43aff6
mov eax, str.cannot_rollback___no_transaction_is_active
test edx, edx
jne 0x43aff6
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push dword [ebp + 0x6c]
lea edi, [esi + 0x80]
call fcn.00424c55
mov dword [ebp + 0x70], 1
jmp 0x43cd7d
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 8]
imul eax, eax, 0x18
mov edi, dword [eax + ecx + 4]
test edi, edi
je case.0x439cb4.12
push dword [ebx + 8]
call fcn.0042a519
pop ecx
push 5
pop ebx
mov dword [ebp + 0x70], eax
cmp eax, ebx
je 0x43ceaa
test eax, eax
je case.0x439cb4.12
cmp eax, 8
jne 0x43ced0
jmp case.0x439cb4.12
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 0xc]
test eax, eax
jge 0x43b066
or ecx, 0xffffffff
sub ecx, eax
mov eax, ecx
neg ebx
imul eax, eax, 0x18
lea ecx, [ebp - 0x84]
push ecx
mov ecx, dword [ebp + 0x6c]
mov ecx, dword [ecx + 8]
inc ebx
push ebx
push dword [eax + ecx + 4]
call fcn.0042c6ea
mov dword [ebp + 0x70], eax
mov eax, dword [ebp - 0x84]
add esp, 0xc
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
mov ax, word [edi + 0x1c]
mov ecx, 0xff04
and ax, cx
or ax, 4
mov word [edi + 0x1c], ax
jmp case.0x439cb4.12
mov esi, dword [ebx + 4]
mov edi, dword [ebp + 0x6c]
imul esi, esi, 0x18
mov eax, dword [ebp + 0x24]
add esi, dword [edi + 8]
call fcn.00425c68
mov eax, dword [ebp + 0x24]
push dword [eax]
mov eax, dword [ebx + 8]
inc eax
push eax
mov eax, dword [esi + 4]
call fcn.0042c78d
mov dword [ebp + 0x70], eax
mov eax, dword [ebx + 8]
pop ecx
pop ecx
test eax, eax
jne 0x43b0ee
mov ecx, dword [ebp + 0x24]
mov eax, dword [esi + 0x14]
mov ecx, dword [ecx]
mov dword [eax], ecx
or dword [edi + 0xc], 0x10
jmp 0x43b0fe
cmp eax, 1
jne 0x43b0fe
mov ecx, dword [ebp + 0x24]
mov eax, dword [esi + 0x14]
mov cl, byte [ecx]
mov byte [eax + 0x48], cl
cmp dword [ebx + 4], 1
jne case.0x439cb4.12
mov eax, edi
call fcn.00418906
jmp case.0x439cb4.12
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 8]
imul eax, eax, 0x18
mov eax, dword [eax + ecx + 4]
test eax, eax
je 0x43b139
lea ecx, [ebp - 0x24]
push ecx
push 1
push eax
call fcn.0042c6ea
add esp, 0xc
mov dword [ebp + 0x70], eax
jmp 0x43b141
and dword [ebp + 0x70], 0
and dword [ebp - 0x24], 0
cmp dword [ebp + 0x70], 0
jne case.0x439cb4.12
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebx + 8]
je case.0x439cb4.12
mov esi, dword [ebp + 0x7c]
sub esi, 0xffffff80
push dword [esi]
push dword [ebp + 0x6c]
call fcn.004149e8
mov edi, dword [ebp + 0x6c]
pop ecx
pop ecx
mov ebx, str.database_schema_has_changed
mov eax, edi
call fcn.0041c07e
mov dword [esi], eax
mov eax, dword [ebp + 0x54]
mov eax, dword [eax + 4]
mov edx, dword [edi + 8]
mov ecx, eax
imul ecx, ecx, 0x18
mov ecx, dword [ecx + edx + 0x14]
mov edx, dword [ebp - 0x24]
cmp dword [ecx], edx
je 0x43b19a
mov ebx, edi
call fcn.00426e0f
mov eax, edi
call fcn.00418906
mov dword [ebp + 0x70], 0x11
jmp case.0x439cb4.12
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 8]
mov dword [ebp + 0x18], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp + 0x44], eax
imul eax, eax, 0x18
add eax, dword [ecx + 8]
cmp byte [ebp + 0x4f], 9
mov ecx, dword [eax + 4]
mov dword [ebp + 0x48], edi
mov dword [ebp + 0x5c], ecx
jne 0x43b1ec
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x48]
lea ecx, [esi + 0x8b]
mov dword [ebp + 0x68], 1
cmp al, byte [ecx]
jae 0x43b1f0
mov byte [ecx], al
jmp 0x43b1f0
and dword [ebp + 0x68], 0
cmp byte [ebx + 3], 0
je 0x43b214
imul edi, edi, 0x28
add edi, dword [esi + 0x4c]
mov eax, edi
mov dword [ebp + 0x38], edi
call fcn.00425c68
mov edi, dword [edi]
cmp edi, 2
mov dword [ebp + 0x48], edi
jl 0x43b2e6
mov edx, dword [ebp + 0x18]
push 1
push dword [ebp + 0x44]
lea ecx, [ebx - 0x14]
mov eax, esi
call fcn.00438a53
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x439f91
push dword [edi]
mov eax, dword [ebp + 0x5c]
mov byte [edi + 0x1c], 1
push dword [ebx + 0x10]
push dword [ebp + 0x68]
push dword [ebp + 0x48]
call fcn.0043128e
add esp, 0x10
cmp byte [ebx + 1], 0xfa
mov dword [ebp + 0x70], eax
jne 0x43b26b
mov ecx, dword [ebx + 0x10]
mov dword [edi + 0x48], ecx
mov edx, dword [esi]
mov edx, dword [edx + 8]
mov edx, dword [edx + 0x14]
mov dl, byte [edx + 0x49]
mov byte [ecx + 4], dl
jmp 0x43b26f
and dword [edi + 0x48], 0
test eax, eax
je 0x43b2a1
push 5
pop ecx
cmp eax, ecx
je 0x43ceb8
cmp eax, 0x10
jne 0x43ced0
cmp byte [ebx + 1], 0xfa
setne al
test al, al
mov byte [edi + 0x21], al
sete al
and dword [edi], 0
mov byte [edi + 0x22], al
jmp 0x43c83c
mov esi, dword [edi]
call fcn.0043631f
test al, 0xf0
jne 0x43b2e6
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x43b2bb
cmp ecx, 2
jne 0x43b2e6
mov cl, al
shr eax, 1
and cl, 1
and al, 1
mov byte [edi + 0x21], cl
mov byte [edi + 0x22], al
test cl, cl
je 0x43b2d4
cmp byte [ebx + 1], 0xfa
je 0x43b2e6
test al, al
je case.0x439cb4.12
cmp byte [ebx + 1], 0xfa
je case.0x439cb4.12
mov dword [ebp + 0x70], 0xb
jmp 0x43ced0
mov edx, dword [ebx + 4]
push 1
push 0xffffffffffffffff
mov ecx, ebx
mov eax, esi
call fcn.00438a53
pop ecx
pop ecx
mov dword [ebp + 0x5c], eax
test eax, eax
je 0x439f91
mov edx, dword [ebp + 0x6c]
mov byte [eax + 0x1c], 1
add eax, 0x30
push eax
push 0x1f4
push 1
mov ecx, 0x41e
xor eax, eax
call fcn.0042929f
add esp, 0xc
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43b3bf
mov eax, dword [ebp + 0x5c]
add eax, 0x30
mov edi, dword [eax]
push 1
call fcn.0042a519
pop ecx
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43b3bf
mov edi, dword [ebp + 0x5c]
cmp dword [ebx + 0x10], eax
je 0x43b3a3
lea eax, [ebp - 0x60]
push 2
push eax
mov eax, dword [edi + 0x30]
call fcn.00431832
pop ecx
pop ecx
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43b39d
push dword [edi]
mov eax, dword [edi + 0x30]
push dword [ebx + 0x10]
push 1
push dword [ebp - 0x60]
call fcn.0043128e
mov ebx, dword [ebx + 0x10]
mov dword [edi + 0x48], ebx
mov dword [ebp + 0x70], eax
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x49]
add esp, 0x10
mov byte [ebx + 4], al
mov byte [edi + 0x21], 0
jmp 0x43b3c2
push dword [edi]
mov eax, dword [edi + 0x30]
push 0
push 1
push 1
call fcn.0043128e
add esp, 0x10
mov dword [ebp + 0x70], eax
mov byte [edi + 0x21], 1
jmp 0x43b3c2
mov edi, dword [ebp + 0x5c]
cmp byte [edi + 0x21], 0
sete al
mov byte [edi + 0x22], al
jmp case.0x439cb4.12
mov edx, dword [ebx + 4]
push 0
push 0xffffffffffffffff
lea ecx, [ebx - 0x14]
mov eax, esi
call fcn.00438a53
pop ecx
pop ecx
test eax, eax
je 0x439f91
mov byte [eax + 0x1c], 1
mov byte [eax + 0x1e], 1
mov cl, byte [ebx + 8]
mov byte [eax + 0x1f], cl
mov byte [eax + 0x21], 1
mov byte [eax + 0x22], 0
jmp case.0x439cb4.12
mov ebx, dword [ebx + 4]
mov edi, ebx
mov ebx, dword [ebp + 0x7c]
mov eax, dword [ebx + 0x30]
shl edi, 2
mov esi, dword [edi + eax]
call fcn.00438538
mov eax, ebx
mov eax, dword [eax + 0x30]
and dword [edi + eax], 0
jmp case.0x439cb4.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi]
test eax, eax
je 0x43b677
cmp byte [edi + 0x21], 0
mov byte [edi + 0x1c], 0
je 0x43b595
mov esi, dword [ebp + 0x24]
call fcn.00426364
call fcn.00425ba1
mov dword [ebp + 8], eax
mov byte [edi + 0x19], 0
movzx eax, word [esi + 0x1c]
mov dword [ebp + 0xc], edx
test al, 4
jne 0x43b55b
test al, 8
je 0x439d3b
xor ecx, ecx
cmp dword [ebp + 8], ecx
jne 0x43b522
mov eax, SysReAllocStringLen
cmp edx, eax
jne 0x43b522
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xb0], ecx
fild qword [ebp - 0xb0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x43b4b7
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x43b522
fldz
mov dword [ebp + 0x20], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x43b4f1
cmp dword [ebp + 0x50], 0x78
je 0x43b4da
cmp dword [ebp + 0x50], 0x6c
jne 0x439d3b
mov edi, dword [edi]
lea esi, [ebp + 0x20]
call fcn.0042ad06
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43ced0
jmp 0x43b519
cmp dword [ebp + 0x50], 0x5a
je 0x43b501
cmp dword [ebp + 0x50], 0x37
jne 0x439d3b
mov eax, dword [edi]
lea ebx, [ebp + 0x20]
call fcn.0042ad27
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43ced0
mov ebx, dword [ebp + 0x54]
cmp dword [ebp + 0x20], 0
jmp 0x43a64c
cmp dword [ebp + 0x50], 0x5a
je 0x43b545
cmp dword [ebp + 0x50], 0x6c
je 0x43b545
fild qword [ebp + 8]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x43b55d
add dword [ebp + 8], 0xffffffff
adc dword [ebp + 0xc], 0xffffffff
jmp 0x43b55d
fild qword [ebp + 8]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x43b55d
add dword [ebp + 8], 1
adc dword [ebp + 0xc], ecx
jmp 0x43b55d
xor ecx, ecx
mov esi, dword [ebp + 8]
mov ebx, dword [edi]
lea eax, [ebp + 0x20]
push eax
push ecx
push dword [ebp + 0xc]
push esi
push ecx
call fcn.004312c4
add esp, 0x14
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43ced0
xor ebx, ebx
cmp dword [ebp + 0x20], ebx
jne 0x43b5fc
mov eax, dword [ebp + 0xc]
mov byte [edi + 0x19], 1
mov dword [edi + 8], esi
mov dword [edi + 0xc], eax
jmp 0x43b5fc
cmp dword [ebp + 0x50], 0x78
mov ecx, dword [edi + 0x48]
mov dword [ebp - 0x94], ecx
mov cx, word [ebx + 0x10]
mov word [ebp - 0x90], cx
je 0x43b5b9
cmp dword [ebp + 0x50], 0x37
je 0x43b5b9
xor ecx, ecx
jmp 0x43b5bc
push 8
pop ecx
mov word [ebp - 0x8e], cx
mov ecx, dword [ebx + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [esi + 0x4c]
mov ebx, eax
mov dword [ebp - 0x8c], ecx
lea ecx, [ebp + 0x20]
push ecx
xor ecx, ecx
push ecx
push ecx
push ecx
lea ecx, [ebp - 0x94]
push ecx
call fcn.004312c4
add esp, 0x14
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43ced0
mov byte [edi + 0x19], al
xor ebx, ebx
mov eax, dword [ebp + 0x50]
mov byte [edi + 0x20], bl
mov dword [edi + 0x60], ebx
cmp eax, 0x6c
je 0x43b638
cmp eax, 0x78
je 0x43b638
cmp dword [ebp + 0x20], ebx
jg 0x43b62b
jne 0x43b61b
cmp eax, 0x5a
je 0x43b62b
mov eax, dword [edi]
xor ecx, ecx
cmp byte [eax + 0x3b], 1
setne cl
mov dword [ebp + 0x20], ecx
jmp 0x43b669
lea eax, [ebp + 0x20]
push eax
push dword [edi]
call fcn.00436214
jmp 0x43b657
cmp dword [ebp + 0x20], ebx
jl 0x43b64c
jne 0x43b644
cmp eax, 0x78
je 0x43b64c
mov dword [ebp + 0x20], ebx
jmp case.0x439cb4.12
lea eax, [ebp + 0x20]
push eax
push dword [edi]
call fcn.0043610b
pop ecx
mov dword [ebp + 0x70], eax
pop ecx
cmp eax, ebx
jne 0x43ced0
xor ebx, ebx
mov byte [edi + 0x19], bl
cmp dword [ebp + 0x20], ebx
je case.0x439cb4.12
jmp 0x43b821
cmp byte [edi + 0x1e], 0
jmp 0x43a93c
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx + eax*4]
cmp dword [edi], 0
je case.0x439cb4.12
mov esi, dword [ebp + 0x38]
mov byte [edi + 0x1c], 0
call fcn.00425ba1
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], edx
mov byte [edi + 0x19], 0
mov byte [edi + 0x20], 1
jmp case.0x439cb4.12
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x30]
mov edi, dword [edx + eax*4]
xor ecx, ecx
cmp dword [edi], ecx
je 0x43b72f
mov eax, dword [ebp + 0x24]
mov ebx, dword [edi + 0x48]
push 0xc0
push dword [eax + 0x14]
lea ecx, [ebp - 0x2a8]
push dword [eax + 0x18]
call fcn.0041dc37
mov esi, eax
xor eax, eax
add esp, 0xc
cmp esi, eax
je 0x439f91
mov ecx, dword [ebp + 0x54]
cmp byte [ecx], 0x7d
jne 0x43b6f8
or word [esi + 6], 0x10
mov ebx, dword [edi]
lea ecx, [ebp - 0x80]
push ecx
push eax
push eax
push eax
push esi
call fcn.004312c4
add esp, 0x14
mov dword [ebp + 0x70], eax
call fcn.004188bf
cmp dword [ebp + 0x70], 0
jne case.0x439cb4.12
mov ebx, dword [ebp + 0x54]
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x80], eax
mov byte [edi + 0x20], al
sete cl
mov dword [edi + 0x60], eax
cmp byte [ebx], 0x7d
je 0x43bf7a
test ecx, ecx
jmp 0x43a93c
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 0x10]
mov edi, dword [ebp + 0x24]
imul ebx, ebx, 0x28
add ebx, dword [esi + 0x4c]
mov dword [ebp + 0x44], eax
mov eax, edi
call fcn.00425c68
mov eax, dword [edi]
mov ecx, dword [ebp + 0x44]
mov dword [ebp - 0x58], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x54], eax
mov eax, dword [esi + 0x30]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi]
mov dword [ebp + 0x68], eax
test eax, eax
je case.0x439cb4.12
push 0xc0
push dword [ebx + 0x14]
lea ecx, [ebp - 0x2a8]
push dword [ebx + 0x18]
mov ebx, dword [esi + 0x48]
call fcn.0041dc37
mov edi, eax
xor eax, eax
add esp, 0xc
cmp edi, eax
je 0x439f91
or word [edi + 6], 4
mov ebx, dword [ebp + 0x68]
lea ecx, [ebp - 0xc]
push ecx
push eax
push eax
push eax
push edi
mov dword [esi + 0x60], eax
call fcn.004312c4
xor ebx, ebx
add esp, 0x14
mov dword [ebp + 0x70], eax
cmp eax, ebx
jne 0x43cec0
cmp dword [ebp - 0xc], ebx
jge 0x43b7fa
lea eax, [ebp - 0xc]
push eax
push dword [ebp + 0x68]
call fcn.0043610b
pop ecx
pop ecx
mov dword [ebp + 0x70], eax
cmp dword [ebp - 0xc], ebx
je 0x43b7fa
mov eax, dword [ebp + 0x54]
mov eax, dword [eax + 8]
dec eax
mov esi, edi
mov dword [ebp + 0x60], eax
call fcn.004188bf
jmp case.0x439cb4.12
lea eax, [ebp - 0xc]
push eax
push edi
mov eax, esi
call fcn.00436634
pop ecx
pop ecx
mov esi, edi
mov dword [ebp + 0x70], eax
call fcn.004188bf
cmp dword [ebp + 0x70], ebx
jne 0x43ced0
cmp dword [ebp - 0xc], 0
jle 0x43b82c
mov eax, dword [ebp + 0x54]
mov eax, dword [eax + 8]
jmp 0x439d66
lea eax, [ebp - 0xc0]
push eax
push dword [ebp + 0x68]
call fcn.00436539
pop ecx
pop ecx
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43ced0
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
cmp edx, dword [ebp - 0x58]
jne 0x43b85e
cmp ecx, dword [ebp - 0x54]
je 0x43b821
mov eax, dword [ebp + 0x24]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.0x439cb4.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
mov edx, dword [esi]
test edx, edx
je 0x43b8c3
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea ebx, [ebp + 0x68]
push ebx
xor edi, edi
push edi
push eax
push ecx
push edi
mov ebx, edx
mov dword [ebp + 0x68], edi
call fcn.004312c4
mov dword [ebp + 0x70], eax
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax]
mov dword [esi + 8], ecx
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
xor eax, eax
add esp, 0x14
cmp dword [ebp + 0x68], eax
mov byte [esi + 0x1c], al
sete cl
cmp dword [ebp + 0x68], eax
mov byte [esi + 0x19], cl
mov dword [esi + 0x60], eax
jmp 0x43b66c
cmp byte [esi + 0x1e], 0
jmp 0x43a93c
mov ebx, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov eax, ebx
shl eax, 2
mov ecx, dword [eax + ecx]
mov edx, dword [ecx + 0x50]
mov dword [edi], edx
mov ecx, dword [ecx + 0x54]
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0x30]
mov eax, dword [eax + ecx]
add dword [eax + 0x50], 1
adc dword [eax + 0x54], 0
jmp 0x43b093
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + eax*4]
and dword [ebp + 0x2c], 0
and dword [ebp + 0x30], 0
mov dword [ebp + 0x50], eax
mov eax, dword [eax]
test eax, eax
je 0x43baef
and dword [ebp + 0x68], 0
mov esi, eax
call fcn.0043631f
and al, 3
cmp al, 1
jne 0x43b2e6
mov esi, dword [ebp + 0x50]
cmp byte [esi + 0x1b], 0
jne 0x43ba3a
cmp byte [esi + 0x1d], 0
je 0x43b94c
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x2c], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x30], eax
jmp 0x43b9a3
mov eax, dword [esi]
lea ebx, [ebp + 0x14]
call fcn.0042ad27
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43ced0
mov esi, dword [ebp + 0x50]
xor ebx, ebx
cmp dword [ebp + 0x14], ebx
je 0x43b97a
mov dword [ebp + 0x30], ebx
mov ebx, dword [ebp + 0x54]
mov dword [ebp + 0x2c], 1
jmp 0x43b9a6
mov eax, dword [esi]
lea edi, [ebp + 0x2c]
call fcn.00436052
cmp dword [ebp + 0x2c], 0xffffffff
jne 0x43b999
cmp dword [ebp + 0x30], 0x7fffffff
jne 0x43b999
mov byte [esi + 0x1b], 1
jmp 0x43b9a0
add dword [ebp + 0x2c], 1
adc dword [ebp + 0x30], ebx
mov ebx, dword [ebp + 0x54]
mov esi, dword [ebp + 0x50]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x43ba00
mov eax, dword [ebp + 0x7c]
imul ebx, ebx, 0x28
add ebx, dword [eax + 0x4c]
mov eax, ebx
call fcn.00425c68
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp eax, 0xffffffff
jne 0x43b9d3
cmp ecx, 0x7fffffff
je 0x43cec9
cmp byte [esi + 0x1b], 0
jne 0x43cec9
add eax, 1
adc ecx, 0
cmp dword [ebp + 0x30], ecx
jg 0x43b9f5
jl 0x43b9ef
cmp dword [ebp + 0x2c], eax
jae 0x43b9f5
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x30], ecx
mov eax, dword [ebp + 0x2c]
mov dword [ebx], eax
mov eax, dword [ebp + 0x30]
mov dword [ebx + 4], eax
cmp dword [ebp + 0x30], 0x7fffffff
jg 0x43ba29
jl 0x43ba11
cmp dword [ebp + 0x2c], 0xffffffff
jae 0x43ba29
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x30]
add eax, 1
adc ecx, 0
mov byte [esi + 0x1d], 1
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
jmp 0x43ba2d
mov byte [esi + 0x1d], 0
mov esi, dword [ebp + 0x50]
cmp byte [esi + 0x1b], 0
je 0x43badd
mov ebx, dword [ebp + 0x6c]
mov eax, dword [ebx + 0x38]
mov dword [ebp + 0x2c], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebp + 0x30], eax
xor edi, edi
test edi, edi
jne 0x43ba6c
mov eax, dword [ebp + 0x2c]
and eax, 0xffffff
xor ecx, ecx
cmp eax, dword [ebp + 0x2c]
jne 0x43ba6c
cmp ecx, dword [ebp + 0x30]
jne 0x43ba6c
add dword [ebp + 0x2c], 1
adc dword [ebp + 0x30], ecx
jmp 0x43ba89
lea eax, [ebp + 0x2c]
push eax
push 8
call fcn.0041c2f6
cmp edi, 5
pop ecx
pop ecx
jge 0x43ba89
and dword [ebp + 0x2c], 0xffffff
and dword [ebp + 0x30], 0
mov eax, dword [ebp + 0x2c]
or eax, dword [ebp + 0x30]
je 0x43bab0
mov ebx, dword [esi]
lea eax, [ebp + 0x14]
push eax
push 0
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push 0
call fcn.004312c4
mov ebx, dword [ebp + 0x6c]
add esp, 0x14
mov dword [ebp + 0x68], eax
inc edi
cmp edi, 0x64
jge 0x43bac1
cmp dword [ebp + 0x68], 0
jne 0x43bac1
cmp dword [ebp + 0x14], 0
je 0x43ba4b
cmp dword [ebp + 0x68], 0
mov eax, dword [ebp + 0x2c]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp + 0x30]
mov dword [ebx + 0x3c], eax
jne 0x43badd
cmp dword [ebp + 0x14], 0
je 0x43cec9
mov eax, dword [ebp + 0x50]
and dword [eax + 0x60], 0
mov edi, dword [ebp + 0x58]
mov byte [eax + 0x19], 0
mov byte [eax + 0x20], 0
mov ax, word [edi + 0x1c]
mov ecx, 0xff04
and ax, cx
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [ebp + 0x2c]
mov dword [edi], eax
mov eax, dword [ebp + 0x30]
jmp 0x439dbf
mov edi, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
imul edi, edi, 0x28
mov ecx, dword [esi + 0x4c]
imul eax, eax, 0x28
mov edx, dword [esi + 0x30]
add eax, ecx
add edi, ecx
test byte [ebx + 3], 1
mov ecx, dword [ebx + 4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [eax]
mov dword [ebp - 0x38], edx
mov edx, dword [eax + 4]
mov dword [ebp + 0x34], ecx
mov dword [ebp - 0x34], edx
je 0x43bb46
inc dword [esi + 0x90]
test byte [ebx + 3], 2
je 0x43bb5a
mov esi, dword [eax]
mov edx, dword [ebp + 0x6c]
mov dword [edx + 0x30], esi
mov esi, dword [eax + 4]
mov dword [edx + 0x34], esi
cmp byte [ecx + 0x1d], 0
je 0x43bb75
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x14]
jl 0x43bb75
jg 0x43bb71
mov eax, dword [eax]
cmp eax, dword [ecx + 0x10]
jb 0x43bb75
mov byte [ecx + 0x1d], 0
movzx eax, word [edi + 0x1c]
test al, 1
je 0x43bb85
and dword [edi + 0x14], 0
and dword [edi + 0x18], 0
cmp byte [ecx + 0x1e], 0
je 0x43bc33
cmp byte [ecx + 0x1f], 0
jne 0x43bba8
mov eax, dword [ebp + 0x34]
push dword [eax + 0x38]
push dword [ebp + 0x6c]
call fcn.004149e8
pop ecx
pop ecx
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp - 0x38]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x34]
mov dword [ecx + 0x44], eax
mov eax, dword [edi + 0x18]
mov dword [ecx + 0x34], eax
mov edx, dword [edi + 0x14]
cmp edx, dword [edi + 0x24]
je 0x43bc08
cmp byte [ecx + 0x1f], 0
jne 0x43bc08
add eax, 2
push eax
call fcn.0041bc83
mov esi, dword [ebp + 0x34]
pop ecx
mov dword [esi + 0x38], eax
test eax, eax
je 0x439f91
push dword [esi + 0x34]
push dword [edi + 0x14]
push eax
call sub.MSVCR90.dll_memcpy
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov byte [eax + ecx], 0
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x34]
mov byte [eax + ecx + 1], 0
add esp, 0xc
mov ecx, esi
jmp 0x43bc2d
cmp byte [ecx + 0x1f], 0
mov dword [ecx + 0x38], edx
jne 0x43bc2d
mov ax, word [edi + 0x1c]
mov edx, 0xfbff
and ax, dx
mov edx, 0x1000
or ax, dx
and dword [edi + 0x24], 0
mov word [edi + 0x1c], ax
mov byte [ecx + 0x1c], 0
jmp 0x43bc6d
test eax, 0x4000
je 0x43bc3e
mov eax, dword [edi]
jmp 0x43bc40
xor eax, eax
movzx ecx, byte [ebx + 3]
and ecx, 8
push ecx
push eax
push dword [edi + 0x18]
mov eax, dword [ebp + 0x34]
push dword [edi + 0x14]
mov ebx, dword [eax]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push 0
call fcn.0043713c
mov ebx, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x34]
add esp, 0x1c
mov dword [ebp + 0x70], eax
and dword [ecx + 0x60], 0
cmp dword [ebp + 0x70], 0
mov byte [ecx + 0x19], 0
mov byte [ecx + 0x20], 0
jne case.0x439cb4.12
mov eax, dword [ebp + 0x6c]
mov ecx, dword [eax + 0xbc]
test ecx, ecx
je case.0x439cb4.12
mov eax, dword [ebx + 0x10]
test eax, eax
je case.0x439cb4.12
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push eax
mov eax, dword [ebp + 0x34]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 0x6c]
imul edx, edx, 0x18
mov esi, dword [eax + 8]
push dword [edx + esi]
mov dl, byte [ebx + 3]
and dl, 4
movzx edx, dl
neg edx
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push dword [eax + 0xb8]
call ecx
add esp, 0x18
jmp case.0x439cb4.12
cmp dword [ecx + 0xbc], 0
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x30]
mov esi, dword [edx + eax*4]
je 0x43bd00
cmp dword [ebx + 0x10], 0
je 0x43bd00
mov eax, dword [esi + 8]
mov dword [ebp - 0x7c], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x78], eax
call fcn.00436497
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43ced0
mov ecx, dword [esi]
call fcn.0043733c
and dword [esi + 0x60], 0
mov dword [ebp + 0x70], eax
mov byte [esi + 0x1d], 0
test eax, eax
jne 0x43bd5a
mov eax, dword [ebp + 0x6c]
mov edx, dword [eax + 0xbc]
test edx, edx
je 0x43bd5a
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x43bd5a
push dword [ebp - 0x78]
push dword [ebp - 0x7c]
push ecx
mov ecx, dword [esi + 4]
mov esi, dword [eax + 8]
imul ecx, ecx, 0x18
push dword [ecx + esi]
push 9
push dword [eax + 0xb8]
call edx
add esp, 0x18
test byte [ebx + 8], 1
je case.0x439cb4.12
mov eax, dword [ebp + 0x7c]
inc dword [eax + 0x90]
jmp case.0x439cb4.12
cmp dword [ebx + 4], 0
je 0x43bd84
mov eax, dword [esi + 0x90]
add dword [ecx + 0x48], eax
mov dword [ecx + 0x44], eax
and dword [esi + 0x90], 0
jmp case.0x439cb4.12
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 0x7c]
imul eax, eax, 0x28
add eax, dword [ecx + 0x4c]
mov ecx, dword [ecx + 0x30]
mov dword [ebp + 0x58], eax
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
mov ebx, dword [esi]
mov dword [ebp + 0x68], ebx
call fcn.00436497
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43ced0
cmp byte [esi + 0x22], 0
mov eax, ebx
je 0x43bdfa
lea edi, [ebp - 0xb8]
call fcn.00436052
mov eax, dword [ebp + 0x6c]
mov eax, dword [eax + 0x50]
mov ecx, dword [ebp - 0xb4]
cdq
cmp ecx, edx
jg 0x439e72
mov ebx, dword [ebp - 0xb8]
jl 0x43bdf5
cmp ebx, eax
ja 0x439e72
mov dword [ebp - 0x48], ebx
jmp 0x43be11
lea edi, [ebp - 0x48]
call fcn.00436099
mov ebx, dword [ebp - 0x48]
mov eax, dword [ebp + 0x6c]
cmp ebx, dword [eax + 0x50]
jg 0x439e72
mov edi, dword [ebp + 0x58]
push 0
mov eax, ebx
call fcn.0041d4a8
pop ecx
test eax, eax
jne 0x439f91
mov ax, word [edi + 0x1c]
push dword [edi + 0x14]
mov ecx, 0xff10
and ax, cx
or ax, 0x10
mov dword [edi + 0x18], ebx
mov word [edi + 0x1c], ax
cmp byte [esi + 0x22], 0
push ebx
push 0
je 0x43be56
mov esi, dword [ebp + 0x68]
call fcn.0042ab03
add esp, 0xc
jmp 0x43be61
push dword [ebp + 0x68]
call fcn.004360cc
add esp, 0x10
mov dword [ebp + 0x70], eax
jmp 0x43af31
mov ecx, dword [ebp + 0x7c]
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x30]
mov esi, dword [ecx + eax*4]
call fcn.00436497
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43ced0
cmp byte [esi + 0x19], al
je 0x43be95
mov eax, dword [esi + 8]
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0xc]
jmp 0x43bea4
cmp byte [esi + 0x1e], 0
je 0x43bea9
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x3c], eax
jmp 0x43bebd
cmp byte [esi + 0x1c], 0
jne case.0x439cb4.12
mov eax, dword [esi]
lea edi, [ebp - 0x40]
call fcn.00436052
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x58]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x3c]
jmp 0x43a4b9
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
mov eax, dword [eax]
test eax, eax
je case.0x439cb4.12
mov esi, eax
call fcn.00417414
jmp case.0x439cb4.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
lea ebx, [ebp - 0x74]
call fcn.0042ad27
and dword [esi + 0x60], 0
mov dword [ebp + 0x70], eax
mov eax, dword [ebp - 0x74]
mov byte [esi + 0x1c], al
mov byte [esi + 0x20], 0
test eax, eax
je case.0x439cb4.12
mov eax, dword [ebp + 0x54]
mov eax, dword [eax + 8]
test eax, eax
jle case.0x439cb4.12
jmp 0x439d66
inc dword [esi + 0xd8]
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + eax*4]
mov edi, dword [eax]
mov dword [ebp + 0x68], eax
test edi, edi
je 0x43bf6d
lea esi, [ebp - 0x28]
call fcn.0042ad06
cmp dword [ebp - 0x28], 0
mov dword [ebp + 0x70], eax
mov eax, dword [ebp + 0x68]
sete cl
and dword [eax + 0x60], 0
mov byte [eax + 0x1a], cl
mov byte [eax + 0x20], 0
jmp 0x43bf74
mov dword [ebp - 0x28], 1
mov ecx, dword [ebp - 0x28]
mov byte [eax + 0x1c], cl
test ecx, ecx
jmp 0x43a64c
mov eax, dword [ecx + 0xd8]
test eax, eax
jne 0x43cf11
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx + eax*4]
test edi, edi
je case.0x439cb4.12
mov eax, dword [edi]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 1
cmp byte [ebx], 0x6a
push ecx
push eax
jne 0x43bfba
call fcn.0043610b
jmp 0x43bfbf
call fcn.00436214
mov dword [ebp + 0x70], eax
mov al, byte [ebp - 0x1c]
and dword [edi + 0x60], 0
pop ecx
mov byte [edi + 0x1c], al
cmp dword [ebp - 0x1c], 0
pop ecx
jne 0x43bfee
mov eax, dword [ebx + 8]
mov bl, byte [ebx + 3]
dec eax
mov dword [ebp + 0x60], eax
test bl, bl
je 0x43bfee
movzx eax, bl
lea eax, [esi + eax*4 + 0xd0]
inc dword [eax]
mov byte [edi + 0x19], 0
jmp case.0x439cb4.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
mov dword [ebp + 0x44], eax
test eax, eax
je case.0x439cb4.12
mov ecx, dword [ebp + 0x38]
mov eax, 0x4000
mov edi, ecx
test word [ecx + 0x1c], ax
je 0x43c029
mov eax, edi
call fcn.0041d569
mov dword [ebp + 0x70], eax
jmp 0x43c02d
and dword [ebp + 0x70], 0
xor ecx, ecx
cmp dword [ebp + 0x70], ecx
jne case.0x439cb4.12
push dword [ebx + 0xc]
mov eax, dword [edi + 0x18]
mov edi, dword [edi + 0x14]
mov ebx, dword [ebp + 0x44]
push ecx
push ecx
cdq
push 0x4806ad
push edx
push eax
push edi
call fcn.0043713c
add esp, 0x1c
and dword [esi + 0x60], 0
mov dword [ebp + 0x70], eax
jmp case.0x439cb4.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi]
mov dword [ebp + 0x44], eax
test eax, eax
je case.0x439cb4.12
mov ecx, dword [edi + 0x48]
mov dword [ebp - 0xa0], ecx
mov cx, word [ebx + 0xc]
mov word [ebp - 0x9c], cx
xor ecx, ecx
mov word [ebp - 0x9a], cx
mov ecx, dword [ebx + 8]
imul ecx, ecx, 0x28
add ecx, dword [esi + 0x4c]
mov ebx, eax
mov dword [ebp - 0x98], ecx
lea ecx, [ebp - 0x88]
push ecx
xor ecx, ecx
push ecx
push ecx
push ecx
lea ecx, [ebp - 0xa0]
push ecx
call fcn.004312c4
add esp, 0x14
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43c0db
cmp dword [ebp - 0x88], eax
jne 0x43c0db
mov ecx, ebx
call fcn.0043733c
mov dword [ebp + 0x70], eax
and dword [edi + 0x60], 0
jmp case.0x439cb4.12
mov ecx, dword [esi + 0x30]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
je case.0x439cb4.12
cmp byte [eax + 0x1c], 0
jne case.0x439cb4.12
lea eax, [ebp - 0xa8]
push eax
push ecx
call fcn.00436539
pop ecx
pop ecx
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43ced0
mov ax, word [edi + 0x1c]
mov ecx, 0xff04
and ax, cx
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xa8]
mov dword [edi], eax
mov eax, dword [ebp - 0xa4]
jmp 0x439dbf
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + eax*4]
cmp dword [eax], 0
je case.0x439cb4.12
cmp byte [ebx + 3], 0
mov ecx, dword [eax + 0x48]
mov dword [ebp - 0x6c], ecx
mov cx, word [ebx + 0x10]
mov word [ebp - 0x68], cx
je 0x43c16c
push 0xc
jmp 0x43c16e
push 4
pop ecx
mov word [ebp - 0x66], cx
mov ecx, dword [ebx + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [esi + 0x4c]
mov dword [ebp - 0x64], ecx
lea ecx, [ebp - 8]
push ecx
lea ecx, [ebp - 0x6c]
push ecx
call fcn.00436634
cmp byte [ebx], 0x29
pop ecx
pop ecx
mov dword [ebp + 0x70], eax
jne 0x43c19b
neg dword [ebp - 8]
jmp 0x43c19e
inc dword [ebp - 8]
cmp dword [ebp - 8], 0
jle case.0x439cb4.12
jmp 0x439d3b
mov ecx, dword [ecx + 0x8c]
xor eax, eax
test ecx, ecx
je 0x43c1f1
cmp dword [ecx + 0x44], 0xbdf20da3
jne 0x43c1d2
cmp byte [ecx + 0x8c], 2
jae 0x43c1d2
cmp dword [ecx + 0x64], 0
jl 0x43c1d2
inc eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x43c1b9
cmp eax, 1
jle 0x43c1f1
mov dword [ebp + 0x70], 6
mov dword [esi + 0x70], 2
jmp case.0x439cb4.12
mov edi, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
imul edi, edi, 0x18
mov dword [ebp + 0x44], eax
mov eax, dword [ebp + 0x6c]
mov eax, dword [eax + 8]
mov esi, dword [eax + edi + 4]
mov eax, esi
call fcn.00417125
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [eax + 4], ecx
lea eax, [ebp - 0x4c]
push eax
push dword [ebp + 0x44]
push esi
call fcn.0043773a
add esp, 0xc
mov dword [ebp + 0x44], eax
call fcn.0041719d
mov ecx, dword [ebp + 0x58]
mov ax, word [ecx + 0x1c]
mov esi, dword [ebp + 0x44]
mov edx, 0xff04
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x4c]
cdq
mov dword [ebp + 0x70], esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
test esi, esi
jne case.0x439cb4.12
mov esi, dword [ebp - 0x4c]
test esi, esi
je case.0x439cb4.12
mov eax, dword [ebp + 0x6c]
mov eax, dword [eax + 8]
mov ebx, dword [ebx + 4]
add eax, edi
mov ecx, dword [eax + 0x14]
mov ecx, dword [ecx + 0xc]
jmp 0x43c287
mov edx, dword [ecx + 8]
cmp dword [edx + 0x18], esi
jne 0x43c285
mov dword [edx + 0x18], ebx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x43c27a
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
jmp 0x43c2a0
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x43c29e
mov dword [ecx + 0x14], ebx
mov eax, dword [eax]
test eax, eax
jne 0x43c293
jmp case.0x439cb4.12
and dword [ebp + 0x48], 0
mov eax, dword [ebx + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp + 0x48]
and eax, ecx
mov ecx, dword [ebp + 0x6c]
mov ecx, dword [ecx + 8]
push eax
mov eax, dword [ebx + 8]
push dword [ebx + 4]
imul eax, eax, 0x18
mov eax, dword [eax + ecx + 4]
call fcn.004376c7
cmp dword [ebx + 0xc], 0
pop ecx
pop ecx
mov dword [ebp + 0x70], eax
je case.0x439cb4.12
mov eax, dword [ebp + 0x48]
add dword [esi + 0x90], eax
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jle case.0x439cb4.12
mov ecx, dword [esi + 0x4c]
imul ebx, ebx, 0x28
cdq
add ecx, ebx
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x439cb4.12
mov ebx, dword [ebx + 4]
mov eax, dword [ebp + 0x6c]
imul ebx, ebx, 0x18
add ebx, dword [eax + 8]
and dword [ebp + 0x5c], 0
xor eax, eax
cmp byte [ebp + 0x4f], 0x35
setne al
dec eax
and eax, 3
inc eax
inc eax
push eax
lea eax, [ebp + 0x5c]
push eax
mov eax, dword [ebx + 4]
call fcn.00431832
pop ecx
mov dword [ebp + 0x70], eax
mov eax, dword [ebp + 0x5c]
pop ecx
jmp 0x43b08d
cmp dword [ebx + 8], 0
mov eax, dword [ebx + 4]
jne 0x43c360
mov ecx, dword [ecx + 8]
mov edx, eax
imul edx, edx, 0x18
mov ecx, dword [edx + ecx + 0x14]
test byte [ecx + 0x4a], 1
je case.0x439cb4.12
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x43c36f
mov ecx, str.sqlite_master
push dword [ebx + 0x10]
mov esi, dword [ebp + 0x6c]
mov edx, dword [ebp + 0x7c]
mov dword [ebp - 0xd4], eax
imul eax, eax, 0x18
push ecx
mov ecx, dword [esi + 8]
sub edx, 0xffffff80
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0xd0], edx
push dword [eax + ecx]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
call fcn.00420541
mov edi, eax
add esp, 0x10
test edi, edi
je 0x439f91
and dword [ebp - 0xcc], 0
push 0
lea eax, [ebp - 0xd8]
push eax
push fcn.00428340
push edi
push esi
mov byte [esi + 0x80], 1
call fcn.0043d42b
add esp, 0x14
mov dword [ebp + 0x70], eax
test eax, eax
jne 0x43c3e4
mov eax, dword [ebp - 0xcc]
mov dword [ebp + 0x70], eax
push edi
push esi
call fcn.004149e8
cmp dword [ebp + 0x70], 7
pop ecx
pop ecx
mov byte [esi + 0x80], 0
je 0x439f91
jmp case.0x439cb4.12
mov ecx, dword [ebx + 4]
mov eax, dword [ebp + 0x6c]
call fcn.00422764
mov dword [ebp + 0x70], eax
jmp case.0x439cb4.12
push dword [ebp + 0x6c]
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
call fcn.0041e7c5
jmp 0x43cd7e
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edi, dword [ebp + 0x6c]
call fcn.0041e606
jmp 0x43cd7e
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ebx, dword [ebp + 0x6c]
call fcn.0041ef3f
jmp case.0x439cb4.12
mov eax, dword [ebx + 8]
mov esi, dword [ebp + 0x6c]
mov dword [ebp + 0x48], eax
lea eax, [eax*4 + 4]
push eax
call fcn.0041bf84
pop ecx
mov dword [ebp + 0x5c], eax
test eax, eax
je 0x439f91
mov eax, dword [ebp + 0x7c]
mov ecx, dword [eax + 0x4c]
mov edi, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
imul edi, edi, 0x28
and dword [ebp + 0x68], 0
imul eax, eax, 0x28
add eax, ecx
add edi, ecx
cmp dword [ebp + 0x48], 0
mov dword [ebp + 0x64], eax
jle 0x43c4b0
mov esi, eax
call fcn.00425ba1
mov ecx, dword [ebp + 0x68]
mov edx, dword [ebp + 0x5c]
mov dword [edx + ecx*4], eax
inc ecx
add esi, 0x28
cmp ecx, dword [ebp + 0x48]
mov dword [ebp + 0x68], ecx
jl 0x43c496
mov esi, dword [ebp + 0x5c]
mov eax, dword [ebp + 0x68]
and dword [esi + eax*4], 0
movzx eax, byte [ebx + 3]
push dword [edi]
imul eax, eax, 0x18
mov ebx, dword [ebp + 0x6c]
push dword [ebp + 0x48]
mov ecx, dword [ebx + 8]
mov ecx, dword [eax + ecx + 4]
push esi
lea edx, [ebp - 0x44]
call fcn.00431860
push esi
push ebx
mov dword [ebp + 0x68], eax
call fcn.004149e8
mov eax, dword [ebp - 0x44]
cdq
add esp, 0x14
sub dword [edi], eax
sbb dword [edi + 4], edx
mov edi, dword [ebp + 0x64]
call fcn.00418274
cmp dword [ebp - 0x44], 0
je 0x43c51d
cmp dword [ebp + 0x68], 0
je 0x439f91
push 1
push dword [ebp + 0x68]
mov eax, fcn.00414998
or ecx, 0xffffffff
mov edx, edi
call fcn.00425d0b
pop ecx
pop ecx
movzx eax, byte [ebp + 0x28]
push eax
mov eax, edi
call fcn.00425b11
jmp 0x43cd7e
mov edi, dword [ebx + 4]
mov ebx, dword [ebx + 8]
imul edi, edi, 0x28
mov esi, dword [esi + 0x4c]
imul ebx, ebx, 0x28
add edi, esi
add ebx, esi
test byte [edi + 0x1c], 0x20
jne 0x43c556
call fcn.0041d602
test byte [edi + 0x1c], 0x20
je 0x439f91
push dword [ebx + 4]
mov edi, dword [edi]
push dword [ebx]
call fcn.0041cacb
jmp 0x43cd7d
mov eax, dword [ecx + 0xd8]
test eax, eax
jne 0x43cf11
mov edi, dword [ebx + 4]
imul edi, edi, 0x28
add edi, dword [esi + 0x4c]
test byte [edi + 0x1c], 0x20
je 0x43c5cc
mov esi, dword [edi]
cmp byte [esi + 0x16], al
jne 0x43c590
call fcn.00416794
mov eax, dword [esi + 8]
test eax, eax
je 0x43c5cc
mov ecx, dword [eax + 4]
mov edi, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1a4], ecx
mov dword [esi + 8], eax
test eax, eax
jne 0x43c5b1
call fcn.00416709
mov esi, dword [ebx + 0xc]
mov eax, dword [ebp + 0x7c]
imul esi, esi, 0x28
add esi, dword [eax + 0x4c]
push dword [ebp - 0x1a4]
mov dword [ebp + 0x58], esi
push edi
jmp 0x43a8b5
call fcn.00418274
jmp 0x439d3b
mov edi, dword [esi + 0x58]
cmp edi, dword [esi + 0x5c]
lea eax, [edi + 1]
mov dword [esi + 0x58], eax
jl 0x43c607
push dword [ebp + 0x6c]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x60]
lea edx, [edi + 1]
shl edx, 4
call fcn.0041c05a
pop ecx
mov dword [esi + 0x60], eax
test eax, eax
je 0x439f91
mov ecx, dword [ebp + 0x6c]
mov eax, dword [ecx + 0x30]
shl edi, 4
add edi, dword [esi + 0x60]
mov dword [edi], eax
mov eax, dword [ecx + 0x34]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x90]
mov dword [edi + 8], eax
jmp case.0x439cb4.12
dec dword [esi + 0x58]
mov eax, dword [esi + 0x58]
shl eax, 4
add eax, dword [esi + 0x60]
mov edx, dword [eax]
mov dword [ecx + 0x30], edx
mov edx, dword [eax + 4]
mov dword [ecx + 0x34], edx
mov eax, dword [eax + 8]
mov dword [esi + 0x90], eax
jmp case.0x439cb4.12
mov edi, dword [ebp + 0x64]
mov eax, edi
call fcn.00425c68
mov esi, dword [ebp + 0x38]
mov eax, esi
call fcn.00425c68
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov ecx, dword [edi + 4]
cmp ecx, esi
jg case.0x439cb4.12
jl 0x43c67d
mov ecx, edi
mov ecx, dword [ecx]
cmp ecx, eax
jae case.0x439cb4.12
mov ecx, dword [ebp + 0x64]
mov dword [ecx], eax
mov dword [ecx + 4], esi
jmp case.0x439cb4.12
cmp dword [edx + 4], 0
jl case.0x439cb4.12
jg 0x439d3b
cmp dword [edx], 0
jbe case.0x439cb4.12
jmp 0x439d3b
cmp dword [edx + 4], 0
jg case.0x439cb4.12
jl 0x439d3b
cmp dword [edx], 0
jae case.0x439cb4.12
jmp 0x439d3b
mov eax, dword [edx]
or eax, dword [edx + 4]
jmp 0x43a93c
mov ecx, dword [ebx + 8]
movzx eax, byte [ebx + 3]
imul ecx, ecx, 0x28
add ecx, dword [esi + 0x4c]
mov edi, dword [esi + 0x24]
xor edx, edx
mov dword [ebp + 0x68], eax
test eax, eax
jle 0x43c6fa
mov dword [edi + edx*4], ecx
call fcn.00418c90
inc edx
add ecx, 0x28
cmp edx, dword [ebp + 0x68]
jl 0x43c6e9
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp + 0x6c]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
mov dword [ebp - 0x170], eax
inc dword [eax + 0x18]
xor eax, eax
inc eax
mov word [ebp - 0x17c], ax
xor eax, eax
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x188], ecx
test byte [eax + 3], 8
je 0x43c75d
mov ecx, dword [ebx - 4]
mov dword [ebp - 0x168], ecx
push edi
push dword [ebp + 0x68]
lea ecx, [ebp - 0x1a0]
push ecx
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 0x16c], 0
je 0x43c7a3
lea eax, [ebp - 0x198]
push eax
call fcn.004261c7
push eax
push 0x4855b4
push dword [ebp + 0x6c]
lea edi, [esi + 0x80]
call fcn.00424c55
mov eax, dword [ebp - 0x16c]
add esp, 0x10
mov dword [ebp + 0x70], eax
lea eax, [ebp - 0x198]
push eax
call fcn.004181e4
jmp 0x43cd7e
mov esi, dword [ebx + 4]
mov eax, dword [ebp + 0x7c]
imul esi, esi, 0x28
add esi, dword [eax + 0x4c]
mov edi, dword [ebx + 0x10]
call fcn.0041813f
mov dword [ebp + 0x70], eax
cmp eax, 1
jne 0x43c7ed
push esi
call fcn.004261c7
mov edi, dword [ebp + 0x7c]
push eax
push 0x4855b4
push dword [ebp + 0x6c]
sub edi, 0xffffff80
call fcn.00424c55
add esp, 0x10
movzx eax, byte [ebp + 0x28]
push eax
mov eax, esi
call fcn.00425b11
pop ecx
mov ecx, esi
jmp 0x43a445
mov eax, dword [ebp + 0x6c]
lea edx, [esi + 0x80]
call fcn.00439367
jmp 0x43c40e
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x6c]
imul eax, eax, 0x18
mov ecx, dword [ecx + 8]
mov eax, dword [eax + ecx + 4]
call fcn.00430fbc
mov dword [ebp + 0x70], eax
cmp eax, 0x65
jne case.0x439cb4.12
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp + 0x60], ebx
and dword [ebp + 0x70], 0
jmp case.0x439cb4.12
cmp dword [ebx + 4], 0
jne 0x43c852
mov eax, ecx
jmp 0x43b10a
mov byte [esi + 0x8a], 1
jmp case.0x439cb4.12
mov edx, dword [ebx + 4]
mov ecx, dword [ebp + 0x6c]
imul edx, edx, 0x18
mov edi, dword [ecx + 8]
mov al, byte [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov edi, dword [edx + edi + 4]
call fcn.0041d462
mov dword [ebp + 0x70], eax
cmp eax, 6
jne case.0x439cb4.12
push dword [ebx + 0x10]
lea edi, [esi + 0x80]
push str.database_table_is_locked:__s
push dword [ebp + 0x6c]
call fcn.00424c55
add esp, 0xc
jmp case.0x439cb4.12
mov ebx, dword [ebx + 0x10]
mov ecx, dword [ebp + 0x6c]
mov eax, ebx
call fcn.0041f0d0
mov dword [ebp + 0x70], eax
test ebx, ebx
je case.0x439cb4.12
sub esi, 0xffffff80
push dword [esi]
push dword [ebp + 0x6c]
call fcn.004149e8
mov eax, dword [ebx + 8]
mov dword [esi], eax
and dword [ebx + 8], 0
jmp 0x43cd7d
mov eax, dword [ebp + 0x54]
push dword [eax + 0x10]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 0x6c]
lea ebx, [esi + 0x80]
call fcn.00424898
mov dword [ebp + 0x70], eax
jmp 0x43cd7e
mov ecx, dword [ebp + 0x6c]
add esi, 0x8c
mov byte [esi], 2
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
call fcn.0041a1fc
mov dword [ebp + 0x70], eax
mov byte [esi], 0
jmp 0x43cd7e
mov edi, dword [ebx + 0x10]
and dword [ebp + 0x3c], 0
mov eax, dword [edi]
lea ecx, [ebp + 0x3c]
push ecx
push edi
mov dword [ebp + 0x44], eax
call dword [eax + 0x18]
push dword [esi + 0x80]
mov dword [ebp + 0x70], eax
push dword [ebp + 0x6c]
call fcn.004149e8
mov eax, dword [edi + 8]
mov dword [esi + 0x80], eax
and dword [edi + 8], 0
add esp, 0x10
cmp dword [ebp + 0x70], 0
jne case.0x439cb4.12
mov eax, dword [ebp + 0x3c]
mov dword [eax], edi
mov edx, dword [ebx + 4]
push 0
push 0xffffffffffffffff
lea ecx, [ebx - 0x14]
mov eax, esi
call fcn.00438a53
pop ecx
pop ecx
test eax, eax
je 0x43c987
mov ecx, dword [ebp + 0x3c]
mov dword [eax + 0x58], ecx
mov ecx, dword [ebp + 0x3c]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax + 0x5c], ecx
jmp case.0x439cb4.12
mov eax, dword [ebp + 0x6c]
push dword [ebp + 0x3c]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp + 0x44]
call dword [eax + 0x1c]
jmp 0x43cd7e
mov eax, dword [ebx + 0xc]
mov edx, dword [esi + 0x30]
imul eax, eax, 0x28
mov ecx, dword [ebx + 4]
mov ecx, dword [edx + ecx*4]
add eax, dword [esi + 0x4c]
and dword [ebp + 0x5c], 0
mov edx, dword [esi + 0x24]
mov dword [ebp + 0x3c], ecx
mov ecx, dword [ecx + 0x58]
mov edi, dword [ecx]
mov dword [ebp + 0x48], ecx
mov ecx, dword [edi]
mov dword [ebp + 0x1c], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp + 0x68], ecx
cmp dword [ebp + 0x68], 0
mov ecx, dword [eax]
mov dword [ebp + 0x18], ecx
jle 0x43c9fa
lea ecx, [eax + 0x50]
jmp 0x43c9de
mov ecx, dword [ebp + 0x44]
mov eax, dword [ebp + 0x5c]
mov dword [edx + eax*4], ecx
call fcn.00418c90
inc dword [ebp + 0x5c]
mov eax, dword [ebp + 0x5c]
add ecx, 0x28
cmp eax, dword [ebp + 0x68]
mov dword [ebp + 0x44], ecx
jl 0x43c9db
inc dword [edi + 4]
mov eax, dword [ebp + 0x1c]
push edx
push dword [ebp + 0x68]
mov byte [esi + 0x8c], 1
push dword [ebx + 0x10]
push dword [ebp + 0x18]
push dword [ebp + 0x48]
call dword [eax + 0x20]
mov byte [esi + 0x8c], 0
sub esi, 0xffffff80
push dword [esi]
mov dword [ebp + 0x70], eax
push dword [ebp + 0x6c]
call fcn.004149e8
mov eax, dword [edi + 8]
mov ecx, dword [ebp + 0x6c]
mov dword [esi], eax
and dword [edi + 8], 0
add esp, 0x1c
mov eax, edi
call fcn.0041a1a5
cmp dword [ebp + 0x70], 0
jne 0x43ca5f
push dword [ebp + 0x48]
mov eax, dword [ebp + 0x1c]
call dword [eax + 0x28]
pop ecx
test eax, eax
je 0x43ca5f
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp + 0x60], ebx
mov eax, dword [ebp + 0x3c]
mov byte [eax + 0x1c], 0
jmp case.0x439cb4.12
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1c], 0
jne case.0x439cb4.12
mov eax, dword [eax + 0x58]
mov ebx, dword [eax]
mov ecx, dword [ebx]
lea edx, [ebp - 0xc8]
push edx
push eax
call dword [ecx + 0x30]
sub esi, 0xffffff80
push dword [esi]
mov dword [ebp + 0x70], eax
push dword [ebp + 0x6c]
call fcn.004149e8
mov eax, dword [ebx + 8]
mov dword [esi], eax
and dword [ebx + 8], 0
mov ax, word [edi + 0x1c]
mov ecx, 0xff04
and ax, cx
add esp, 0x10
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xc8]
mov dword [edi], eax
mov eax, dword [ebp - 0xc4]
jmp 0x439dbf
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [esi + 0x4c]
cmp byte [ecx + 0x1c], 0
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x5c], eax
je 0x43caf8
mov edi, eax
jmp 0x43a020
mov eax, dword [ebp + 0x68]
mov eax, dword [eax + 0x58]
mov edi, dword [eax]
mov eax, dword [edi]
push 0x40
mov dword [ebp + 0x44], eax
lea eax, [ebp - 0x1e8]
push 0
push eax
call sub.MSVCR90.dll_memset
mov esi, dword [ebp + 0x5c]
lea eax, [ebp - 0x1e0]
push eax
call fcn.00418386
mov eax, dword [ebp - 0x1c4]
push dword [ebx + 8]
and eax, 0xff01
or eax, 1
mov word [ebp - 0x1c4], ax
lea eax, [ebp - 0x1e8]
push eax
mov eax, dword [ebp + 0x68]
push dword [eax + 0x58]
mov eax, dword [ebp + 0x44]
call dword [eax + 0x2c]
mov esi, dword [ebp + 0x7c]
sub esi, 0xffffff80
push dword [esi]
mov dword [ebp + 0x70], eax
push dword [ebp + 0x6c]
call fcn.004149e8
mov eax, dword [edi + 8]
mov dword [esi], eax
movzx eax, byte [ebp + 0x28]
and dword [edi + 8], 0
push eax
lea eax, [ebp - 0x1e0]
call fcn.00425b11
push dword [ebp + 0x5c]
lea esi, [ebp - 0x1e0]
call fcn.00418386
mov ecx, dword [ebp + 0x5c]
add esp, 0x2c
jmp 0x43a445
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1c], 0
mov dword [ebp + 0x68], eax
jne case.0x439cb4.12
mov ecx, eax
mov eax, dword [ecx + 0x58]
mov edi, dword [eax]
mov eax, dword [edi]
inc dword [edi + 4]
mov byte [esi + 0x8c], 1
push dword [ecx + 0x58]
mov dword [ebp + 0x44], eax
call dword [eax + 0x24]
mov byte [esi + 0x8c], 0
sub esi, 0xffffff80
push dword [esi]
mov dword [ebp + 0x70], eax
push dword [ebp + 0x6c]
call fcn.004149e8
mov eax, dword [edi + 8]
mov ecx, dword [ebp + 0x6c]
mov dword [esi], eax
and dword [edi + 8], 0
add esp, 0xc
mov eax, edi
call fcn.0041a1a5
cmp dword [ebp + 0x70], 0
jne 0x439d3b
mov eax, dword [ebp + 0x68]
push dword [eax + 0x58]
mov eax, dword [ebp + 0x44]
call dword [eax + 0x28]
pop ecx
test eax, eax
jmp 0x43a93c
mov edi, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, dword [esi + 0x4c]
test byte [ebx + 0x1c], 0x12
jne 0x43cc38
movzx eax, byte [ebp + 0x28]
push eax
mov eax, ebx
call fcn.00425b31
pop ecx
test eax, eax
jne 0x439f91
inc dword [edi + 4]
push dword [ebx + 0x14]
mov eax, dword [edi]
push edi
call dword [eax + 0x4c]
sub esi, 0xffffff80
push dword [esi]
mov dword [ebp + 0x70], eax
push dword [ebp + 0x6c]
call fcn.004149e8
mov eax, dword [edi + 8]
mov ecx, dword [ebp + 0x6c]
mov dword [esi], eax
and dword [edi + 8], 0
add esp, 0x10
mov eax, edi
call fcn.0041a1a5
jmp case.0x439cb4.12
mov edi, dword [ebx + 0x10]
mov eax, dword [edi]
cmp dword [eax + 0x34], 0
mov ecx, dword [ebx + 8]
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x68], ecx
jne 0x43cc8d
push str.read_only_table
jmp 0x43aff7
mov ecx, dword [ebx + 0xc]
and dword [ebp + 0x5c], 0
imul ecx, ecx, 0x28
add ecx, dword [esi + 0x4c]
cmp dword [ebp + 0x68], 0
mov edx, dword [esi + 0x24]
jle 0x43ccbc
call fcn.00418c90
mov eax, dword [ebp + 0x5c]
mov dword [edx + eax*4], ecx
add ecx, 0x28
inc dword [ebp + 0x5c]
mov eax, dword [ebp + 0x5c]
cmp eax, dword [ebp + 0x68]
jl 0x43cca3
inc dword [edi + 4]
lea eax, [ebp - 0x128]
push eax
mov eax, dword [ebp + 0x44]
push edx
push dword [ebp + 0x68]
push edi
call dword [eax + 0x34]
push dword [esi + 0x80]
mov dword [ebp + 0x70], eax
push dword [ebp + 0x6c]
call fcn.004149e8
mov eax, dword [edi + 8]
mov ecx, dword [ebp + 0x6c]
mov dword [esi + 0x80], eax
and dword [edi + 8], 0
add esp, 0x18
mov eax, edi
call fcn.0041a1a5
cmp dword [ebx + 4], 0
je 0x43cd1d
cmp dword [ebp + 0x70], 0
jne 0x43cd1d
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp + 0x6c]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0x124]
mov dword [eax + 0x34], ecx
inc dword [esi + 0x90]
jmp case.0x439cb4.12
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x6c]
imul eax, eax, 0x18
mov ecx, dword [ecx + 8]
mov eax, dword [eax + ecx + 4]
mov eax, dword [eax + 4]
mov edi, dword [eax]
lea eax, [ebp - 0x5c]
push eax
call fcn.0041cfab
pop ecx
mov dword [ebp + 0x70], eax
test eax, eax
jne case.0x439cb4.12
mov ecx, dword [ebp + 0x58]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x5c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x439cb4.12
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je case.0x439cb4.12
mov ecx, dword [ecx + 0x98]
test ecx, ecx
je case.0x439cb4.12
mov eax, dword [ebp + 0x6c]
push ebx
push dword [eax + 0x9c]
call ecx
pop ecx
pop ecx
inc dword [ebp + 0x60]
cmp dword [ebp + 0x70], 0
je 0x439c12
jmp 0x439fb2
mov dword [ebp + 0x70], 9
jmp 0x439fb2
mov eax, dword [ebx + 4]
mov dword [esi + 0x68], eax
mov eax, dword [ebp + 0x60]
mov dword [esi + 0x64], eax
mov eax, dword [ebx + 8]
mov dword [esi + 0x70], eax
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x43cdcd
push ebx
push 0x4855b4
push dword [ebp + 0x6c]
lea edi, [esi + 0x80]
call fcn.00424c55
add esp, 0xc
push esi
call fcn.00438663
pop ecx
push 5
pop ebx
cmp eax, ebx
je 0x43ceb0
mov ebx, dword [esi + 0x68]
neg ebx
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x65
jmp 0x439fd4
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x4c]
inc eax
inc eax
or eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
add eax, ecx
xor edi, edi
mov dword [esi + 0x84], eax
cmp dword [ebx + 8], edi
jle 0x43ce31
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x14]
call fcn.0041d5b9
mov ecx, dword [ebp + 0x14]
call fcn.00418c90
add dword [ebp + 0x14], 0x28
inc edi
cmp edi, dword [ebx + 8]
jl 0x43ce17
mov eax, dword [ebp + 0x6c]
cmp byte [eax + 0x1e], 0
jne 0x439f91
mov eax, dword [ebp + 0x60]
inc dword [esi + 0x50]
inc eax
push 0x64
mov dword [esi + 0x64], eax
pop ebx
jmp 0x439fd4
lea eax, [ebp - 0x118]
push eax
call fcn.004181e4
pop ecx
jmp 0x439f91
cmp dword [ebx + 8], 0
mov edi, dword [ebp + 0x6c]
je 0x43ce7b
mov eax, edi
call fcn.004383f7
mov byte [edi + 0x1c], 1
jmp 0x43cddf
mov bl, byte [ebp + 0x44]
push esi
mov byte [edi + 0x1c], bl
call fcn.00438663
pop ecx
push 5
pop ecx
cmp eax, ecx
jne 0x43cddf
mov eax, dword [ebp + 0x60]
mov dword [esi + 0x64], eax
mov al, 1
sub al, bl
mov byte [edi + 0x1c], al
mov ebx, ecx
mov dword [esi + 0x68], ecx
jmp 0x439fd4
mov eax, dword [ebp + 0x60]
mov dword [esi + 0x64], eax
mov dword [esi + 0x68], ebx
jmp 0x439fd4
mov eax, dword [ebp + 0x60]
mov dword [esi + 0x64], eax
jmp 0x43cea0
mov esi, edi
call fcn.004188bf
jmp 0x43ced0
mov dword [ebp + 0x70], 0xd
mov eax, dword [ebp + 0x6c]
cmp byte [eax + 0x1e], 0
je 0x43cee0
mov dword [ebp + 0x70], 7
cmp dword [ebp + 0x70], 0xc0a
je 0x439fb2
mov eax, dword [ebp + 0x70]
call fcn.0041b02a
mov edi, dword [ebp + 0x7c]
sub edi, 0xffffff80
push eax
push 0x4855b4
push dword [ebp + 0x6c]
call fcn.00424c55
add esp, 0xc
jmp 0x439fb2
push 9
pop eax
mov dword [ebp + 0x70], eax
mov dword [esi + 0x68], eax
call fcn.0041b02a
lea edi, [esi + 0x80]
jmp 0x43cefb