Function at 0x418393
Capabilities:
Encode data using base64
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x228
mov eax, dword [0x5154b0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ecx]
and dword [ebp - 0xec], 0
and dword [ebp - 0x158], 0
cmp dword [ecx + 0x50], 0xbdf20da3
mov dword [ebp - 0xe0], eax
mov eax, dword [eax + 4]
push esi
push edi
mov dword [ebp - 0xdc], ecx
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [ebp - 0x128], al
je 0x4183e4
push 0x15
pop eax
jmp 0x419d9e
mov edi, dword [ecx + 0x2c]
push 7
pop eax
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
cmp dword [ecx + 0x80], eax
je 0x419d58
and dword [ecx + 0x80], 0
mov edx, dword [ecx + 0x22c]
test edx, edx
je 0x418437
lea ecx, [ebp - 0xe8]
call fcn.0041825d
mov ecx, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0xf0], edi
and dword [ecx + 0x22c], 0
mov edx, dword [ebp - 0xe0]
mov byte [ecx + 0x234], 0
and dword [edx + 0x11c], 0
cmp dword [edx + 0x98], 0
jne 0x41c6ef
mov eax, dword [ecx + 0x7c]
mov dword [ebp - 0xe4], eax
call fcn.0040c052
test eax, eax
jne 0x419d58
imul esi, dword [ebp - 0xe4], 0x14
add esi, dword [ecx + 0x18]
mov dword [ebp - 0xfc], esi
cmp dword [edx + 0xa8], eax
je 0x4184ff
mov eax, dword [ebp - 0x158]
cmp dword [edx + 0xb0], eax
jne 0x4184f2
mov ecx, edx
call fcn.0040bd27
test eax, eax
jne 0x41be3c
push dword [edx + 0xac]
call dword [edx + 0xa8]
pop ecx
test eax, eax
je 0x4184d5
mov edx, dword [ebp - 0xe0]
mov ecx, edx
call fcn.0040bcfc
push 4
pop eax
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xdc]
jmp 0x41c4b0
mov ecx, dword [ebp - 0xe0]
xor edx, edx
call fcn.0040bcfc
test eax, eax
jne 0x41be3c
mov ecx, dword [ebp - 0xdc]
jmp 0x4184f8
mov edx, dword [ebp - 0x158]
inc edx
mov dword [ebp - 0x158], edx
mov al, byte [esi]
movzx edx, al
mov byte [ebp - 0x115], al
mov dword [ebp - 0x11c], edx
lea eax, [edx - 1]
cmp eax, 0x8d
ja case.0x41851e.13
jmp dword [eax*4 + 0x41c747]
mov edx, dword [ebp - 0xe0]
cmp dword [edx + 0x98], 0
jne 0x41c6ef
mov esi, dword [esi + 8]
dec esi
jmp 0x41c4b6
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe4]
inc ecx
mov eax, dword [edx + 0x220]
mov dword [edx + eax*4 + 0x90], ecx
mov ecx, edx
inc dword [ecx + 0x220]
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 0xe4], edx
jmp case.0x41851e.13
dec dword [ecx + 0x220]
mov eax, dword [ecx + 0x220]
mov edx, dword [ecx + eax*4 + 0x90]
jmp 0x418566
add edi, 0x40
push 4
pop eax
mov dword [ebp - 0xf0], edi
mov word [edi + 0x18], ax
mov eax, dword [esi + 4]
cdq
mov dword [edi], eax
mov dword [ebp - 0xe8], edi
mov dword [edi + 4], edx
jmp case.0x41851e.13
add edi, 0x40
mov eax, 0xa2
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x10], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4185cc
sub ecx, edx
mov dword [edi + 0x14], ecx
mov ecx, edi
mov byte [edi + 0x1b], 1
call fcn.00415339
mov dword [edi], eax
push 4
pop eax
mov dword [edi + 4], edx
or word [edi + 0x18], ax
mov ecx, dword [ebp - 0xdc]
jmp case.0x41851e.13
add edi, 0x40
mov eax, 0xa2
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x10], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41861b
sub ecx, edx
mov dword [edi + 0x14], ecx
mov ecx, edi
mov byte [edi + 0x1b], 1
call fcn.00415398
movzx edx, byte [ebp - 0x128]
mov ecx, edi
push 8
pop eax
movsd qword [edi + 8], xmm0
or word [edi + 0x18], ax
call fcn.0041508a
jmp 0x4185ef
mov edx, dword [esi + 0xc]
mov ecx, edx
mov byte [esi], 0x1a
lea eax, [ecx + 1]
mov dword [ebp - 0xf8], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41865f
sub ecx, dword [ebp - 0xf8]
xor eax, eax
inc eax
mov dword [esi + 4], ecx
cmp byte [ebp - 0x128], al
je case.0x41851e.26
push 0
push eax
add edi, 0x40
or eax, 0xffffffff
push eax
mov ecx, edi
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
call fcn.00415534
movzx edx, byte [ebp - 0x128]
add esp, 0xc
mov ecx, edi
call fcn.0041508a
test eax, eax
jne 0x419d52
mov ecx, edi
call fcn.0041509f
test eax, eax
jne 0x419d52
mov ax, word [edi + 0x18]
mov ecx, 0xffbf
and ax, cx
mov ecx, 0x80
or ax, cx
mov word [edi + 0x18], ax
or eax, 0xffffffff
cmp dword [esi + 0x10], eax
jne 0x4186ef
push dword [esi + 0xc]
call fcn.0040b5df
pop ecx
or eax, 0xffffffff
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 4], eax
jmp 0x4185ef
add edi, 0x40
mov eax, 0xa2
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 4]
mov dword [edi + 0x14], eax
mov al, byte [ebp - 0x128]
mov byte [edi + 0x1b], al
jmp 0x4185ef
add edi, 0x40
xor eax, eax
inc eax
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
and dword [edi + 0x14], 0
jmp case.0x41851e.13
mov edx, dword [esi + 0xc]
mov byte [esi], 0x7a
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x41875d
sub edx, ecx
shr edx, 1
mov dword [esi + 4], edx
je 0x4187a5
mov ecx, dword [esi + 0xc]
call fcn.0040bf72
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x419d52
or ecx, 0xffffffff
cmp dword [esi + 0x10], ecx
jne 0x41879a
push dword [esi + 0xc]
call fcn.0040b5df
mov eax, dword [ebp - 0xf8]
pop ecx
mov dword [esi + 0xc], eax
or eax, 0xffffffff
mov dword [esi + 0x10], eax
jmp case.0x41851e.122
or eax, 0xffffffff
cmp dword [esi + 0x10], eax
jne 0x4187b6
push dword [esi + 0xc]
call fcn.0040b5df
pop ecx
mov dword [esi + 0x10], 0xfffffffe
mov dword [esi + 0xc], 0x4e77ae
mov edx, dword [esi + 0xc]
add edi, 0x40
push 0
push 0
push dword [esi + 4]
mov ecx, edi
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
call fcn.00415534
add esp, 0xc
jmp 0x4185ef
mov ecx, dword [esi + 4]
add edi, 0x40
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
shl ecx, 6
push 8
mov esi, dword [eax + 0x44]
add esi, 0xffffffc0
mov dword [ebp - 0xf0], edi
add esi, ecx
mov dword [ebp - 0xe8], edi
pop eax
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe4]
movzx eax, word [edi + 0x18]
and dword [edi + 0x1c], 0
test al, 0x12
je 0x41c4b6
and eax, 0xfcbf
or eax, 0x80
mov word [edi + 0x18], ax
jmp 0x41c4b6
mov edx, dword [esi + 4]
lea ecx, [ebp - 0xe8]
call fcn.0041825d
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0xf0], edi
jmp 0x4185ef
mov eax, dword [esi + 4]
mov esi, edi
shl eax, 6
add edi, 0x40
sub esi, eax
mov dword [ebp - 0xf0], edi
push 8
pop eax
mov ecx, eax
mov dword [ebp - 0xe8], edi
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf0]
mov ecx, 0x100
movzx eax, word [edi + 0x18]
and dword [edi + 0x1c], 0
test al, 0x12
je 0x4188b2
and eax, 0xfd3f
or eax, ecx
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0xfc]
cmp dword [eax + 8], 0
je 0x4185ef
test word [edi + 0x18], cx
je 0x4185ef
mov ecx, edi
call fcn.004150ff
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x419d58
jmp case.0x41851e.13
mov eax, dword [esi + 4]
mov edx, edi
shl eax, 6
lea edi, [ebp - 0x228]
sub edx, eax
push 0x10
pop ecx
mov esi, edx
mov dword [ebp - 0xf8], edx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf0]
mov ecx, 0x100
test word [edi + 0x18], cx
je 0x418928
mov ecx, edi
call fcn.004150ff
test eax, eax
jne 0x419d52
mov ecx, 0x100
mov edx, dword [ebp - 0xfc]
xor eax, eax
mov dword [ebp - 0x104], eax
cmp dword [edx + 4], eax
jle 0x4189b0
mov esi, dword [ebp - 0xf8]
add esi, 0x40
mov dword [ebp - 0xf4], esi
test word [esi + 0x18], cx
je 0x41896b
mov ecx, esi
call fcn.004150ff
test eax, eax
jne 0x41c735
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x104]
push 0x10
lea edi, [esi - 0x40]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xf4]
mov ecx, 0x200
test word [esi - 0x28], cx
je 0x418990
lea eax, [esi - 0x20]
mov dword [esi - 0x30], eax
mov eax, dword [ebp - 0x104]
inc eax
add esi, 0x40
mov ecx, 0x100
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xf4], esi
cmp eax, dword [edx + 4]
jl 0x41894a
mov edi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xe0]
lea esi, [ebp - 0x228]
push 0x10
pop eax
mov ecx, eax
mov eax, 0x200
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe4]
test word [edi + 0x18], ax
je 0x41c4b6
lea eax, [edi + 0x20]
mov dword [edi + 0x10], eax
jmp 0x41c4b6
mov eax, dword [esi + 4]
mov ecx, edi
shl eax, 6
mov edx, edi
sub ecx, eax
call fcn.004154db
sub edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
jmp 0x4185ef
mov edx, dword [esi + 4]
mov eax, edi
add edx, 2
mov ecx, edx
mov dword [ebp - 0x100], edx
shl ecx, 6
sub eax, ecx
xor ecx, ecx
and dword [ebp - 0x104], ecx
add eax, 0x40
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0xf4], ecx
test edx, edx
jle 0x418af1
movzx edx, word [eax + 0x18]
mov dword [ebp - 0xf8], edx
test dl, 1
mov edx, dword [ebp - 0x100]
jne 0x418ab6
test byte [ebp - 0xf8], 0x12
jne 0x418a94
movzx edx, byte [ebp - 0x128]
mov ecx, eax
call fcn.004151e9
test eax, eax
jne 0x419d52
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x100]
add ecx, dword [eax + 0x14]
add eax, 0x40
inc dword [ebp - 0x104]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x104], edx
jl 0x418a4e
jmp 0x418abb
or eax, 0xffffffff
mov ecx, eax
test ecx, ecx
jns 0x418af1
cmp dword [esi + 8], 0
jne 0x418ad6
lea ecx, [ebp - 0xe8]
call fcn.0041825d
mov edi, dword [ebp - 0xe8]
add edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
xor ecx, ecx
inc ecx
mov word [edi + 0x18], cx
jmp 0x4185ef
add ecx, 2
test ecx, ecx
jle 0x418b0d
call fcn.0040b591
mov edx, dword [ebp - 0x100]
mov ecx, eax
mov dword [ebp - 0x12c], eax
jmp 0x418b15
xor ecx, ecx
mov dword [ebp - 0x12c], ecx
test ecx, ecx
je 0x419d52
xor eax, eax
mov dword [ebp - 0x114], eax
test edx, edx
jle 0x418b93
mov eax, dword [ebp - 0x130]
mov edi, dword [ebp - 0x114]
add eax, 0x10
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x104], edx
mov esi, dword [eax + 4]
push esi
push dword [eax]
lea eax, [edi + ecx]
push eax
call fcn.004a97d0
mov eax, dword [ebp - 0xf4]
add esp, 0xc
mov ecx, dword [ebp - 0x12c]
add eax, 0x40
add edi, esi
mov dword [ebp - 0xf4], eax
dec dword [ebp - 0x104]
jne 0x418b44
mov esi, dword [ebp - 0xfc]
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x114], edi
mov edi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x114]
mov word [eax + ecx], 0
cmp dword [esi + 8], 0
jne 0x418bbc
lea ecx, [ebp - 0xe8]
call fcn.0041825d
mov edi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x12c]
add edi, 0x40
push 0x62
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov dword [edi + 0x14], eax
pop eax
mov word [edi + 0x18], ax
and dword [edi + 0x1c], 0
mov al, byte [ebp - 0x128]
mov byte [edi + 0x1b], al
mov dword [edi + 0x10], ecx
jmp 0x4185ef
lea eax, [edi - 0x40]
movzx ecx, word [eax + 0x18]
mov dword [ebp - 0x110], eax
mov esi, ecx
movzx eax, word [edi + 0x18]
or esi, eax
movzx eax, word [edi + 0x18]
mov dword [ebp - 0xf4], esi
test byte [ebp - 0xf4], 1
mov esi, dword [ebp - 0xfc]
je 0x418c4b
test al, 0x40
je 0x418c23
mov ecx, edi
call fcn.004152e7
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
test byte [edi + 0x18], 0x40
je 0x418ae5
mov ecx, edi
call fcn.004152e7
jmp 0x418ae5
and cl, al
push 4
pop eax
test al, cl
je 0x418d0f
mov eax, dword [ebp - 0x110]
mov esi, dword [eax]
mov ecx, dword [eax + 4]
sub edx, 0x4e
je 0x418cbe
dec edx
je 0x418cb7
dec edx
je 0x418ca1
mov eax, dword [edi]
dec edx
je 0x418c8a
or eax, dword [edi + 4]
je 0x418d8b
push dword [edi + 4]
push dword [edi]
push ecx
push esi
call fcn.004b86f0
jmp 0x418cad
or eax, dword [edi + 4]
je 0x418d8b
push dword [edi + 4]
push dword [edi]
push ecx
push esi
call fcn.004b8640
jmp 0x418cad
push dword [edi + 4]
push dword [edi]
push ecx
push esi
call fcn.004ad9c0
mov esi, eax
mov dword [ebp - 0x114], edx
jmp 0x418cc9
sub esi, dword [edi]
sbb ecx, dword [edi + 4]
jmp 0x418cc3
add esi, dword [edi]
adc ecx, dword [edi + 4]
mov dword [ebp - 0x114], ecx
movzx ecx, word [edi + 0x18]
test cl, 0x40
je 0x418cd9
mov ecx, edi
call fcn.004152e7
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
test byte [edi + 0x18], 0x40
je 0x418cf8
mov ecx, edi
call fcn.004152e7
mov eax, dword [ebp - 0x114]
mov dword [edi], esi
mov dword [edi + 4], eax
push 4
pop eax
mov word [edi + 0x18], ax
jmp 0x4185ef
mov ecx, edi
call fcn.00415398
mov ecx, dword [ebp - 0x110]
movsd qword [ebp - 0x120], xmm0
call fcn.00415398
movzx eax, byte [esi]
movapd xmm1, xmm0
sub eax, 0x4e
je 0x418dae
dec eax
je 0x418da4
dec eax
je 0x418d9a
dec eax
je 0x418d75
cvttsd2si ecx, qword [ebp - 0x120]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm0, qword [0x4f1ca8]
lahf
test ah, 0x44
jnp 0x418d8b
cvttsd2si eax, xmm1
cdq
idiv ecx
movd xmm0, edx
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x120], xmm0
jmp 0x418dbe
movsd xmm0, qword [ebp - 0x120]
ucomisd xmm0, qword [0x4f1ca8]
lahf
test ah, 0x44
jp 0x418d94
test byte [edi + 0x18], 0x40
jmp 0x418c1a
divsd xmm1, xmm0
jmp 0x418db6
mulsd xmm1, qword [ebp - 0x120]
jmp 0x418db6
subsd xmm1, qword [ebp - 0x120]
jmp 0x418db6
addsd xmm1, qword [ebp - 0x120]
movsd qword [ebp - 0x120], xmm1
test byte [edi + 0x18], 0x40
je 0x418dcb
mov ecx, edi
call fcn.004152e7
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
test byte [edi + 0x18], 0x40
je 0x418dea
mov ecx, edi
call fcn.004152e7
movsd xmm0, qword [ebp - 0x120]
push 8
pop eax
movsd qword [edi + 8], xmm0
mov word [edi + 0x18], ax
test byte [ebp - 0xf4], al
jne 0x4185ef
mov ecx, edi
call fcn.00415403
jmp 0x4185ef
mov ecx, dword [ecx + 0x30]
xor edx, edx
mov eax, dword [esi + 8]
mov dword [ebp - 0xf4], ecx
mov ecx, edi
mov dword [ebp - 0x100], eax
shl eax, 6
sub ecx, eax
add ecx, 0x40
cmp dword [ebp - 0x100], edx
jle 0x418e64
mov esi, dword [ebp - 0x100]
mov edi, dword [ebp - 0xf4]
mov dword [edi + edx*4], ecx
call fcn.00418232
inc edx
add ecx, 0x40
cmp edx, esi
jl 0x418e48
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xfc]
cmp dword [esi + 0x10], 0xfffffffb
jne 0x418e76
mov edx, dword [esi + 0xc]
and dword [ebp - 0xd4], 0
jmp 0x418e81
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xd4], eax
mov edx, dword [eax]
xor eax, eax
mov dword [ebp - 0xd8], edx
inc eax
mov word [ebp - 0xb8], ax
xor eax, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0x8c], al
cmp byte [edx + 3], al
je 0x418eb3
mov eax, dword [esi - 8]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0xe0]
call fcn.0040bd27
test eax, eax
jne 0x41be3c
push dword [ebp - 0xf4]
lea eax, [ebp - 0xd8]
push dword [ebp - 0x100]
push eax
call dword [edx + 0x10]
mov ecx, dword [ebp - 0xe0]
add esp, 0xc
call fcn.0040bcfc
test eax, eax
jne 0x41be3c
call fcn.0040c052
test eax, eax
jne 0x419d52
mov edx, dword [ebp - 0x100]
lea ecx, [ebp - 0xe8]
call fcn.0041825d
mov ecx, dword [ebp - 0xd4]
test ecx, ecx
je 0x418f32
mov edx, dword [esi + 4]
call fcn.00416d07
mov eax, dword [ebp - 0xd4]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0xfffffff9
cmp byte [ebp - 0x8c], 0
je 0x418f6b
push 0
push ecx
mov dl, 1
lea ecx, [ebp - 0xd0]
call fcn.004158b9
pop ecx
push eax
mov eax, dword [ebp - 0xdc]
add eax, 0x230
push eax
call fcn.0040b6b6
add esp, 0xc
mov dword [ebp - 0xec], 1
movzx edx, byte [ebp - 0x128]
lea ecx, [ebp - 0xd0]
call fcn.0041508a
mov edi, dword [ebp - 0xe8]
lea edx, [ebp - 0xd0]
add edi, 0x40
xor eax, eax
mov ecx, edi
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
call fcn.004154db
jmp 0x4185ef
lea ecx, [edi - 0x40]
mov al, byte [ecx + 0x18]
or al, byte [edi + 0x18]
mov dword [ebp - 0xf8], ecx
test al, 1
je 0x418fc5
push 2
pop edx
jmp 0x418ac5
call fcn.00415339
mov ecx, edi
mov dword [ebp - 0x114], eax
mov dword [ebp - 0xfc], edx
call fcn.00415339
movzx ecx, byte [esi]
mov dword [ebp - 0xf4], eax
sub ecx, 0x4a
je 0x41903e
dec ecx
je 0x41902e
dec ecx
je 0x41900d
dec ecx
jne 0x41904e
mov eax, dword [ebp - 0x114]
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf4]
call fcn.004c7810
jmp 0x419024
mov eax, dword [ebp - 0x114]
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf4]
call fcn.004c77f0
mov esi, eax
mov dword [ebp - 0xfc], edx
jmp 0x419054
mov esi, dword [ebp - 0x114]
or esi, eax
or dword [ebp - 0xfc], edx
jmp 0x419054
mov esi, dword [ebp - 0x114]
and esi, eax
and dword [ebp - 0xfc], edx
jmp 0x419054
mov esi, dword [ebp - 0x114]
test byte [edi + 0x18], 0x40
je 0x419061
mov ecx, edi
call fcn.004152e7
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
test byte [edi + 0x18], 0x40
je 0x419080
mov ecx, edi
call fcn.004152e7
mov ecx, dword [ebp - 0xfc]
mov dword [edi], esi
mov dword [edi + 4], ecx
jmp 0x418d03
mov ecx, edi
call fcn.0041542e
mov eax, dword [esi + 4]
cdq
add dword [edi], eax
adc dword [edi + 4], edx
jmp 0x4185ef
mov ecx, edi
call fcn.004182bb
test byte [edi + 0x18], 8
je 0x4190b9
mov ecx, edi
call fcn.00415403
movzx eax, word [edi + 0x18]
test al, 0xc
jne 0x4190ea
test al, 0x40
je 0x4190cc
mov ecx, edi
call fcn.004152e7
sub edi, 0x40
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xf0], edi
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 0xe4], ecx
jmp 0x4185ef
push 4
pop ecx
test cl, al
je 0x419148
cmp dword [esi + 4], 0
je 0x4190fe
xor ecx, ecx
inc ecx
xor edx, edx
jmp 0x419115
xorps xmm0, xmm0
movlpd qword [ebp - 0x120], xmm0
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
mov eax, dword [edi]
add eax, ecx
mov ecx, dword [edi + 4]
mov dword [ebp - 0xfc], eax
adc ecx, edx
mov dword [ebp - 0x10c], ecx
mov esi, dword [ebp - 0xfc]
test byte [edi + 0x18], 0x40
je 0x41913d
mov ecx, edi
call fcn.004152e7
mov eax, dword [ebp - 0x10c]
jmp 0x418cfe
mov ecx, edi
call fcn.0041544d
cvttsd2si eax, qword [edi + 8]
cdq
mov ecx, edx
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x10c], ecx
mov ecx, eax
call fcn.004c7bdf
movsd xmm1, qword [edi + 8]
comisd xmm1, xmm0
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x10c]
jbe 0x419193
add eax, 1
mov dword [ebp - 0xfc], eax
adc ecx, 0
mov dword [ebp - 0x10c], ecx
cmp dword [esi + 4], 0
je 0x41912a
mov edx, ecx
mov ecx, eax
call fcn.004c7bdf
movsd xmm1, qword [edi + 8]
mov esi, dword [ebp - 0xfc]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x419130
add esi, 1
adc dword [ebp - 0x10c], 0
jmp 0x419130
mov ecx, edi
call fcn.004182bb
test byte [edi + 0x18], 8
je 0x4191de
mov ecx, edi
call fcn.00415403
movzx eax, word [edi + 0x18]
push 4
pop ecx
test cl, al
jne 0x419216
cmp dword [esi + 8], 0
je 0x41c4e6
cmp dword [esi + 4], 0
je 0x4190db
xor edx, edx
lea ecx, [ebp - 0xe8]
inc edx
call fcn.0041825d
mov edi, dword [ebp - 0xe8]
jmp 0x4190d5
test al, 0x40
je 0x418d03
mov ecx, edi
call fcn.004152e7
jmp 0x418d03
push 4
pop eax
test byte [edi + 0x18], al
je case.0x41851e.13
mov ecx, edi
call fcn.0041544d
jmp 0x4185ef
movzx ecx, word [edi + 0x18]
test cl, 1
jne 0x4185ef
push dword [ebp - 0x128]
mov eax, ecx
mov dl, 0x61
shr eax, 3
and eax, 2
or eax, ecx
mov ecx, edi
mov word [edi + 0x18], ax
call fcn.00418330
pop ecx
mov eax, 0xffe3
and word [edi + 0x18], ax
jmp 0x4185ef
movzx eax, word [edi + 0x18]
test al, 1
jne case.0x41851e.13
test al, 0x10
jne 0x4192a2
push dword [ebp - 0x128]
mov dl, 0x61
mov ecx, edi
call fcn.00418330
pop ecx
push 0x10
pop eax
or word [edi + 0x18], ax
mov eax, 0xfff1
jmp 0x419272
test byte [edi + 0x18], 1
jne case.0x41851e.13
mov ecx, edi
call fcn.0041544d
jmp 0x418e0a
test byte [edi + 0x18], 1
jne case.0x41851e.13
mov ecx, edi
call fcn.0041542e
jmp 0x4185ef
test byte [edi + 0x18], 1
jne case.0x41851e.13
jmp 0x419236
movzx ecx, word [edi + 0x18]
lea eax, [edi - 0x40]
mov al, byte [eax + 0x18]
xor edx, edx
or al, cl
inc edx
test dl, al
je 0x41932c
mov eax, 0x200
test dword [esi + 4], eax
je 0x41938b
not ecx
and ecx, edx
mov eax, ecx
mov ecx, edi
cdq
push edx
push eax
call fcn.0041546c
lea ecx, [edi - 0x40]
movzx eax, word [ecx + 0x18]
not eax
and eax, 1
cdq
push edx
push eax
call fcn.0041546c
add esp, 0x10
mov al, byte [esi + 4]
mov byte [ebp - 0x115], al
test al, al
je 0x41935e
push dword [ebp - 0x128]
mov dl, al
lea ecx, [edi - 0x40]
call fcn.00418330
mov dl, byte [ebp - 0x115]
pop ecx
push dword [ebp - 0x128]
mov ecx, edi
call fcn.00418330
pop ecx
push dword [esi + 0xc]
mov edx, edi
lea ecx, [edi - 0x40]
call fcn.0041562b
pop ecx
movzx ecx, byte [esi]
mov edx, eax
xor eax, eax
sub ecx, 0x43
je 0x4193dc
dec ecx
je 0x4193d5
dec ecx
je 0x4193ce
dec ecx
je 0x4193c7
dec ecx
je 0x4193c0
test edx, edx
setns al
jmp 0x4193e1
push 2
pop edx
lea ecx, [ebp - 0xe8]
call fcn.0041825d
mov eax, dword [esi + 8]
test eax, eax
je 0x418ad0
mov ecx, 0x100
test dword [esi + 4], ecx
je 0x41885f
lea ecx, [eax - 1]
mov dword [ebp - 0xe4], ecx
jmp 0x41885f
test edx, edx
sets al
jmp 0x4193e1
test edx, edx
setle al
jmp 0x4193e1
test edx, edx
setg al
jmp 0x4193e1
test edx, edx
sete al
jmp 0x4193e1
test edx, edx
setne al
push 2
pop edx
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x10c], eax
call fcn.0041825d
mov eax, dword [esi + 8]
test eax, eax
je 0x419405
cmp dword [ebp - 0x10c], 0
jmp 0x4193ac
mov edi, dword [ebp - 0xe8]
add edi, 0x40
push 4
pop eax
mov dword [ebp - 0xf0], edi
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x10c]
cdq
mov dword [edi], eax
mov dword [ebp - 0xe8], edi
mov dword [edi + 4], edx
jmp 0x4185ef
test byte [edi + 0x18], 1
lea eax, [edi - 0x40]
mov dword [ebp - 0xf8], eax
je 0x41944d
mov dword [ebp - 0x100], 2
jmp 0x41946e
mov ecx, edi
call fcn.0041542e
mov eax, dword [edi]
or eax, dword [edi + 4]
jne 0x419467
mov dword [ebp - 0x100], 1
jmp 0x41946e
and dword [ebp - 0x100], 0
mov edi, dword [ebp - 0xf8]
test byte [edi + 0x18], 1
je 0x41947f
push 2
pop ecx
jmp 0x419490
mov ecx, edi
call fcn.0041542e
mov eax, dword [edi]
xor ecx, ecx
or eax, dword [edi + 4]
jne 0x419490
inc ecx
imul eax, dword [ebp - 0x100], 3
cmp byte [esi], 0x3d
jne 0x4194a6
movzx esi, byte [eax + ecx + 0x4dff00]
jmp 0x4194ae
movzx esi, byte [eax + ecx + 0x4dd1f4]
push 2
pop edx
lea ecx, [ebp - 0xe8]
call fcn.0041825d
mov edi, dword [ebp - 0xe8]
add edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
cmp esi, 2
je 0x418ae5
xor eax, eax
test esi, esi
sete al
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x418d03
movzx eax, word [edi + 0x18]
test al, 8
jne 0x41954b
push 4
pop edx
test dl, al
je 0x419535
test al, 0x40
je 0x419509
mov ecx, edi
call fcn.004152e7
push 4
pop edx
cmp byte [esi], 0x55
je 0x41951b
cmp dword [edi + 4], 0
jg 0x41952c
jl 0x41951b
cmp dword [edi], 0
jae 0x41952c
mov ecx, dword [edi]
mov eax, dword [edi + 4]
neg ecx
mov dword [edi], ecx
adc eax, 0
neg eax
mov dword [edi + 4], eax
mov word [edi + 0x18], dx
jmp 0x4185ef
test al, 1
jne case.0x41851e.13
mov ecx, edi
call fcn.0041544d
mov ecx, edi
call fcn.00415403
test byte [edi + 0x18], 0x40
je 0x419558
mov ecx, edi
call fcn.004152e7
cmp byte [esi], 0x55
je 0x419567
xorps xmm0, xmm0
comisd xmm0, xmmword [edi + 8]
jbe 0x419579
movsd xmm0, qword [edi + 8]
xorpd xmm0, xmmword [0x4f1ec0]
movsd qword [edi + 8], xmm0
push 8
jmp 0x418d05
test byte [edi + 0x18], 1
jne case.0x41851e.13
mov ecx, edi
call fcn.0041542e
mov eax, dword [edi]
or eax, dword [edi + 4]
jne 0x41959e
inc eax
jmp 0x4194e1
xor eax, eax
jmp 0x4194e1
test byte [edi + 0x18], 1
jne case.0x41851e.13
mov ecx, edi
call fcn.0041542e
not dword [edi]
not dword [edi + 4]
jmp 0x418d03
test byte [edi + 0x18], 1
je 0x4195d1
mov ecx, dword [esi + 4]
mov dword [ebp - 0x100], ecx
jmp 0x419601
mov ecx, edi
call fcn.00415398
ucomisd xmm0, qword [0x4f1ca8]
lahf
xor ecx, ecx
test ah, 0x44
jnp 0x4195e9
inc ecx
cmp byte [esi], 0x56
mov dword [ebp - 0x100], ecx
jne 0x419601
xor eax, eax
test ecx, ecx
sete al
mov dword [ebp - 0x100], eax
test byte [edi + 0x18], 0x40
je 0x41960e
mov ecx, edi
call fcn.004152e7
mov edx, dword [ebp - 0xe0]
sub edi, 0x40
cmp dword [ebp - 0x100], 0
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
je 0x4184ca
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 0xe4], ecx
jmp 0x4184ca
test byte [edi + 0x18], 1
je 0x41966f
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
dec ecx
mov dword [ebp - 0xe4], ecx
test edx, edx
jns 0x41966f
neg edx
lea ecx, [ebp - 0xe8]
call fcn.0041825d
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0xf0], edi
mov edx, dword [esi + 4]
test edx, edx
jle 0x4185ef
jmp 0x418854
mov edx, dword [esi + 4]
test edx, edx
jns 0x419688
neg edx
and dword [ebp - 0xf8], 0
test edx, edx
jle 0x4196b6
mov eax, edx
mov ecx, edi
shl eax, 6
sub ecx, eax
mov eax, dword [ebp - 0xf8]
add ecx, 0x58
test byte [ecx], 1
jne 0x4196b2
inc eax
add ecx, 0x40
cmp eax, edx
jl 0x4196a5
cmp eax, edx
jl 0x4196c0
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 0xe4], ecx
cmp dword [esi + 4], 0
jmp 0x419674
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + 8]
mov dword [ecx + 0x50], eax
jmp 0x4185ef
mov eax, dword [esi + 8]
add edi, 0x40
mov ecx, dword [esi + 4]
mov dword [ebp - 0x104], eax
xor eax, eax
mov word [ebp - 0xa8], ax
inc eax
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov eax, dword [eax + 0x3c]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x10c], edx
cmp dword [edx], ecx
je 0x4197ba
mov ecx, edx
call fcn.00416e0a
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41be45
mov edx, dword [ebp - 0x10c]
and dword [ebp - 0x110], eax
mov ecx, dword [edx]
mov dword [ebp - 0x12c], ecx
cmp byte [edx + 0x1c], al
je 0x41975d
and dword [ebp - 0x138], eax
jmp 0x4197af
mov esi, dword [ebp - 0xdc]
mov eax, dword [edx + 0x68]
cmp eax, dword [esi + 0x60]
jne 0x41977f
mov eax, dword [edx + 0x6c]
mov dword [ebp - 0x138], eax
mov eax, dword [edx + 0x78]
mov dword [ebp - 0x110], eax
jmp 0x4197af
cmp byte [edx + 0x21], 0
je 0x41979e
lea edx, [ebp - 0x1e8]
call fcn.00411787
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x138], eax
jmp 0x4197a9
lea edx, [ebp - 0x138]
call fcn.004117c7
mov edx, dword [ebp - 0x10c]
mov ecx, dword [edx + 0x50]
mov eax, dword [ebp - 0x138]
jmp 0x4197ef
cmp byte [edx + 0x1e], cl
je 0x4197db
mov ecx, dword [edx + 0x38]
and dword [edx + 0x68], 0
mov eax, dword [edx + 0x34]
and dword [ebp - 0x12c], 0
mov dword [ebp - 0x110], ecx
mov ecx, dword [edx + 0x50]
jmp 0x4197e9
mov dword [ebp - 0x110], ecx
mov eax, ecx
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x130], ecx
test eax, eax
je 0x4185ef
mov esi, dword [ebp - 0xdc]
mov eax, dword [edx + 0x68]
cmp eax, dword [esi + 0x60]
jne 0x419822
mov ecx, dword [edx + 0x70]
mov eax, dword [edx + 0x74]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x124], eax
jmp 0x419a65
mov eax, dword [edx + 0x70]
mov dword [ebp - 0x114], eax
test eax, eax
jne 0x419856
shl ecx, 3
test ecx, ecx
jle 0x419843
call fcn.0040b591
mov edx, dword [ebp - 0x10c]
jmp 0x419845
xor eax, eax
mov dword [ebp - 0x114], eax
mov dword [edx + 0x70], eax
test eax, eax
je 0x41c740
mov ecx, dword [ebp - 0x130]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x124], eax
mov dword [edx + 0x74], eax
mov eax, dword [ebp - 0x138]
mov dword [edx + 0x6c], eax
mov eax, esi
mov eax, dword [eax + 0x60]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 0x110]
test eax, eax
je 0x41988b
mov dword [ebp - 0xec], eax
jmp 0x4198e5
cmp byte [edx + 0x21], 0
mov eax, dword [ebp - 0x12c]
je 0x4198b5
cmp byte [eax + 0x41], 1
jne 0x4198c0
push 0
lea edx, [ebp - 0x15c]
mov ecx, eax
call fcn.004119c1
mov edx, dword [ebp - 0x10c]
pop ecx
jmp 0x4198c2
xor ecx, ecx
inc ecx
cmp byte [eax + 0x41], cl
jne 0x4198c0
push ecx
jmp 0x41989f
xor eax, eax
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0x15c], ecx
jb 0x4198e1
mov dword [ebp - 0x110], eax
mov dword [edx + 0x78], eax
jmp 0x4198e5
and dword [edx + 0x78], 0
movzx ecx, byte [eax]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xf4], ecx
cmp ecx, 0x7f
ja 0x419905
mov dword [ebp - 0xf8], 1
jmp 0x419930
lea edx, [ebp - 0xf4]
mov ecx, eax
call fcn.0040bed7
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x100], ecx
cmp dword [ebp - 0x110], 0
jne 0x419974
cmp dword [ebp - 0x15c], ecx
jae 0x419974
lea eax, [ebp - 0xc0]
push eax
movzx eax, byte [edx + 0x21]
xor edx, edx
push eax
push ecx
mov ecx, dword [ebp - 0x12c]
call fcn.004157db
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41c4a8
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x100]
lea ecx, [edx + eax]
add eax, dword [ebp - 0xf8]
cmp dword [ebp - 0x130], 0
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xf4], eax
jbe 0x419a11
mov eax, dword [ebp - 0x124]
mov esi, dword [ebp - 0x114]
sub eax, esi
mov edi, dword [ebp - 0xf4]
mov dword [ebp - 0xf8], eax
cmp edi, ecx
jae 0x4199f6
mov dword [eax + esi], edx
movzx eax, byte [edi]
mov dword [esi], eax
cmp eax, 0x7f
ja 0x4199c8
xor eax, eax
inc eax
jmp 0x4199d7
mov edx, esi
mov ecx, edi
call fcn.0040bed7
mov edx, dword [ebp - 0x100]
mov ecx, dword [esi]
add edi, eax
call fcn.00416f3e
mov ecx, dword [ebp - 0xec]
add edx, eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x100], edx
jmp 0x4199fa
and dword [eax + esi], 0
add esi, 4
dec dword [ebp - 0x130]
jne 0x4199b2
mov dword [ebp - 0xf4], edi
mov edi, dword [ebp - 0xf0]
test byte [ebp - 0xa8], 0x40
je 0x419a2b
lea ecx, [ebp - 0xc0]
call fcn.004152e7
mov edx, dword [ebp - 0x100]
xor eax, eax
inc eax
mov word [ebp - 0xa8], ax
mov eax, dword [ebp - 0xec]
cmp dword [ebp - 0xf4], eax
ja 0x419b5a
cmp edx, dword [ebp - 0x138]
ja 0x419b5a
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x124]
mov esi, dword [ebp - 0x104]
mov eax, dword [eax + esi*4]
mov esi, dword [ebp - 0xfc]
test eax, eax
je 0x419af6
mov esi, dword [ebp - 0x110]
test esi, esi
je 0x419a87
lea ecx, [esi + eax]
jmp 0x419ad5
mov eax, dword [ebp - 0x104]
mov ecx, dword [ecx + eax*4]
call fcn.00416f3e
movzx esi, byte [edx + 0x21]
lea ecx, [ebp - 0xc0]
push ecx
mov ecx, dword [ebp - 0x104]
push esi
push eax
mov eax, dword [ebp - 0x124]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x12c]
call fcn.004157db
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x4185ef
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x114]
push edi
mov edx, dword [edx + eax*4]
call fcn.00416fcf
mov al, byte [ebp - 0x128]
pop ecx
mov byte [edi + 0x1b], al
jmp 0x419b2b
cmp dword [esi + 0x10], 0xfffffff8
jne 0x419b24
mov esi, dword [esi + 0xc]
push 8
pop eax
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf0]
movzx eax, word [edi + 0x18]
and dword [edi + 0x1c], 0
test al, 0x12
je 0x419b2b
and eax, 0xfcbf
or eax, 0x80
jmp 0x419b27
xor eax, eax
inc eax
mov word [edi + 0x18], ax
test byte [ebp - 0xa8], 0x40
je 0x419b48
mov ax, word [edi + 0x18]
mov ecx, 0xfeff
and ax, cx
or ax, 0x60
mov word [edi + 0x18], ax
mov ecx, edi
call fcn.004150ff
mov dword [ebp - 0xec], eax
jmp 0x4185ef
mov dword [ebp - 0xec], 0xb
jmp 0x4185ef
and dword [ebp - 0x12c], 0
xor eax, eax
and dword [ebp - 0x100], 0
xor ecx, ecx
cmp dword [esi + 4], eax
mov edx, dword [esi + 0xc]
setl al
mov dword [ebp - 0xfc], ecx
inc ecx
mov dword [ebp - 0x10c], eax
test eax, eax
mov dword [ebp - 0xf8], edx
push 0xffffffffffffffff
pop eax
cmovne ecx, eax
mov eax, dword [esi + 8]
imul ecx, dword [esi + 4]
mov dword [ebp - 0x11c], eax
xor eax, eax
cmp byte [esi], 0x36
mov esi, edi
sete al
and dword [ebp - 0x130], 0
mov dword [ebp - 0x124], eax
mov eax, ecx
shl eax, 6
mov dword [ebp - 0xf0], ecx
sub esi, eax
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x110], esi
lea eax, [esi + 0x40]
movzx ecx, byte [ecx + 0x239]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x104], eax
cmp eax, edi
ja 0x419c9c
push 0xffffffffffffffe8
pop esi
sub esi, eax
test edx, edx
je 0x419c32
push dword [ebp - 0x128]
mov ecx, dword [ebp - 0x104]
add eax, 0x18
add eax, esi
sar eax, 6
mov dl, byte [eax + edx]
call fcn.00418330
mov eax, dword [ebp - 0x104]
pop ecx
mov ecx, dword [ebp - 0x130]
xor edx, edx
inc edx
test byte [eax + 0x18], dl
cmovne ecx, edx
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x130], ecx
mov ecx, eax
call fcn.00416e72
mov ecx, eax
call fcn.00416f3e
add dword [ebp - 0x100], eax
push 0
push ecx
call fcn.0040bf35
mov edx, dword [ebp - 0xf8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xfc]
add ecx, eax
mov eax, dword [ebp - 0x104]
add eax, 0x40
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x104], eax
cmp eax, edi
jbe 0x419c0b
mov esi, dword [ebp - 0x110]
cmp dword [ebp - 0x124], 0
je 0x419ce0
mov ecx, esi
mov dword [ebp - 0x12c], esi
call fcn.0041542e
xor edx, edx
mov ecx, esi
call fcn.00416e72
mov ecx, eax
call fcn.00416f3e
add dword [ebp - 0x100], eax
push 0
push ecx
call fcn.0040bf35
pop ecx
pop ecx
mov ecx, dword [ebp - 0xfc]
add ecx, eax
mov dword [ebp - 0xfc], ecx
mov eax, ecx
cdq
push edx
push eax
call fcn.0040bf35
mov esi, eax
mov eax, dword [ebp - 0xfc]
add eax, esi
mov dword [ebp - 0xfc], eax
cdq
push edx
push eax
call fcn.0040bf35
add esp, 0x10
cmp esi, eax
mov eax, dword [ebp - 0xfc]
jge 0x419d16
inc eax
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0x100]
add ecx, eax
mov dword [ebp - 0x100], ecx
cmp ecx, 0x20
jbe 0x419dae
test ecx, ecx
jle 0x419d46
call fcn.0040b591
mov ecx, eax
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xfc]
jmp 0x419d4e
xor ecx, ecx
mov dword [ebp - 0x104], ecx
test ecx, ecx
jne 0x419db7
mov ecx, dword [ebp - 0xdc]
push 0
lea eax, [ecx + 0x230]
push str.out_of_memory
push eax
call fcn.0040b6b6
add esp, 0xc
push 7
pop eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xec]
xor esi, esi
mov dword [eax + 0x80], ecx
inc esi
mov ecx, eax
call fcn.00416a06
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x2c], edi
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.004a41df
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x104], ecx
cdq
push edx
push eax
call fcn.0040bd6f
pop ecx
mov esi, eax
add esi, dword [ebp - 0x104]
pop ecx
mov ecx, dword [ebp - 0x114]
mov eax, ecx
mov dword [ebp - 0xf8], ecx
cmp ecx, edi
ja 0x419e09
mov edx, dword [ebp - 0xf4]
mov ecx, eax
call fcn.00416e72
push 0
push eax
mov ecx, esi
call fcn.0040bd6f
add esi, eax
mov eax, dword [ebp - 0xf8]
add eax, 0x40
mov dword [ebp - 0xf8], eax
pop ecx
pop ecx
cmp eax, edi
jbe 0x419ddb
cmp dword [ebp - 0x124], 0
je 0x419e2d
mov ecx, dword [ebp - 0x12c]
xor edx, edx
call fcn.00416e72
push 0
push eax
mov ecx, esi
call fcn.0040bd6f
pop ecx
pop ecx
add esi, eax
mov eax, dword [ebp - 0x114]
jmp 0x419e56
push dword [ebp - 0xf4]
mov edx, eax
mov ecx, esi
call fcn.00416f51
add esi, eax
mov eax, dword [ebp - 0x114]
add eax, 0x40
pop ecx
mov dword [ebp - 0x114], eax
cmp eax, edi
jbe 0x419e35
mov eax, dword [ebp - 0x124]
test eax, eax
je 0x419e7a
mov edx, dword [ebp - 0x12c]
mov ecx, esi
push 0
call fcn.00416f51
mov eax, dword [ebp - 0x124]
pop ecx
cmp dword [ebp - 0x10c], 0
jne 0x419e9d
mov edx, dword [ebp - 0xf0]
lea ecx, [ebp - 0xe8]
lea edx, [eax + edx]
call fcn.0041825d
mov edi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x100]
add edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov dword [edi + 0x14], ecx
cmp ecx, 0x20
ja 0x419ed9
push ecx
lea ecx, [ebp - 0x24]
lea eax, [edi + 0x20]
push ecx
push eax
mov dword [edi + 0x10], eax
call fcn.004a97d0
mov eax, 0x210
add esp, 0xc
mov word [edi + 0x18], ax
jmp 0x419eed
mov eax, dword [ebp - 0x104]
mov dword [edi + 0x10], eax
push 0x50
pop eax
mov word [edi + 0x18], ax
and dword [edi + 0x1c], 0
mov eax, dword [ebp - 0x11c]
mov byte [edi + 0x1b], 1
test eax, eax
je 0x4185ef
cmp dword [ebp - 0x130], 0
mov edx, dword [ebp - 0xe0]
je 0x4184ca
lea ecx, [eax - 1]
jmp 0x419634
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0xe0]
test eax, eax
js 0x41c4b0
cmp eax, dword [edx]
jge 0x41c4b0
imul ecx, eax, 0x18
mov eax, dword [edx + 4]
mov eax, dword [ecx + eax + 4]
test eax, eax
je 0x4184ca
cmp byte [edx + 0x14], 0
jne 0x4184ca
mov esi, dword [eax + 4]
test esi, esi
je 0x419f60
cmp byte [esi + 0xc], 0
jne 0x4184ca
cmp byte [eax + 8], 2
jne 0x419f97
cmp byte [esi + 0xc], 0
jne 0x419f97
cmp byte [esi + 0xd], 0
je 0x419f7b
and dword [ebp - 0xec], 0
jmp 0x419f8e
mov ecx, dword [esi]
call fcn.0040f9e3
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xec], eax
mov byte [esi + 0xc], 1
jmp 0x4184ca
xor ecx, ecx
inc ecx
cmp byte [esi + 0xd], 0
push 8
pop eax
cmovne ecx, eax
mov dword [ebp - 0xec], ecx
jmp 0x4184ca
mov edx, dword [ebp - 0xe0]
mov al, byte [esi + 4]
mov cl, byte [esi + 8]
mov byte [ebp - 0x13d], al
cmp dword [edx + 0x54], 1
mov byte [ebp - 0x115], cl
jle 0x41a016
test al, al
je 0x41a016
cmp byte [edx + 0x14], 0
jne 0x41a016
push 0
test cl, cl
mov edx, str.commit
push str._transaction___SQL_statements_in_progress
mov eax, str.rollback
cmove eax, edx
push eax
mov eax, dword [ebp - 0xdc]
add eax, 0x230
push str.cannot
push eax
call fcn.0040b6b6
add esp, 0x14
mov dword [ebp - 0xec], 1
jmp 0x4185ef
cmp al, byte [edx + 0x14]
jne 0x41c4ed
xor edx, edx
mov ecx, str.cannot_rollback___no_transaction_is_active
test al, al
mov eax, str.cannot_commit___no_transaction_is_active
push 0
sete dl
cmp byte [ebp - 0x115], 0
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmove eax, ecx
push eax
mov eax, dword [ebp - 0xdc]
add eax, 0x230
push eax
call fcn.0040b6b6
add esp, 0xc
jmp 0x41a007
imul ecx, dword [esi + 4], 0x18
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
je 0x4184ca
mov edx, dword [esi + 8]
call fcn.00410ed9
push 5
mov ecx, eax
pop edx
mov dword [ebp - 0xec], ecx
cmp ecx, edx
je 0x41c565
test ecx, ecx
je 0x4185ef
push 8
pop eax
cmp ecx, eax
jne 0x41be45
jmp 0x4185ef
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0x190]
mov edx, dword [esi + 8]
push eax
imul eax, dword [esi + 4], 0x18
inc edx
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx + 4]
call fcn.004143c3
add edi, 0x40
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x190]
pop ecx
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
jmp 0x4194e1
imul eax, dword [esi + 4], 0x18
mov ecx, dword [ebp - 0xe0]
add eax, dword [ecx + 4]
mov ecx, edi
mov dword [ebp - 0xf4], eax
call fcn.0041542e
mov ecx, dword [ebp - 0xf4]
mov edx, dword [esi + 8]
push dword [edi]
inc edx
mov ecx, dword [ecx + 4]
call fcn.00414428
cmp dword [esi + 8], 0
mov edx, dword [ebp - 0xe0]
pop ecx
mov dword [ebp - 0xec], eax
jne 0x41a141
mov eax, dword [ebp - 0xf4]
push 0x10
mov ecx, dword [eax + 0x14]
mov eax, dword [edi]
mov dword [ecx], eax
pop eax
or dword [edx + 8], eax
jmp 0x41a155
cmp dword [esi + 8], 1
jne 0x41a155
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 0x14]
mov al, byte [edi]
mov byte [ecx + 0x78], al
sub edi, 0x40
cmp dword [esi + 4], 1
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
jne 0x4184ca
mov ecx, edx
call fcn.00417570
jmp 0x4184ca
imul ecx, dword [esi + 4], 0x18
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
je 0x41a1af
lea eax, [ebp - 0x150]
xor edx, edx
push eax
inc edx
call fcn.004143c3
mov edx, dword [ebp - 0xe0]
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x150]
jmp 0x41a1b9
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x4184ca
cmp eax, dword [esi + 8]
je 0x4184ca
mov eax, dword [ebp - 0xdc]
push ecx
add eax, 0x230
push str.database_schema_has_changed
push eax
call fcn.0040b6b6
mov edx, dword [esi + 4]
add esp, 0xc
mov esi, dword [ebp - 0xe0]
imul ecx, edx, 0x18
mov eax, dword [esi + 4]
mov eax, dword [ecx + eax + 0x14]
mov ecx, dword [ebp - 0x150]
cmp dword [eax], ecx
je 0x41a20e
mov ecx, esi
call fcn.00420e5c
mov edx, esi
mov ecx, edx
call fcn.00417570
mov dword [ebp - 0xec], 0x11
jmp 0x4184ca
mov eax, dword [esi + 4]
mov ecx, edi
mov dword [ebp - 0x104], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0xf4], eax
call fcn.0041542e
mov eax, dword [edi]
sub edi, 0x40
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x11c], eax
imul eax, eax, 0x18
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
add eax, dword [ecx + 4]
cmp byte [esi], 9
mov ecx, dword [eax + 4]
mov dword [ebp - 0x124], ecx
jne 0x41a296
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xf8], 1
mov al, byte [eax + 0x78]
cmp al, byte [ecx + 0x239]
jae 0x41a29d
mov byte [ecx + 0x239], al
jmp 0x41a29d
and dword [ebp - 0xf8], 0
cmp dword [ebp - 0xf4], 0
jg 0x41a2c4
mov ecx, edi
call fcn.0041542e
mov eax, dword [edi]
sub edi, 0x40
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xdc]
call fcn.00418283
mov dword [ebp - 0x104], eax
pop ecx
test eax, eax
je 0x419d52
mov ecx, dword [ebp - 0x124]
mov byte [eax + 0x1c], 1
test ecx, ecx
je 0x4185ef
mov edx, dword [ebp - 0xf4]
push eax
push dword [esi + 0xc]
push fcn.0041718f
push dword [ebp - 0xf8]
call fcn.00411618
mov edx, dword [ebp - 0x104]
add esp, 0x10
cmp dword [esi + 0x10], 0xfffffffa
mov ecx, eax
mov dword [ebp - 0xec], ecx
jne 0x41a355
mov eax, dword [esi + 0xc]
mov dword [edx + 0x4c], eax
inc eax
mov ecx, dword [edx + 0x4c]
mov dword [edx + 0x48], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [ecx], al
mov ecx, dword [ebp - 0xec]
jmp 0x41a35f
and dword [edx + 0x4c], 0
lea eax, [edx + 0x22]
mov dword [edx + 0x48], eax
test ecx, ecx
je 0x41a397
push 5
pop eax
cmp ecx, eax
je 0x41c57f
push 0x10
pop eax
cmp ecx, eax
jne 0x41be45
cmp dword [esi + 0x10], 0xfffffffa
setne al
test al, al
mov byte [edx + 0x20], al
sete al
and dword [ebp - 0xec], 0
mov byte [edx + 0x21], al
jmp 0x4185ef
mov eax, dword [edx]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x41a3ad
movzx ecx, byte [eax + 8]
mov eax, dword [eax + 0x44]
movzx ecx, byte [ecx + eax]
jmp 0x41a3af
xor ecx, ecx
test cl, 0xf0
jne 0x41a3ee
mov eax, ecx
and eax, 7
cmp eax, 5
je 0x41a3c3
cmp eax, 2
jne 0x41a3ee
mov al, cl
shr ecx, 1
and al, 1
and cl, 1
mov byte [edx + 0x20], al
mov byte [edx + 0x21], cl
test al, al
je 0x41a3dc
cmp dword [esi + 0x10], 0xfffffffa
je 0x41a3ee
test cl, cl
je 0x4185ef
cmp dword [esi + 0x10], 0xfffffffa
je 0x4185ef
push 0xb
jmp 0x41be3e
mov edx, dword [esi + 4]
or eax, 0xffffffff
push eax
call fcn.00418283
mov dword [ebp - 0x110], eax
pop ecx
test eax, eax
je 0x419d52
xor ecx, ecx
xor edx, edx
inc ecx
mov byte [eax + 0x1c], cl
add eax, 0x30
push eax
push 0x1f4
push ecx
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x104], eax
call fcn.00435b16
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41a525
mov ecx, dword [ebp - 0x104]
xor edx, edx
inc edx
mov ecx, dword [ecx]
call fcn.00410ed9
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41a525
cmp dword [esi + 0xc], eax
je 0x41a4ef
mov eax, dword [ebp - 0x104]
lea edx, [ebp - 0x194]
push 2
mov ecx, dword [eax]
call fcn.00413efe
mov dword [ebp - 0xec], eax
pop ecx
test eax, eax
jne 0x41a4e3
push dword [ebp - 0x110]
mov eax, dword [ebp - 0x104]
push dword [esi + 0xc]
mov edx, dword [ebp - 0x194]
push fcn.0041718f
mov ecx, dword [eax]
push 1
call fcn.00411618
mov edx, dword [ebp - 0x110]
add esp, 0x10
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xdc]
mov dword [edx + 0x4c], ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [ecx], al
mov eax, dword [edx + 0x4c]
inc eax
mov dword [edx + 0x48], eax
jmp 0x41a4e9
mov edx, dword [ebp - 0x110]
mov byte [edx + 0x20], 0
jmp 0x41a52b
push dword [ebp - 0x110]
push eax
push eax
xor eax, eax
inc eax
push eax
mov edx, eax
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax]
call fcn.00411618
mov edx, dword [ebp - 0x110]
add esp, 0x10
mov dword [ebp - 0xec], eax
lea eax, [edx + 0x22]
mov byte [edx + 0x20], 1
mov dword [edx + 0x48], eax
jmp 0x41a52b
mov edx, dword [ebp - 0x110]
mov eax, dword [esi + 8]
cmp byte [edx + 0x20], 0
mov dword [edx + 0x50], eax
sete al
mov byte [edx + 0x21], al
jmp 0x4185ef
mov edx, dword [esi + 4]
or eax, 0xffffffff
push eax
call fcn.00418283
pop ecx
test eax, eax
je 0x419d52
xor ecx, ecx
mov word [eax + 0x20], 1
inc ecx
mov byte [eax + 0x1c], cl
mov byte [eax + 0x1e], cl
lea ecx, [eax + 0x22]
mov dword [eax + 0x48], ecx
jmp 0x4185ef
mov esi, dword [esi + 4]
test esi, esi
js case.0x41851e.13
cmp esi, dword [ecx + 0x38]
jge case.0x41851e.13
mov edx, dword [ecx + 0x3c]
mov edx, dword [edx + esi*4]
call fcn.004163fb
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x3c]
and dword [eax + esi*4], 0
jmp case.0x41851e.13
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x110], ecx
cmp dword [ecx], 0
je 0x41a72d
mov byte [ecx + 0x1c], 0
cmp edx, 7
je 0x41a5d0
cmp edx, 0x54
je 0x41a5d0
xor edx, edx
jmp 0x41a5d3
xor edx, edx
inc edx
mov eax, dword [ecx + 0x48]
mov byte [eax], dl
cmp byte [ecx + 0x20], 0
je 0x41a658
mov ecx, edi
call fcn.0041542e
cmp dword [esi + 8], 0
mov eax, dword [edi]
mov edx, dword [edi + 4]
jne 0x41a60a
cmp byte [esi], 0x7f
jne 0x41a60a
mov ecx, dword [ebp - 0x110]
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
mov byte [ecx + 0x1f], 1
jmp 0x418a00
lea ecx, [ebp - 0x13c]
push ecx
mov ecx, dword [ebp - 0x110]
push 0
push edx
push eax
mov ecx, dword [ecx]
xor edx, edx
call fcn.00411c0f
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41be45
mov ecx, dword [ebp - 0x110]
mov eax, dword [edi]
mov edx, dword [ebp - 0x13c]
test edx, edx
mov dword [ecx + 8], eax
mov eax, dword [edi + 4]
mov dword [ecx + 0xc], eax
sete al
mov byte [ecx + 0x19], al
jmp 0x41a693
mov ecx, dword [ecx]
lea eax, [ebp - 0x13c]
push eax
mov eax, dword [edi + 0x14]
cdq
push 0
push edx
mov edx, dword [edi + 0x10]
push eax
call fcn.00411c0f
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41be45
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x13c]
mov byte [ecx + 0x19], al
mov eax, dword [ecx + 0x48]
and dword [ecx + 0x68], 0
mov byte [ecx + 0x1f], 0
mov byte [eax], 0
mov eax, dword [ebp - 0x11c]
cmp eax, 0x7f
je 0x41a6dd
cmp eax, 7
je 0x41a6dd
test edx, edx
js 0x41a6c4
mov ecx, dword [ecx]
lea edx, [ebp - 0x13c]
call fcn.00411f1c
jmp 0x41a6ee
mov eax, dword [ecx]
xor ecx, ecx
cmp byte [eax + 0x41], 1
setne cl
mov dword [ebp - 0x13c], ecx
mov ecx, dword [ebp - 0x110]
jmp 0x41a710
test edx, edx
jns 0x41a709
mov ecx, dword [ecx]
lea edx, [ebp - 0x13c]
call fcn.00411e4c
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41be45
mov ecx, dword [ebp - 0x110]
mov byte [ecx + 0x19], al
jmp 0x41a710
and dword [ebp - 0x13c], 0
cmp dword [ebp - 0x13c], 0
je 0x41a72d
mov eax, dword [esi + 8]
test eax, eax
jle 0x41a729
dec eax
mov dword [ebp - 0xe4], eax
jmp 0x41a72d
mov byte [ecx + 0x1c], 1
test byte [edi + 0x18], 0x40
je 0x418a00
mov ecx, edi
call fcn.004152e7
jmp 0x418a00
mov eax, dword [ebp - 0xdc]
xor edx, edx
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xf8], eax
cmp dword [eax], edx
je 0x41a7bd
test byte [edi + 0x18], 0x12
jne 0x41a77a
movzx edx, byte [ebp - 0x128]
mov ecx, edi
call fcn.004151e9
test eax, eax
jne 0x419d52
mov ecx, dword [ebp - 0xf8]
lea eax, [ebp - 0x18c]
push eax
mov eax, dword [edi + 0x14]
cdq
mov ecx, dword [ecx]
push 0
push edx
mov edx, dword [edi + 0x10]
push eax
call fcn.00411c0f
add esp, 0x10
test eax, eax
jne 0x41a7ad
cmp dword [ebp - 0x18c], eax
jne 0x41a7ad
xor edx, edx
inc edx
jmp 0x41a7af
xor edx, edx
mov eax, dword [ebp - 0xf8]
and dword [eax + 0x68], 0
mov byte [eax + 0x1f], 0
mov al, byte [esi]
cmp al, 0x85
jne 0x41a7c9
test edx, edx
je 0x41a7d7
jmp 0x41a7cd
test edx, edx
jne 0x41a7d7
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 0xe4], ecx
cmp al, 0x6f
je 0x4185ef
jmp 0x41a72d
mov esi, dword [esi + 4]
lea eax, [edi - 0x40]
mov ecx, edi
mov dword [ebp - 0xf8], eax
call fcn.0041542e
mov eax, dword [edi]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x11c], eax
mov eax, dword [edi + 4]
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x124], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x104], eax
mov eax, dword [eax]
mov dword [ebp - 0xf4], eax
test eax, eax
je case.0x41851e.13
mov esi, edi
test byte [esi + 0x18], 0x12
jne 0x41a85a
movzx edx, byte [ebp - 0x128]
mov ecx, esi
call fcn.004151e9
test eax, eax
jne 0x419d52
mov eax, dword [esi + 0x10]
mov ecx, eax
mov dword [ebp - 0xf8], eax
call fcn.004173f3
mov esi, dword [esi + 0x14]
mov ecx, dword [ebp - 0xf4]
sub esi, eax
mov eax, dword [ebp - 0x104]
and dword [eax + 0x68], 0
lea eax, [ebp - 0x14c]
push eax
mov eax, esi
cdq
push 0
push edx
mov edx, dword [ebp - 0xf8]
push eax
call fcn.00411c0f
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41be45
cmp dword [ebp - 0x14c], eax
jge 0x41a8e1
mov ecx, dword [ebp - 0xf4]
lea edx, [ebp - 0x14c]
call fcn.00411e4c
cmp dword [ebp - 0x14c], 0
mov dword [ebp - 0xec], eax
je 0x41a8e1
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 8]
jmp 0x4190de
mov ecx, dword [ebp - 0x104]
lea eax, [ebp - 0x14c]
push eax
push dword [ebp - 0xf8]
mov edx, esi
call fcn.004174d6
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41be45
cmp dword [ebp - 0x14c], eax
jg 0x41a8d3
mov ecx, dword [ebp - 0xf4]
lea edx, [ebp - 0x1b0]
call fcn.0041741d
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41be45
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1ac]
cmp ecx, dword [ebp - 0x11c]
jne 0x41a952
cmp eax, dword [ebp - 0x124]
je 0x41a8d3
add edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov dword [edi], ecx
jmp 0x418d00
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x11c], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x41a72d
lea eax, [ebp - 0x198]
xor edx, edx
push eax
push 0
push dword [edi + 4]
push dword [edi]
call fcn.00411c0f
mov edx, dword [ebp - 0x11c]
add esp, 0x10
mov ecx, dword [ebp - 0x198]
test ecx, ecx
mov dword [ebp - 0xec], eax
mov eax, dword [edi]
mov dword [edx + 8], eax
mov eax, dword [edi + 4]
mov dword [edx + 0xc], eax
sete al
and dword [edx + 0x68], 0
mov byte [edx + 0x19], al
mov byte [edx + 0x1c], 0
test ecx, ecx
je 0x41a72d
mov eax, dword [esi + 8]
dec eax
mov byte [edx + 0x19], 0
mov dword [ebp - 0xe4], eax
jmp 0x41a72d
mov eax, dword [ecx + 0x3c]
add edi, 0x40
mov edx, dword [esi + 4]
push 4
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx + 0x58]
mov dword [edi], eax
mov eax, dword [ecx + 0x5c]
mov ecx, dword [ebp - 0xdc]
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x3c]
mov eax, dword [eax + edx*4]
add dword [eax + 0x58], 1
adc dword [eax + 0x5c], 0
pop eax
mov word [edi + 0x18], ax
jmp case.0x41851e.13
mov eax, dword [ebp - 0xdc]
xorps xmm0, xmm0
mov ecx, dword [esi + 4]
movlpd qword [ebp - 0x108], xmm0
mov eax, dword [eax + 0x3c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x10c], edx
mov ecx, dword [edx]
test ecx, ecx
je 0x41ad34
and dword [ebp - 0xf4], 0
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x41aa71
movzx ecx, byte [eax + 8]
mov eax, dword [eax + 0x44]
movzx eax, byte [ecx + eax]
mov ecx, dword [edx]
jmp 0x41aa73
xor eax, eax
and al, 3
cmp al, 1
jne 0x41a3ee
cmp byte [edx + 0x1b], 0
jne 0x41abf2
cmp byte [edx + 0x1d], 0
je 0x41aa95
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
jmp 0x41ab0d
lea edx, [ebp - 0x134]
call fcn.00411be4
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41be45
cmp dword [ebp - 0x134], eax
je 0x41aabb
inc eax
jmp 0x41ab07
mov ecx, dword [ebp - 0x10c]
lea edx, [ebp - 0x108]
mov ecx, dword [ecx]
call fcn.00411787
mov eax, dword [ebp - 0x108]
or ecx, 0xffffffff
cmp eax, ecx
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0xfc], ecx
jne 0x41ab01
cmp ecx, 0x7fffffff
jne 0x41ab01
mov edx, dword [ebp - 0x10c]
mov byte [edx + 0x1b], 1
jmp 0x41ab19
add eax, 1
adc ecx, 0
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xfc], ecx
mov esi, dword [esi + 8]
test esi, esi
je 0x41abaf
mov eax, dword [ebp - 0xdc]
shl esi, 6
add esi, dword [eax + 0x58]
mov ecx, esi
call fcn.0041542e
mov ecx, dword [esi]
or edx, 0xffffffff
mov eax, dword [esi + 4]
cmp ecx, edx
jne 0x41ab4e
cmp eax, 0x7fffffff
je 0x41c5aa
mov edx, dword [ebp - 0x10c]
cmp byte [edx + 0x1b], 0
jne 0x41c5aa
add ecx, 1
mov dword [ebp - 0xf8], ecx
mov ecx, dword [ebp - 0xfc]
adc eax, 0
mov dword [ebp - 0x11c], eax
cmp ecx, eax
jg 0x41aba4
jl 0x41ab8a
mov eax, dword [ebp - 0xe8]
cmp eax, dword [ebp - 0xf8]
jae 0x41abaa
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xfc], ecx
jmp 0x41abaa
mov eax, dword [ebp - 0xe8]
mov dword [esi], eax
mov dword [esi + 4], ecx
cmp ecx, 0x7fffffff
ja 0x41abe6
jb 0x41abc0
or esi, 0xffffffff
cmp eax, esi
jae 0x41abe6
mov ecx, eax
mov byte [edx + 0x1d], 1
mov eax, dword [ebp - 0xfc]
add ecx, 1
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0xfc]
adc eax, 0
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0xe8]
jmp 0x41abfe
mov eax, dword [ebp - 0xe8]
mov byte [edx + 0x1d], 0
jmp 0x41abfe
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x108]
cmp byte [edx + 0x1b], 0
je 0x41ad26
mov eax, dword [ebp - 0xe0]
xor esi, esi
mov ecx, dword [eax + 0x2c]
mov edi, dword [eax + 0x28]
mov dword [ebp - 0x108], edi
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x104], ecx
mov eax, edi
or eax, ecx
je 0x41ac62
cmp esi, 2
jg 0x41ac62
xor ecx, ecx
lea edx, [ebp - 0x13e]
inc ecx
call fcn.0040ad94
movzx eax, byte [ebp - 0x13e]
mov ecx, dword [ebp - 0xfc]
inc eax
cdq
add edi, eax
adc ecx, edx
mov dword [ebp - 0x108], edi
mov dword [ebp - 0x104], ecx
jmp 0x41ac8f
push 8
pop eax
lea edx, [ebp - 0x108]
mov ecx, eax
call fcn.0040ad94
mov edi, dword [ebp - 0x108]
push 5
pop eax
cmp esi, eax
jge 0x41ac89
and edi, 0xffffff
xor ecx, ecx
jmp 0x41ac54
mov ecx, dword [ebp - 0x104]
mov eax, edi
mov dword [ebp - 0xfc], ecx
or eax, ecx
je 0x41acc7
lea eax, [ebp - 0x134]
xor edx, edx
push eax
mov eax, dword [ebp - 0x10c]
push 0
push ecx
push edi
mov ecx, dword [eax]
call fcn.00411c0f
mov ecx, dword [ebp - 0xfc]
add esp, 0x10
mov dword [ebp - 0xf4], eax
inc esi
jmp 0x41accd
mov eax, dword [ebp - 0xf4]
cmp esi, 0x3e8
jge 0x41ace5
test eax, eax
jne 0x41ace5
cmp dword [ebp - 0x134], eax
je 0x41ac28
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe8], edi
mov dword [edx + 0x28], edi
mov edi, dword [ebp - 0xf0]
mov dword [edx + 0x2c], ecx
test eax, eax
jne 0x41ad1a
cmp dword [ebp - 0x134], 0
je 0x41c5aa
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xe8]
and dword [edx + 0x68], 0
mov byte [edx + 0x19], 0
mov byte [edx + 0x1f], 0
jmp 0x41ad40
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x108]
add edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov dword [edi], eax
jmp 0x419088
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x104], ecx
cmp dword [ecx], 0
jne 0x41ad7a
cmp byte [ecx + 0x1e], 0
je 0x41af0a
test byte [esi + 8], 1
mov edx, dword [edi - 0x40]
mov eax, dword [edi - 0x3c]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xf4], eax
je 0x41ad9e
mov eax, dword [ebp - 0xdc]
inc dword [eax + 0x23c]
test byte [esi + 8], 2
je 0x41adbc
mov esi, dword [ebp - 0xe0]
mov eax, dword [edi - 0x40]
mov dword [esi + 0x20], eax
mov eax, dword [edi - 0x3c]
mov dword [esi + 0x24], eax
mov esi, dword [ebp - 0xfc]
cmp byte [ecx + 0x1d], 0
je 0x41add8
mov eax, dword [edi - 0x3c]
cmp eax, dword [ecx + 0x14]
jl 0x41add8
jg 0x41add4
mov eax, dword [edi - 0x40]
cmp eax, dword [ecx + 0x10]
jb 0x41add8
mov byte [ecx + 0x1d], 0
test byte [edi + 0x18], 1
je 0x41ade6
and dword [edi + 0x10], 0
and dword [edi + 0x14], 0
cmp byte [ecx + 0x1e], 0
je 0x41ae83
push dword [ecx + 0x38]
call fcn.0040b5df
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0xf8]
pop ecx
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0xf4]
mov dword [edx + 0x44], eax
mov ecx, dword [edi + 0x14]
mov dword [edx + 0x34], ecx
test byte [edi + 0x18], 0x40
je 0x41ae2c
mov eax, dword [edi + 0x10]
mov dword [edx + 0x38], eax
xor eax, eax
inc eax
mov word [edi + 0x18], ax
jmp 0x41ae77
add ecx, 2
test ecx, ecx
jle 0x41ae40
call fcn.0040b591
mov edx, dword [ebp - 0x104]
jmp 0x41ae42
xor eax, eax
mov dword [edx + 0x38], eax
test eax, eax
je 0x419d52
push dword [edx + 0x34]
push dword [edi + 0x10]
push eax
call fcn.004a97d0
mov edx, dword [ebp - 0x104]
add esp, 0xc
mov ecx, dword [edx + 0x38]
mov eax, dword [edx + 0x34]
mov byte [ecx + eax], 0
mov ecx, dword [edx + 0x38]
mov eax, dword [edx + 0x34]
mov byte [ecx + eax + 1], 0
mov eax, dword [ebp - 0xec]
mov byte [edx + 0x1c], 0
jmp 0x41aeb0
mov eax, dword [esi + 8]
mov ecx, dword [ecx]
and eax, 8
push eax
push dword [edi + 0x14]
mov eax, dword [ebp - 0xf4]
push dword [edi + 0x10]
push eax
push edx
xor edx, edx
call fcn.00413b39
mov edx, dword [ebp - 0x104]
add esp, 0x14
mov dword [ebp - 0xec], eax
and dword [edx + 0x68], 0
mov byte [edx + 0x19], 0
mov byte [edx + 0x1f], 0
test eax, eax
jne 0x41af0a
mov eax, dword [ebp - 0xe0]
mov edi, dword [eax + 0x7c]
test edi, edi
je 0x41af0a
cmp dword [esi + 0xc], 0
je 0x41af0a
push dword [ebp - 0xf4]
imul ecx, dword [edx + 4], 0x18
push dword [ebp - 0xf8]
mov eax, dword [eax + 4]
push dword [esi + 0xc]
push dword [ecx + eax]
push 4
pop eax
test byte [esi + 8], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xe0]
push dword [eax + 0x78]
call edi
add esp, 0x18
push 2
pop edx
jmp 0x418854
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xf4], ecx
mov eax, dword [ecx]
test eax, eax
je 0x41affe
mov edx, dword [ebp - 0xe0]
cmp dword [edx + 0x7c], 0
je 0x41af80
cmp dword [esi + 0xc], 0
je 0x41af80
cmp byte [ecx + 0x19], 0
je 0x41af5d
mov eax, dword [ecx + 8]
mov dword [ebp - 0x188], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x184], eax
jmp 0x41af80
lea edx, [ebp - 0x188]
mov ecx, eax
call fcn.00411787
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41be45
mov ecx, dword [ebp - 0xf4]
call fcn.00416e0a
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41be45
mov ecx, dword [ebp - 0xf4]
mov ecx, dword [ecx]
call fcn.00413cca
mov ecx, eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xec], ecx
and dword [eax + 0x68], 0
mov byte [eax + 0x1d], 0
test ecx, ecx
jne 0x41affe
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0x7c]
test edx, edx
je 0x41affe
cmp dword [esi + 0xc], 0
je 0x41affe
imul ecx, dword [eax + 4], 0x18
push dword [ebp - 0x184]
mov eax, dword [ebp - 0xe0]
push dword [ebp - 0x188]
push dword [esi + 0xc]
mov eax, dword [eax + 4]
push dword [ecx + eax]
mov eax, dword [ebp - 0xe0]
push 9
push dword [eax + 0x78]
call edx
add esp, 0x18
test byte [esi + 8], 1
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe4]
je 0x41c4b6
inc dword [ecx + 0x23c]
jmp 0x41c4b6
cmp dword [esi + 4], 0
mov edx, dword [ebp - 0xe0]
je 0x41b03d
mov eax, dword [ecx + 0x23c]
add dword [edx + 0x38], eax
mov dword [edx + 0x34], eax
and dword [ecx + 0x23c], 0
jmp 0x41c4b0
mov eax, dword [ebp - 0xdc]
add edi, 0x40
mov ecx, dword [esi + 4]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x11c], esi
cmp byte [esi + 0x1c], 0
jne 0x41b167
mov eax, dword [esi]
mov dword [ebp - 0x104], eax
test eax, eax
je 0x41b144
mov ecx, esi
call fcn.00416e0a
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41be45
cmp byte [esi + 0x1c], al
jne 0x418ae5
mov ecx, dword [ebp - 0x104]
cmp byte [esi + 0x21], al
je 0x41b0cb
lea edx, [ebp - 0x1e0]
call fcn.00411787
mov esi, dword [ebp - 0x1e0]
mov dword [ebp - 0x178], esi
jmp 0x41b0dc
lea edx, [ebp - 0x178]
call fcn.004117c7
mov esi, dword [ebp - 0x178]
mov dword [edi + 0x14], esi
cmp esi, 0x20
ja 0x41b0f2
mov eax, 0x210
mov word [edi + 0x18], ax
lea eax, [edi + 0x20]
jmp 0x41b114
test esi, esi
jle 0x41b0ff
mov ecx, esi
call fcn.0040b591
jmp 0x41b101
xor eax, eax
test eax, eax
je 0x419d52
push 0x50
pop ecx
mov word [edi + 0x18], cx
and dword [edi + 0x1c], 0
mov ecx, dword [ebp - 0x104]
xor edx, edx
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x11c]
push dword [edi + 0x10]
push esi
cmp byte [eax + 0x21], dl
je 0x41b135
call fcn.0041194b
jmp 0x41b13a
call fcn.0041198d
pop ecx
pop ecx
mov dword [ebp - 0xec], eax
jmp 0x41b15f
cmp byte [esi + 0x1e], 0
je 0x41b167
mov eax, dword [esi + 0x34]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x38]
mov dword [edi + 0x10], eax
mov eax, 0x110
mov word [edi + 0x18], ax
xor eax, eax
inc eax
jmp 0x41872d
xor eax, eax
inc eax
mov word [edi + 0x18], ax
jmp 0x41872d
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.00416e0a
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41be45
add edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
cmp byte [esi + 0x19], al
je 0x41b1b5
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
jmp 0x41b1c1
cmp byte [esi + 0x1e], 0
je 0x41b1d2
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], ecx
jmp 0x41ad4f
cmp byte [esi + 0x1c], 0
jne 0x418ae5
mov ecx, dword [esi]
test ecx, ecx
je 0x418ae5
lea edx, [ebp - 0x170]
call fcn.00411787
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x170]
jmp 0x41ad4f
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp 0x4185ef
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x11c], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x41b27f
lea edx, [ebp - 0x1a0]
call fcn.00411be4
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x1a0]
and dword [ecx + 0x68], 0
mov byte [ecx + 0x1f], 0
mov byte [ecx + 0x1c], al
test eax, eax
je 0x4185ef
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0xe0]
test eax, eax
jle 0x4184ca
jmp 0x419f12
mov byte [eax + 0x1c], 0
jmp 0x4185ef
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xf8], ecx
mov eax, dword [ecx]
mov dword [ebp - 0x11c], eax
test eax, eax
je 0x41b307
mov ecx, eax
call fcn.00411ac2
mov edx, eax
mov dword [ebp - 0xec], edx
test edx, edx
jne 0x41b2e8
mov ecx, dword [ebp - 0x11c]
cmp byte [ecx + 0x41], al
jne 0x41b2d6
inc eax
and dword [ebp - 0xec], edx
mov dword [ebp - 0x144], eax
jmp 0x41b2ee
and dword [ebp - 0x144], 0
call fcn.00411b6d
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0xf8]
test eax, eax
sete al
mov byte [ecx + 0x1a], al
mov eax, dword [ebp - 0x144]
jmp 0x41b256
xor eax, eax
inc eax
mov dword [ebp - 0x144], eax
jmp 0x41b25e
mov edx, dword [ebp - 0xe0]
cmp dword [edx + 0x98], 0
jne 0x41c6ef
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x11c], ecx
test ecx, ecx
je 0x4184ca
mov eax, dword [ecx]
test eax, eax
je 0x41b3b0
cmp byte [ecx + 0x1c], 0
je 0x41b35d
mov dword [ebp - 0x164], 1
jmp 0x41b3a7
cmp byte [ebp - 0x115], 0x6d
lea edx, [ebp - 0x164]
mov ecx, eax
jne 0x41b375
call fcn.00411e4c
jmp 0x41b37a
call fcn.00411f1c
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x164]
and dword [ecx + 0x68], 0
mov byte [ecx + 0x1c], al
test eax, eax
jne 0x41b3a1
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 0xe4], edx
mov edx, dword [ebp - 0xe0]
mov byte [ecx + 0x19], 0
jmp 0x4184ca
mov byte [ecx + 0x1c], 1
jmp 0x41b3a7
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x11c], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x41a72d
push dword [esi + 8]
mov eax, dword [edi + 0x14]
push 0
cdq
push 0x4e77ae
push edx
mov edx, dword [edi + 0x10]
push eax
call fcn.00413b39
add esp, 0x14
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x11c]
and dword [eax + 0x68], 0
jmp 0x41a72d
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x11c], eax
mov esi, dword [eax]
test esi, esi
je 0x41a72d
lea eax, [ebp - 0x19c]
mov ecx, esi
push eax
mov eax, dword [edi + 0x14]
cdq
push 0
push edx
mov edx, dword [edi + 0x10]
push eax
call fcn.00411c0f
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b3f6
cmp dword [ebp - 0x19c], eax
jne 0x41b3f6
mov ecx, esi
call fcn.00413cca
jmp 0x41b3f0
mov ecx, dword [esi + 4]
add edi, 0x40
xor eax, eax
mov dword [ebp - 0xf0], edi
inc eax
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
test ecx, ecx
je 0x4185ef
cmp byte [eax + 0x1c], 0
jne 0x418ae5
lea edx, [ebp - 0x1b8]
call fcn.0041741d
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41be45
push 4
pop eax
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x1b8]
mov dword [edi], eax
mov eax, dword [ebp - 0x1b4]
mov dword [edi + 4], eax
jmp 0x4185ef
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xf4], eax
cmp dword [eax], 0
je 0x41a72d
test byte [edi + 0x18], 0x12
jne 0x41b50e
movzx edx, byte [ebp - 0x128]
mov ecx, edi
call fcn.004151e9
test eax, eax
jne 0x419d52
mov eax, dword [ebp - 0xf4]
cmp dword [esi + 0xc], 0
mov eax, dword [eax + 0x48]
setne cl
mov byte [eax], cl
lea eax, [ebp - 0x148]
mov edx, dword [edi + 0x14]
mov ecx, dword [ebp - 0xf4]
push eax
push dword [edi + 0x10]
call fcn.004174d6
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xec], ecx
mov eax, dword [eax + 0x48]
mov byte [eax], 0
test ecx, ecx
jne 0x4185ef
mov al, byte [esi]
cmp al, 0x26
jne 0x41b560
mov eax, dword [ebp - 0x148]
neg eax
jmp 0x41b56b
cmp al, 0x3f
mov eax, dword [ebp - 0x148]
jne 0x41b571
inc eax
mov dword [ebp - 0x148], eax
test eax, eax
jle 0x41a72d
mov eax, dword [esi + 8]
jmp 0x41a720
mov edx, dword [ebp - 0xe0]
xor ecx, ecx
mov eax, dword [edx + 0x50]
test eax, eax
je 0x41b5c4
cmp dword [eax + 0x50], 0xbdf20da3
jne 0x41b5a9
cmp byte [eax + 0x23a], 2
jae 0x41b5a9
cmp dword [eax + 0x7c], 0
jl 0x41b5a9
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x41b590
cmp ecx, 1
jle 0x41b5c4
mov dword [ebp - 0xec], 6
jmp 0x4184ca
mov ecx, dword [edx + 4]
lea eax, [ebp - 0x160]
mov edx, dword [esi + 4]
push eax
imul eax, dword [esi + 8], 0x18
mov ecx, dword [eax + ecx + 4]
call fcn.00414243
add edi, 0x40
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
pop ecx
mov ecx, dword [ebp - 0x160]
push 4
pop eax
mov word [edi + 0x18], ax
mov eax, ecx
cdq
mov dword [edi], eax
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov dword [edi + 4], edx
jne 0x4185ef
test ecx, ecx
je 0x4185ef
mov eax, dword [esi + 4]
imul edx, dword [esi + 8], 0x18
mov esi, ecx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xe0]
add edx, dword [eax + 4]
mov dword [ebp - 0x11c], edx
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x41b663
mov edx, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x41b657
mov dword [ecx + 0x14], edx
mov eax, dword [eax]
test eax, eax
jne 0x41b64c
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0x28]
test eax, eax
je 0x4185ef
mov edi, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x41b682
mov dword [ecx + 0x14], edi
mov eax, dword [eax]
test eax, eax
jne 0x41b677
mov edi, dword [ebp - 0xf0]
jmp 0x4185ef
imul eax, dword [esi + 8], 0x18
mov ecx, dword [ebp - 0xe0]
mov edx, dword [esi + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx + 4]
call fcn.004141f9
jmp 0x419b4f
imul ecx, dword [esi + 4], 0x18
mov eax, dword [ebp - 0xe0]
push 2
add ecx, dword [eax + 4]
cmp byte [ebp - 0x115], 0x33
pop eax
push 5
mov ecx, dword [ecx + 4]
pop edx
cmove eax, edx
lea edx, [ebp - 0x154]
push eax
call fcn.00413efe
mov esi, dword [ebp - 0xe4]
add edi, 0x40
pop ecx
mov ecx, eax
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], edi
test ecx, ecx
jne 0x41b714
mov eax, dword [ebp - 0x154]
cdq
mov dword [edi], eax
push 4
pop eax
mov dword [edi + 4], edx
mov word [edi + 0x18], ax
jmp 0x41b71b
xor ecx, ecx
inc ecx
mov word [edi + 0x18], cx
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
jmp 0x41c4b6
cmp dword [esi + 8], 0
mov edx, dword [esi + 4]
jne 0x41b74f
mov eax, dword [ebp - 0xe0]
imul ecx, edx, 0x18
mov eax, dword [eax + 4]
mov eax, dword [ecx + eax + 0x14]
test byte [eax + 0x7a], 1
je 0x4185ef
push dword [esi + 0xc]
cmp edx, 1
mov dword [ebp - 0x1d4], edx
mov eax, str.sqlite_master
mov ecx, str.sqlite_temp_master
cmovne ecx, eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0xdc]
add eax, 0x230
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0xe0]
push ecx
imul ecx, edx, 0x18
mov eax, dword [eax + 4]
push dword [ecx + eax]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
call fcn.0040abbf
mov esi, eax
add esp, 0x10
test esi, esi
je 0x419d52
mov ecx, dword [ebp - 0xe0]
call fcn.0040bd27
push 0
lea eax, [ebp - 0x1d8]
mov byte [ecx + 0x44], 1
push eax
push fcn.004297d1
push esi
push ecx
call fcn.00427d98
add esp, 0x14
push 4
pop ecx
cmp eax, ecx
push esi
cmove eax, dword [ebp - 0x1cc]
mov dword [ebp - 0xec], eax
call fcn.0040b5df
mov edx, dword [ebp - 0xe0]
pop ecx
mov ecx, edx
mov byte [edx + 0x44], 0
call fcn.0040bcfc
cmp dword [ebp - 0xec], 7
jne 0x4184ca
call fcn.0040c06b
jmp 0x419d52
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xe0]
call fcn.0041ffe0
jmp 0x4185ef
push dword [esi + 0xc]
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xe0]
call fcn.004210ed
pop ecx
jmp 0x4185ef
push dword [esi + 0xc]
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xe0]
call fcn.00420dd8
jmp 0x41b838
push dword [esi + 0xc]
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xe0]
call fcn.0042e8e7
jmp 0x41b838
xor edx, edx
mov dword [ebp - 0xf4], edx
cmp edi, dword [ecx + 0x28]
jb 0x41b896
mov ecx, edi
push 4
pop eax
test byte [ecx + 0x18], al
je 0x41b890
inc edx
mov ecx, edi
mov eax, edx
shl eax, 6
sub ecx, eax
mov eax, dword [ebp - 0xdc]
cmp ecx, dword [eax + 0x28]
jae 0x41b873
mov dword [ebp - 0xf4], edx
lea ecx, [edx*4 + 4]
test ecx, ecx
jle 0x41b8ae
call fcn.0040b591
mov edx, dword [ebp - 0xf4]
jmp 0x41b8b0
xor eax, eax
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x100], eax
test eax, eax
je 0x419d58
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [ecx + 0x58]
xor ecx, ecx
mov dword [ebp - 0xf8], eax
test edx, edx
jle 0x41b8f2
mov esi, dword [ebp - 0x100]
mov eax, dword [edi]
lea edi, [edi - 0x40]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x41b8df
mov esi, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x100]
and dword [eax + ecx*4], 0
lea ecx, [ebp - 0xe8]
call fcn.0041825d
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0x174]
mov edi, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x100]
add edi, 0x40
push eax
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
push dword [eax]
imul eax, dword [esi + 8], 0x18
push dword [ebp - 0xf4]
mov ecx, dword [eax + ecx + 4]
call fcn.00414c07
mov esi, dword [ebp - 0xf8]
mov ecx, eax
mov eax, dword [ebp - 0x174]
add esp, 0xc
cdq
sub dword [esi], eax
sbb dword [esi + 4], edx
cmp dword [ebp - 0x174], 0
jne 0x41b976
xor eax, eax
inc eax
mov word [edi + 0x18], ax
jmp 0x41b996
mov dword [edi + 0x10], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b97c
sub ecx, edx
push 0x62
pop eax
mov dword [edi + 0x14], ecx
mov word [edi + 0x18], ax
xor eax, eax
and dword [edi + 0x1c], 0
inc eax
movzx edx, byte [ebp - 0x128]
mov ecx, edi
mov byte [edi + 0x1b], al
call fcn.0041508a
push dword [ebp - 0x100]
call fcn.0040b5df
jmp 0x41b838
mov ecx, edi
call fcn.0041542e
push dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
push dword [edi]
lea ecx, [ecx + 0x64]
call fcn.00414fbc
pop ecx
pop ecx
jmp 0x418a00
mov edx, dword [ebp - 0xe0]
cmp dword [edx + 0x98], 0
jne 0x41c6ef
add ecx, 0x64
lea edx, [ebp - 0x1c8]
call fcn.00415019
mov edx, dword [ebp - 0xe0]
cmp eax, 0x65
je 0x419630
mov eax, dword [ebp - 0x1c8]
add edi, 0x40
push 4
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov dword [edi], eax
mov eax, dword [ebp - 0x1c4]
mov dword [edi + 4], eax
pop eax
mov word [edi + 0x18], ax
jmp 0x4184ca
mov esi, dword [ecx + 0x70]
lea eax, [esi + 1]
mov dword [ecx + 0x70], eax
cmp esi, dword [ecx + 0x74]
jl 0x41ba64
mov dword [ecx + 0x74], eax
lea eax, [esi + 1]
mov ecx, dword [ecx + 0x78]
imul edx, eax, 0x18
call fcn.0040b624
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x78], eax
test eax, eax
je 0x419d58
mov edx, dword [ebp - 0xe0]
imul edi, esi, 0x18
lea esi, [ecx + 0x64]
mov eax, dword [edx + 0x20]
add edi, dword [ecx + 0x78]
mov dword [edi], eax
mov eax, dword [edx + 0x24]
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x23c]
mov dword [edi + 8], eax
add edi, 0xc
xor eax, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ecx + 0x64]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [ebp - 0xf0]
jmp 0x4184ca
dec dword [ecx + 0x70]
lea edi, [ecx + 0x64]
imul esi, dword [ecx + 0x70], 0x18
mov edx, dword [ebp - 0xe0]
add esi, dword [ecx + 0x78]
mov eax, dword [esi]
mov dword [edx + 0x20], eax
mov eax, dword [esi + 4]
mov dword [edx + 0x24], eax
mov eax, dword [esi + 8]
mov dword [ecx + 0x23c], eax
mov ecx, edi
call fcn.00415067
add esi, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x41b688
mov eax, dword [ebp - 0xdc]
mov edx, edi
mov ecx, dword [esi + 4]
shl ecx, 6
add ecx, dword [eax + 0x58]
call fcn.004154db
sub edi, 0x40
mov dword [ebp - 0xec], eax
cmp dword [esi + 8], 0
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
jne 0x4185ef
mov esi, dword [esi + 4]
add edi, 0x40
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
shl esi, 6
push 8
add esi, dword [eax + 0x58]
pop eax
mov ecx, eax
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xe4]
movzx eax, word [edi + 0x18]
and dword [edi + 0x1c], 0
test al, 0x12
je 0x41bb61
and eax, 0xfd3f
mov ecx, 0x100
or eax, ecx
mov word [edi + 0x18], ax
mov ecx, dword [ebp - 0xdc]
jmp 0x41c4b6
mov esi, dword [esi + 4]
shl esi, 6
add esi, dword [ecx + 0x58]
mov ecx, esi
call fcn.0041542e
mov ecx, edi
call fcn.0041542e
mov ecx, dword [edi + 4]
mov eax, dword [edi]
cmp dword [esi + 4], ecx
jg 0x4185ef
jl 0x41bb9b
cmp dword [esi], eax
jae 0x4185ef
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x4185ef
mov ecx, dword [esi + 8]
mov eax, dword [ebp - 0xdc]
shl ecx, 6
add ecx, dword [eax + 0x58]
mov eax, dword [esi + 4]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp 0x4185ef
mov eax, dword [esi + 4]
mov ecx, dword [ecx + 0x58]
shl eax, 6
cmp dword [eax + ecx + 4], 0
jl 0x4185ef
jg 0x4190db
cmp dword [eax + ecx], 0
jbe 0x4185ef
jmp 0x4190db
mov eax, dword [esi + 4]
mov ecx, dword [ecx + 0x58]
shl eax, 6
cmp dword [eax + ecx + 4], 0
jg 0x4185ef
jl 0x4190db
cmp dword [eax + ecx], 0
jae 0x4185ef
jmp 0x4190db
mov edx, dword [esi + 4]
mov ecx, dword [ecx + 0x58]
shl edx, 6
mov eax, dword [edx + ecx]
or eax, dword [edx + ecx + 4]
mov edx, dword [ebp - 0xe0]
jne 0x4184ca
jmp 0x419630
mov esi, dword [esi + 4]
shl esi, 6
add esi, dword [ecx + 0x58]
mov ecx, esi
call fcn.004152e7
xor ecx, ecx
push 5
inc ecx
and dword [esi + 0x14], 0
pop eax
mov word [esi + 0x18], cx
mov byte [esi + 0x1a], al
jmp 0x4185ef
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
cdq
push edx
push eax
mov eax, dword [ebp - 0xdc]
shl ecx, 6
add ecx, dword [eax + 0x58]
call fcn.0041546c
pop ecx
jmp 0x41b838
mov edx, dword [esi + 8]
mov eax, dword [ebp - 0xdc]
shl edx, 6
add edx, dword [ecx + 0x58]
mov ecx, dword [esi + 4]
shl ecx, 6
add ecx, dword [eax + 0x58]
call fcn.004154db
jmp 0x419b4f
mov ecx, dword [esi + 8]
xor edx, edx
mov eax, ecx
mov dword [ebp - 0xf4], ecx
shl eax, 6
sub edi, eax
mov eax, dword [ebp - 0xdc]
add edi, 0x40
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xf8], eax
test ecx, ecx
jle 0x41bceb
mov esi, ecx
mov ecx, edi
mov dword [eax + edx*4], edi
call fcn.00418232
mov eax, dword [ebp - 0xf8]
inc edx
add edi, 0x40
cmp edx, esi
jl 0x41bcc7
mov esi, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf4]
mov eax, dword [esi + 0xc]
mov edi, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], eax
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [edi + 0x58]
mov dword [ebp - 0x90], eax
inc dword [eax + 0x14]
xor eax, eax
mov edx, dword [ebp - 0xd8]
inc eax
mov word [ebp - 0xb8], ax
xor eax, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0x8c], al
mov dword [ebp - 0x88], eax
cmp byte [edx + 3], al
je 0x41bd44
mov eax, dword [esi - 8]
mov dword [ebp - 0x88], eax
push dword [ebp - 0xf8]
lea eax, [ebp - 0xd8]
push ecx
push eax
call dword [edx + 0x14]
mov edx, dword [ebp - 0xf4]
lea ecx, [ebp - 0xe8]
add esp, 0xc
call fcn.0041825d
cmp byte [ebp - 0x8c], 0
je 0x41bd9d
push 0
push ecx
mov dl, 1
lea ecx, [ebp - 0xd0]
call fcn.004158b9
pop ecx
push eax
lea eax, [edi + 0x230]
push eax
call fcn.0040b6b6
add esp, 0xc
mov dword [ebp - 0xec], 1
lea ecx, [ebp - 0xd0]
call fcn.004152e7
jmp 0x41885f
mov eax, dword [esi + 4]
mov edx, dword [esi + 0xc]
shl eax, 6
add eax, dword [ecx + 0x58]
mov ecx, eax
mov dword [ebp - 0x11c], eax
call fcn.0041525b
mov ecx, eax
mov dword [ebp - 0xec], ecx
cmp ecx, 1
jne 0x4185ef
push 0
push ecx
mov ecx, dword [ebp - 0x11c]
mov dl, al
call fcn.004158b9
pop ecx
push eax
mov eax, dword [ebp - 0xdc]
add eax, 0x230
push eax
call fcn.0040b6b6
jmp 0x4187e4
mov edx, dword [ebp - 0xe0]
mov ecx, edx
call fcn.0040bd27
test eax, eax
jne 0x41be3c
mov ecx, dword [ebp - 0xdc]
lea ecx, [ecx + 0x230]
call fcn.0042fa2c
mov dword [ebp - 0xec], eax
mov edx, dword [ebp - 0xe0]
mov ecx, edx
call fcn.0040bcfc
test eax, eax
je 0x4184ca
push 0x15
pop ecx
mov dword [ebp - 0xec], ecx
mov eax, dword [ebp - 0xdc]
lea edx, [eax + 0x230]
cmp dword [edx], 0
jne 0x41c4d0
call fcn.0040c052
push 7
test eax, eax
pop eax
cmovne ecx, eax
push 0x65
mov dword [ebp - 0xec], ecx
movzx ecx, cl
pop esi
cmp ecx, esi
jg 0x41c5b1
call fcn.004355bb
jmp 0x41c5b6
cmp dword [esi + 4], 0
mov edx, dword [ebp - 0xe0]
je 0x41a16e
mov byte [ecx + 0x238], 1
jmp 0x41c4b0
mov ecx, dword [esi + 4]
test ecx, ecx
sets dl
test dl, dl
je 0x41beb4
or eax, 0xffffffff
sub eax, ecx
mov ecx, eax
mov eax, dword [esi + 8]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xe0]
imul ecx, ecx, 0x18
test dl, dl
mov edx, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + eax + 4]
setne al
inc al
mov dword [ebp - 0x11c], ecx
mov byte [ebp - 0x17c], al
push dword [ebp - 0x17c]
call fcn.0040fc9b
pop ecx
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41bf1e
push dword [ebp - 0x17c]
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x11c]
call fcn.0040fcfa
pop ecx
mov ecx, eax
mov dword [ebp - 0xec], ecx
cmp ecx, 6
jne 0x4185ef
mov eax, dword [ebp - 0xdc]
push 0
push dword [esi + 0xc]
add eax, 0x230
push str.database_table_is_locked:
push eax
call fcn.0040b6b6
add esp, 0x10
jmp 0x4185ef
mov edx, dword [esi + 0xc]
mov ecx, dword [ebp - 0xe0]
call fcn.004304c2
jmp 0x419b4f
mov edx, dword [esi + 4]
lea eax, [ecx + 0x230]
mov ecx, dword [ebp - 0xe0]
push eax
push dword [esi + 0xc]
call fcn.00430284
pop ecx
pop ecx
jmp 0x419b4f
mov byte [ecx + 0x23a], 2
push dword [esi + 0xc]
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xe0]
call fcn.004303fe
pop ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xec], eax
mov byte [ecx + 0x23a], 0
jmp case.0x41851e.13
mov edx, dword [esi + 0xc]
and dword [ebp - 0x100], 0
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x11c], edx
mov eax, dword [edx]
mov dword [ebp - 0xf8], eax
call fcn.0040bd27
test eax, eax
jne 0x41be3c
lea eax, [ebp - 0x100]
push eax
mov eax, dword [ebp - 0xf8]
push edx
call dword [eax + 0x18]
mov edx, dword [ebp - 0xe0]
pop ecx
pop ecx
mov ecx, edx
mov dword [ebp - 0xec], eax
call fcn.0040bcfc
test eax, eax
jne 0x41be3c
cmp dword [ebp - 0xec], eax
jne 0x4184ca
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x11c]
mov dword [eax], ecx
or eax, 0xffffffff
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xdc]
push eax
call fcn.00418283
pop ecx
test eax, eax
je 0x41c052
mov ecx, dword [ebp - 0x100]
mov dword [eax + 0x60], ecx
mov ecx, dword [ebp - 0x100]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax + 0x64], ecx
jmp 0x4185ef
mov eax, dword [ebp - 0xf8]
push dword [ebp - 0x100]
call dword [eax + 0x1c]
jmp 0x41b838
mov edx, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
and dword [ebp - 0x11c], 0
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [edx + 0x30]
xor edx, edx
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xf8], ecx
mov eax, dword [eax + 0x60]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x124], eax
mov eax, dword [edi - 0x40]
mov dword [ebp - 0xf4], eax
test eax, eax
jle 0x41c0d7
mov esi, dword [ebp - 0xf4]
inc eax
mov ecx, edi
shl eax, 6
mov edi, dword [ebp - 0xf8]
sub ecx, eax
mov dword [edi + edx*4], ecx
call fcn.00418232
inc edx
add ecx, 0x40
cmp edx, esi
jl 0x41c0bb
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xe0]
call fcn.0040bd27
test eax, eax
jne 0x41be3c
push dword [ebp - 0xf8]
mov eax, dword [ebp - 0xdc]
push dword [ebp - 0xf4]
mov byte [eax + 0x23a], 1
push dword [esi + 0xc]
mov eax, dword [ebp - 0x104]
push dword [edi]
push dword [eax + 0x60]
mov eax, dword [ebp - 0x124]
call dword [eax + 0x20]
mov ecx, eax
add esp, 0x14
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xec], ecx
mov byte [eax + 0x23a], 0
test ecx, ecx
jne 0x41c14d
mov eax, dword [ebp - 0x104]
push dword [eax + 0x60]
mov eax, dword [ebp - 0x124]
call dword [eax + 0x28]
pop ecx
mov edx, eax
jmp 0x41c153
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xe0]
call fcn.0040bcfc
test eax, eax
jne 0x41be3c
test edx, edx
je 0x41c174
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0xf4]
lea edx, [edx + 2]
jmp 0x418854
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax + ecx*4]
mov eax, dword [edx + 0x60]
mov eax, dword [eax]
mov esi, dword [eax]
cmp dword [esi + 0x30], 0
jne 0x41c1aa
push 0
push str.Unsupported_module_operation:_xRowid
jmp 0x41a047
mov ecx, dword [ebp - 0xe0]
call fcn.0040bd27
test eax, eax
jne 0x41be3c
lea eax, [ebp - 0x1c0]
push eax
push dword [edx + 0x60]
call dword [esi + 0x30]
mov edx, dword [ebp - 0xe0]
pop ecx
pop ecx
mov ecx, edx
mov dword [ebp - 0xec], eax
call fcn.0040bcfc
test eax, eax
jne 0x41be3c
add edi, 0x40
push 4
pop eax
mov dword [ebp - 0xf0], edi
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x1c0]
mov dword [edi], eax
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0xe8], edi
mov dword [edi + 4], eax
jmp 0x4184ca
mov edx, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x11c], eax
mov eax, dword [eax + 0x60]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xf8], eax
cmp dword [eax + 0x2c], ecx
jne 0x41c24d
push ecx
push str.Unsupported_module_operation:_xColumn
lea eax, [edx + 0x230]
jmp 0x41a052
push 0x58
push ecx
lea eax, [ebp - 0x80]
push eax
call fcn.004aa670
mov ecx, dword [ebp - 0xe0]
xor eax, eax
add esp, 0xc
inc eax
mov word [ebp - 0x60], ax
call fcn.0040bd27
test eax, eax
jne 0x41be3c
push dword [esi + 8]
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x11c]
push dword [eax + 0x60]
mov eax, dword [ebp - 0xf8]
call dword [eax + 0x2c]
movzx edx, byte [ebp - 0x128]
lea ecx, [ebp - 0x78]
add esp, 0xc
mov dword [ebp - 0xec], eax
call fcn.0041508a
add edi, 0x40
lea edx, [ebp - 0x78]
xor eax, eax
mov dword [ebp - 0xf0], edi
mov ecx, edi
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
call fcn.004154db
jmp 0x41be27
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
and dword [ebp - 0xf4], 0
mov eax, dword [eax + 0x3c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x11c], edx
mov eax, dword [edx + 0x60]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xf8], eax
cmp dword [eax + 0x24], 0
jne 0x41c306
push 0
push str.Unsupported_module_operation:_xNext
jmp 0x41a047
mov ecx, dword [ebp - 0xe0]
call fcn.0040bd27
test eax, eax
jne 0x41be3c
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x23a], 1
mov eax, dword [ebp - 0xf8]
push dword [edx + 0x60]
call dword [eax + 0x24]
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xec], ecx
mov byte [eax + 0x23a], 0
test ecx, ecx
jne 0x41c363
mov eax, dword [ebp - 0x11c]
push dword [eax + 0x60]
mov eax, dword [ebp - 0xf8]
call dword [eax + 0x28]
pop ecx
mov edx, eax
jmp 0x41c369
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe0]
call fcn.0040bcfc
test eax, eax
jne 0x41be3c
test edx, edx
jmp 0x41bc24
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x104], eax
mov ecx, dword [edx]
mov dword [ebp - 0x11c], ecx
cmp dword [ecx + 0x34], 0
jne 0x41c3cd
mov eax, dword [ebp - 0xdc]
push 0
add eax, 0x230
push str.read_only_table
push eax
call fcn.0040b6b6
add esp, 0xc
mov dword [ebp - 0xec], 1
jmp 0x41c49d
mov ecx, dword [ebp - 0xdc]
xor edx, edx
shl eax, 6
mov ecx, dword [ecx + 0x30]
mov dword [ebp - 0xf8], ecx
mov ecx, edi
sub ecx, eax
add ecx, 0x40
cmp dword [ebp - 0x104], edx
jle 0x41c418
mov esi, dword [ebp - 0x104]
mov edi, dword [ebp - 0xf8]
call fcn.00418232
mov dword [edi + edx*4], ecx
inc edx
add ecx, 0x40
cmp edx, esi
jl 0x41c3fc
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xe0]
call fcn.0040bd27
test eax, eax
jne 0x41be3c
mov eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x1a8]
push ecx
push dword [ebp - 0xf8]
push dword [ebp - 0x104]
inc dword [eax + 4]
push eax
mov eax, dword [ebp - 0x11c]
call dword [eax + 0x34]
mov edx, dword [ebp - 0xf4]
add esp, 0x10
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xec], eax
call fcn.0042fce2
mov ecx, dword [ebp - 0xe0]
call fcn.0040bcfc
test eax, eax
jne 0x41be3c
cmp dword [esi + 4], eax
je 0x41c49d
cmp dword [ebp - 0xec], eax
jne 0x41c49d
mov eax, dword [ebp - 0x1a8]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ecx + 0x24], eax
mov edx, dword [ebp - 0x104]
jmp 0x418854
mov ecx, esi
mov edx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe4]
inc esi
cmp dword [ebp - 0xec], 0
mov dword [ebp - 0xe4], esi
je 0x418461
mov eax, dword [ebp - 0xdc]
push 0x65
pop esi
mov ecx, dword [ebp - 0xec]
test ecx, ecx
jne 0x419d83
jmp 0x419d8c
push 0x14
jmp 0x41be3e
cmp dword [esi + 8], 0
je 0x41c50e
mov ecx, edx
call fcn.00435534
mov ecx, dword [ebp - 0xe0]
xor eax, eax
mov esi, dword [ebp - 0xdc]
inc eax
mov byte [ecx + 0x14], al
jmp 0x41c553
mov esi, dword [ebp - 0xdc]
mov ecx, esi
mov byte [edx + 0x14], al
call fcn.00416a06
push 5
pop edx
cmp eax, edx
jne 0x41c550
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
mov dword [esi + 0x7c], eax
xor eax, eax
inc eax
mov dword [esi + 0x2c], edi
sub al, byte [ebp - 0x13d]
mov byte [ecx + 0x14], al
mov dword [esi + 0x80], edx
mov eax, edx
jmp 0x419d9e
xor eax, eax
inc eax
cmp dword [esi + 0x80], 0
push 0x65
pop ecx
cmove eax, ecx
jmp 0x419d9e
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe4]
mov dword [eax + 0x7c], esi
mov dword [eax + 0x80], edx
mov dword [eax + 0x2c], edi
jmp 0x41c549
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe4]
push 5
pop edx
mov dword [ecx + 0x7c], eax
xor eax, eax
mov dword [ecx + 0x80], edx
cmp dword [esi + 8], eax
setle al
inc eax
shl eax, 6
add eax, edi
mov dword [ecx + 0x2c], eax
jmp 0x41c549
push 0xd
jmp 0x41be3e
mov eax, str.unknown_error
push 0
push eax
push edx
call fcn.0040b6b6
mov eax, dword [ebp - 0xdc]
add esp, 0xc
jmp 0x41c4d3
mov dword [ecx + 0x2c], edi
mov eax, dword [esi + 4]
mov dword [ecx + 0x80], eax
mov eax, dword [ebp - 0xe4]
mov dword [ecx + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [ecx + 0x88], eax
cmp dword [esi + 0xc], 0
je 0x41c60b
push 0
push dword [esi + 0xc]
lea eax, [ecx + 0x230]
push eax
call fcn.0040b6b6
mov ecx, dword [ebp - 0xdc]
add esp, 0xc
call fcn.00416a06
push 5
pop ecx
cmp eax, ecx
mov eax, dword [ebp - 0xdc]
jne 0x41c62a
mov dword [eax + 0x80], ecx
mov eax, ecx
jmp 0x419d9e
cmp dword [eax + 0x80], 0
push 1
pop eax
push 0x65
pop ecx
cmovne ecx, eax
jmp 0x41c623
mov eax, dword [esi + 4]
mov edx, edi
mov ecx, dword [ecx + 0x28]
shl eax, 6
sub edx, eax
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x154], edx
cmp ecx, edx
jae 0x41c68f
mov eax, 0x100
test word [ecx + 0x18], ax
je 0x41c682
call fcn.004150ff
test eax, eax
jne 0x419d52
mov ecx, dword [ebp - 0x134]
mov eax, 0x100
mov edx, dword [ebp - 0x154]
add ecx, 0x40
mov dword [ebp - 0x134], ecx
cmp ecx, edx
jb 0x41c65e
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x60]
add eax, 2
or eax, 1
mov dword [edx + 0x60], eax
cmp ecx, edi
ja 0x41c6c8
call fcn.00415172
mov ecx, dword [ebp - 0x134]
call fcn.00418232
add ecx, 0x40
mov dword [ebp - 0x134], ecx
cmp ecx, edi
jbe 0x41c6a5
mov edx, dword [ebp - 0xdc]
inc dword [edx + 0x5c]
mov byte [edx + 0x234], 1
mov eax, dword [esi + 4]
mov dword [edx + 0x22c], eax
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [edx + 0x2c], edi
mov dword [edx + 0x7c], eax
push 0x64
jmp 0x4183de
cmp dword [edx + 0x30], 0xf03b7906
push 9
pop eax
push 0x15
pop esi
cmovne eax, esi
push 0x65
mov dword [ecx + 0x80], eax
movzx ecx, al
pop esi
mov dword [ebp - 0xec], eax
cmp ecx, esi
jg 0x41c71c
call fcn.004355bb
jmp 0x41c721
mov eax, str.unknown_error
push 0
push eax
mov eax, dword [ebp - 0xdc]
add eax, 0x230
push eax
jmp 0x41c5ba
mov edi, dword [ebp - 0xf0]
jmp 0x419d52
mov ecx, esi
jmp 0x419d58