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

Disassembly:
sub esp, 0x2c8
mov eax, dword [esp + 0x2cc]
push ebx
push ebp
xor edx, edx
mov ecx, dword [eax]
push esi
mov dword [esp + 0x44], ecx
push edi
mov ecx, dword [ecx + 4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x94], edx
mov ecx, dword [ecx + 0x14]
mov cl, byte [ecx + 0x79]
mov byte [esp + 0x34], cl
mov ecx, dword [eax + 0x50]
cmp ecx, 0xbdf20da3
je 0x42282c
pop edi
pop esi
pop ebp
mov eax, 0x15
pop ebx
add esp, 0x2c8
ret
mov ecx, dword [eax + 0x80]
mov edx, dword [eax + 0x2c]
cmp ecx, 7
mov dword [esp + 0x10], edx
je 0x426601
mov esi, dword [esp + 0x2dc]
xor ebp, ebp
mov eax, dword [esi + 0x22c]
mov dword [esi + 0x80], ebp
cmp eax, ebp
je 0x42286f
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00426960
add esp, 8
mov dword [esi + 0x22c], ebp
mov ebx, dword [esp + 0x48]
mov byte [esi + 0x234], 0
mov eax, dword [ebx + 0x98]
mov dword [ebx + 0x11c], ebp
cmp eax, ebp
jne 0x426640
mov ecx, dword [esi + 0x7c]
mov dword [esp + 0x20], ecx
call fcn.0040e880
test eax, eax
jne 0x426601
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x2dc]
mov ebx, dword [esp + 0x48]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x18]
lea ebp, [eax + edx*4]
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x42292b
mov edi, dword [esp + 0x94]
mov eax, dword [ebx + 0xb0]
cmp eax, edi
jne 0x422923
push ebx
call fcn.0040e3f0
add esp, 4
test eax, eax
jne 0x42666d
mov ecx, dword [ebx + 0xac]
push ecx
call dword [ebx + 0xa8]
add esp, 4
test eax, eax
je 0x422910
push ebx
call fcn.0040e3b0
add esp, 4
mov dword [esp + 0x14], 4
jmp case.0x422947.13
push ebx
xor edi, edi
call fcn.0040e3b0
add esp, 4
test eax, eax
jne 0x42666d
inc edi
mov dword [esp + 0x94], edi
mov al, byte [ebp]
mov ecx, eax
and ecx, 0xff
mov dword [esp + 0x18], ecx
dec ecx
cmp ecx, 0x8e
ja case.0x422947.13
jmp dword [ecx*4 + 0x4266d8]
mov eax, dword [ebx + 0x98]
test eax, eax
jne 0x42663e
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov edx, dword [esp + 0x20]
mov eax, dword [esi + 0x220]
inc edx
mov dword [esi + eax*4 + 0x90], edx
mov ecx, dword [esi + 0x220]
inc ecx
mov dword [esi + 0x220], ecx
mov ecx, dword [ebp + 8]
dec ecx
mov dword [esp + 0x20], ecx
jmp case.0x422947.13
mov ecx, dword [esi + 0x220]
dec ecx
mov eax, ecx
mov dword [esi + 0x220], ecx
mov esi, dword [esi + eax*4 + 0x90]
dec esi
mov dword [esp + 0x20], esi
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
add eax, 0x40
mov dword [esp + 0x10], eax
mov word [eax + 0x18], 4
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x10]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 4], edx
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
add eax, 0x40
mov dword [esp + 0x10], eax
mov word [eax + 0x18], 0xa2
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov dword [edx + 0x10], ecx
mov edx, dword [esp + 0x10]
or ecx, 0xffffffff
mov edi, dword [edx + 0x10]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [edx + 0x14], ecx
mov eax, dword [esp + 0x10]
mov byte [eax + 0x1b], 1
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00410640
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x10]
or byte [eax + 0x18], 4
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
add eax, 0x40
mov dword [esp + 0x10], eax
mov word [eax + 0x18], 0xa2
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov dword [edx + 0x10], ecx
mov edx, dword [esp + 0x10]
or ecx, 0xffffffff
mov edi, dword [edx + 0x10]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [edx + 0x14], ecx
mov eax, dword [esp + 0x10]
mov byte [eax + 0x1b], 1
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004106c0
mov edx, dword [esp + 0x14]
fstp qword [edx + 8]
mov eax, dword [esp + 0x14]
or byte [eax + 0x18], 8
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
and eax, 0xff
push eax
push ecx
call fcn.004102e0
add esp, 0xc
jmp case.0x422947.13
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp], 0x1a
repne scasb al, byte es:[edi]
mov al, byte [esp + 0x34]
not ecx
dec ecx
cmp al, 1
mov dword [ebp + 4], ecx
je case.0x422947.26
mov eax, dword [esp + 0x10]
push 0
add eax, 0x40
push 1
mov dword [esp + 0x18], eax
mov edx, dword [ebp + 0xc]
push 0xffffffffffffffff
push edx
push eax
call fcn.00410960
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
and eax, 0xff
push eax
push ecx
call fcn.004102e0
add esp, 0x1c
test eax, eax
jne 0x426601
mov edx, dword [esp + 0x10]
push edx
call fcn.00410310
add esp, 4
test eax, eax
jne 0x426601
mov eax, dword [esp + 0x10]
or esi, 0xffffffff
and word [eax + 0x18], 0xffbf
mov eax, dword [esp + 0x10]
or byte [eax + 0x18], 0x80
mov eax, dword [ebp + 0x10]
cmp eax, esi
jne 0x422b3d
mov eax, dword [ebp + 0xc]
push eax
call fcn.0040d9b0
add esp, 4
mov dword [ebp + 0x10], esi
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x10]
mov dword [ebp + 0xc], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov dword [ebp + 4], ecx
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
add eax, 0x40
mov dword [esp + 0x10], eax
mov word [eax + 0x18], 0xa2
mov eax, dword [esp + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 4]
mov dword [edx + 0x14], ecx
mov eax, dword [esp + 0x10]
mov cl, byte [esp + 0x34]
mov byte [eax + 0x1b], cl
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
add eax, 0x40
mov dword [esp + 0x10], eax
mov word [eax + 0x18], 1
mov edx, dword [esp + 0x10]
mov dword [edx + 0x14], 0
jmp case.0x422947.13
mov edx, dword [ebp + 0xc]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
mov byte [ebp], 0x7b
repne scasb al, byte es:[edi]
not ecx
dec ecx
shr ecx, 1
mov dword [ebp + 4], ecx
je 0x422bfa
push edx
call fcn.0040e720
mov esi, eax
add esp, 4
test esi, esi
je 0x426601
mov eax, dword [ebp + 0x10]
or edi, 0xffffffff
cmp eax, edi
jne 0x422bf2
mov eax, dword [ebp + 0xc]
push eax
call fcn.0040d9b0
add esp, 4
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x10], edi
jmp case.0x422947.123
cmp dword [ebp + 0x10], 0xffffffff
jne 0x422c09
push edx
call fcn.0040d9b0
add esp, 4
mov dword [ebp + 0x10], 0xfffffffe
mov dword [ebp + 0xc], 0x455d8c
mov eax, dword [esp + 0x10]
push 0
add eax, 0x40
push 0
mov dword [esp + 0x18], eax
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0xc]
push ecx
push edx
push eax
call fcn.00410960
add esp, 0x14
jmp case.0x422947.13
mov ebp, dword [ebp + 4]
mov edi, dword [esi + 0x44]
mov eax, dword [esp + 0x10]
dec ebp
shl ebp, 6
add ebp, edi
add eax, 0x40
push 0x80
push ebp
push eax
mov dword [esp + 0x1c], eax
call fcn.00410880
add esp, 0xc
jmp case.0x422947.13
mov eax, dword [ebp + 4]
jmp 0x4263d6
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x10]
shl edx, 6
mov eax, ecx
add ecx, 0x40
sub eax, edx
push 0x100
push eax
push ecx
mov dword [esp + 0x1c], ecx
call fcn.00410880
mov eax, dword [ebp + 8]
add esp, 0xc
test eax, eax
je case.0x422947.13
mov eax, dword [esp + 0x10]
test byte [eax + 0x19], 1
je case.0x422947.13
push eax
call fcn.00410380
add esp, 4
test eax, eax
jne 0x426601
jmp case.0x422947.13
mov eax, dword [ebp + 4]
lea edi, [esp + 0x298]
shl eax, 6
mov ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, eax
sub ebx, ecx
mov ecx, 0x10
test byte [eax + 0x19], 1
mov esi, ebx
mov dword [esp + 0x18], ebx
rep movsd dword es:[edi], dword [esi]
je 0x422d01
push eax
call fcn.00410380
add esp, 4
test eax, eax
jne 0x426601
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 4]
mov dword [esp + 0x24], 0
test ecx, ecx
jle 0x422d65
add ebx, 0x40
test byte [ebx + 0x19], 1
je 0x422d2a
push ebx
call fcn.00410380
add esp, 4
test eax, eax
jne 0x426601
mov edi, dword [esp + 0x18]
mov ecx, 0x10
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
test byte [ebx - 0x27], 2
je 0x422d43
lea edx, [ebx - 0x20]
mov dword [ebx - 0x30], edx
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov ecx, dword [ebp + 4]
inc eax
add esi, 0x40
add ebx, 0x40
cmp eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], esi
jl 0x422d13
mov eax, dword [esp + 0x10]
mov ecx, 0x10
lea esi, [esp + 0x298]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x10]
test byte [eax + 0x19], 2
je case.0x422947.13
lea ecx, [eax + 0x20]
mov dword [eax + 0x10], ecx
jmp case.0x422947.13
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x10]
shl edx, 6
push eax
sub eax, edx
push eax
call fcn.00410900
mov eax, dword [esp + 0x18]
add esp, 8
sub eax, 0x40
mov dword [esp + 0x10], eax
jmp case.0x422947.13
mov ebx, dword [ebp + 4]
mov esi, dword [esp + 0x10]
add ebx, 2
xor eax, eax
mov edi, ebx
mov dword [esp + 0x24], eax
shl edi, 6
sub esi, edi
mov dword [esp + 0x18], eax
add esi, 0x40
cmp ebx, eax
jle 0x422e4b
mov ax, word [esi + 0x18]
test al, 1
jne 0x422e20
test al, 0x12
jne 0x422dfd
mov eax, dword [esp + 0x34]
and eax, 0xff
push eax
push esi
call fcn.004104c0
add esp, 8
test eax, eax
jne 0x426601
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
add edx, ecx
inc eax
add esi, 0x40
cmp eax, ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x18], eax
jl 0x422dd6
mov eax, edx
test eax, eax
jge 0x422e4b
mov eax, dword [ebp + 8]
test eax, eax
jne 0x422e35
lea edx, [esp + 0x10]
push ebx
push edx
call fcn.00426960
add esp, 8
mov eax, dword [esp + 0x10]
add eax, 0x40
mov dword [esp + 0x10], eax
mov word [eax + 0x18], 1
jmp case.0x422947.13
mov eax, dword [esp + 0x24]
push 1
add eax, 2
push eax
call fcn.0040d920
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
je 0x426601
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], 0
sub eax, edi
add eax, 0x40
test ebx, ebx
jle 0x422ec0
add eax, 0x10
mov dword [esp + 0x18], ebx
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x24]
mov esi, dword [eax]
mov dword [esp + 0x1c], ecx
add edi, edx
mov edx, ecx
add eax, 0x40
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x24]
mov ecx, edx
add esi, ecx
mov ecx, dword [esp + 0x18]
dec ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], ecx
jne 0x422e85
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x44]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
mov eax, dword [ebp + 8]
test eax, eax
jne 0x422ee6
lea edx, [esp + 0x10]
push ebx
push edx
call fcn.00426960
add esp, 8
mov eax, dword [esp + 0x10]
add eax, 0x40
mov dword [esp + 0x10], eax
mov dword [eax + 0x14], esi
mov eax, dword [esp + 0x10]
mov word [eax + 0x18], 0x62
mov ecx, dword [esp + 0x10]
mov al, byte [esp + 0x34]
mov dword [ecx + 0x1c], 0
mov edx, dword [esp + 0x10]
mov byte [edx + 0x1b], al
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x10], edi
jmp case.0x422947.13
mov esi, dword [esp + 0x10]
mov cx, word [esi - 0x28]
mov dx, word [esi + 0x18]
lea ebx, [esi - 0x40]
mov eax, ecx
and eax, 0xffff
and edx, 0xffff
or eax, edx
mov dword [esp + 0x40], eax
test al, 1
mov al, byte [esi + 0x18]
je 0x422f7f
test al, 0x40
je 0x422f5a
push esi
call fcn.004105c0
mov esi, dword [esp + 0x14]
add esp, 4
sub esi, 0x40
mov dword [esp + 0x10], esi
test byte [esi + 0x18], 0x40
je 0x422f74
push esi
call fcn.004105c0
mov esi, dword [esp + 0x14]
add esp, 4
mov word [esi + 0x18], 1
jmp case.0x422947.13
and cl, al
and cl, 4
cmp cl, 4
jne 0x423032
mov edx, dword [esp + 0x18]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edi, dword [ebx]
mov ebp, dword [ebx + 4]
add edx, 0xffffffb1
cmp edx, 3
ja case.default.0x422fa3
jmp dword [edx*4 + 0x426914]
add edi, eax
adc ebp, ecx
jmp 0x422fed
sub edi, eax
sbb ebp, ecx
jmp 0x422fed
push ecx
push eax
push ebp
push edi
call fcn.004060d0
jmp 0x422fe9
mov edx, eax
or edx, ecx
je 0x4230ba
push ecx
push eax
push ebp
push edi
call fcn.0043fad0
jmp 0x422fe9
mov edx, eax
or edx, ecx
je 0x4230ba
push ecx
push eax
push ebp
push edi
call fcn.0043fa10
mov edi, eax
mov ebp, edx
test byte [esi + 0x18], 0x40
je 0x423000
push esi
call fcn.004105c0
mov esi, dword [esp + 0x14]
add esp, 4
sub esi, 0x40
mov dword [esp + 0x10], esi
test byte [esi + 0x18], 0x40
je 0x42301a
push esi
call fcn.004105c0
mov esi, dword [esp + 0x14]
add esp, 4
mov dword [esi], edi
mov eax, dword [esp + 0x10]
mov dword [eax + 4], ebp
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x18], 4
jmp case.0x422947.13
push esi
call fcn.004106c0
fstp qword [esp + 0x3c]
push ebx
call fcn.004106c0
xor eax, eax
add esp, 8
mov al, byte [ebp]
add eax, 0xffffffb1
cmp eax, 3
ja case.default.0x423052
jmp dword [eax*4 + 0x426924]
fadd qword [esp + 0x38]
jmp 0x423103
fsub qword [esp + 0x38]
jmp 0x423103
fmul qword [esp + 0x38]
jmp 0x423103
fld qword [esp + 0x38]
fcomp qword [0x448210]
fnstsw ax
test ah, 0x40
jne 0x4230b4
fdiv qword [esp + 0x38]
jmp 0x423103
fld qword [esp + 0x38]
call fcn.00404ecc
mov esi, eax
mov dword [esp + 0x1c], esi
call fcn.00404ecc
fild dword [esp + 0x1c]
mov ecx, eax
fcomp qword [0x448210]
fnstsw ax
test ah, 0x40
je 0x4230f6
jmp 0x4230b6
fstp st(0)
mov esi, dword [esp + 0x10]
test byte [esi + 0x18], 0x40
je 0x4230cd
push esi
call fcn.004105c0
mov esi, dword [esp + 0x14]
add esp, 4
sub esi, 0x40
mov dword [esp + 0x10], esi
test byte [esi + 0x18], 0x40
je 0x422f74
push esi
call fcn.004105c0
mov esi, dword [esp + 0x14]
add esp, 4
mov word [esi + 0x18], 1
jmp case.0x422947.13
mov eax, ecx
cdq
idiv esi
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
fstp qword [esp + 0x38]
test byte [eax + 0x18], 0x40
je 0x42311e
push eax
call fcn.004105c0
mov eax, dword [esp + 0x14]
add esp, 4
sub eax, 0x40
mov dword [esp + 0x10], eax
test byte [eax + 0x18], 0x40
je 0x423138
push eax
call fcn.004105c0
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov edx, dword [esp + 0x10]
mov al, byte [esp + 0x40]
test al, 8
mov word [edx + 0x18], 8
jne case.0x422947.13
mov eax, dword [esp + 0x10]
push eax
call fcn.00410740
add esp, 4
jmp case.0x422947.13
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x10]
mov ecx, dword [esi + 0x30]
mov edx, eax
shl edx, 6
sub edi, edx
xor edx, edx
add edi, 0x40
cmp eax, edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x1c], ecx
jle 0x4231c2
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
push edi
mov dword [eax], edi
call fcn.00422690
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
add esp, 4
add edx, 4
add edi, 0x40
dec eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], eax
jne 0x423198
xor edx, edx
mov eax, dword [ebp + 0x10]
cmp eax, 0xfffffffb
mov eax, dword [ebp + 0xc]
jne 0x4231dd
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], edx
jmp 0x4231ed
mov dword [esp + 0x134], eax
mov eax, dword [eax]
mov dword [esp + 0x130], eax
mov word [esp + 0x150], 1
mov dword [esp + 0x148], edx
mov dword [esp + 0x154], edx
mov byte [esp + 0x17c], 0
mov cl, byte [eax + 3]
test cl, cl
je 0x42321e
mov ecx, dword [ebp - 8]
mov dword [esp + 0x180], ecx
push ebx
call fcn.0040e3f0
add esp, 4
test eax, eax
jne 0x42666d
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x130]
push edx
lea eax, [esp + 0x134]
push edi
push eax
call dword [ecx + 0x10]
push ebx
call fcn.0040e3b0
add esp, 0x10
test eax, eax
jne 0x42666d
call fcn.0040e880
test eax, eax
jne 0x426601
lea edx, [esp + 0x10]
push edi
push edx
call fcn.00426960
mov eax, dword [esp + 0x13c]
add esp, 8
test eax, eax
je 0x4232a0
mov ecx, dword [ebp + 4]
push ecx
push eax
call fcn.0041e6b0
mov edx, dword [esp + 0x13c]
add esp, 8
mov dword [ebp + 0xc], edx
mov dword [ebp + 0x10], 0xfffffff9
mov al, byte [esp + 0x17c]
test al, al
je 0x4232dc
lea eax, [esp + 0x138]
push 0
push eax
call fcn.0040e940
mov ecx, dword [esp + 0x2e4]
add esp, 4
add ecx, 0x230
push eax
push ecx
call fcn.0040dad0
add esp, 0xc
mov dword [esp + 0x14], 1
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x138]
and edx, 0xff
push edx
push eax
call fcn.004102e0
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
add eax, 0x40
push ecx
mov dword [esp + 0x1c], eax
mov word [eax + 0x18], 0
mov edx, dword [esp + 0x1c]
push edx
call fcn.00410900
add esp, 0x10
jmp case.0x422947.13
mov ecx, dword [esp + 0x10]
mov dl, byte [ecx - 0x28]
mov bl, byte [ecx + 0x18]
lea eax, [ecx - 0x40]
or dl, bl
test dl, 1
je 0x42333f
lea eax, [esp + 0x10]
push 2
push eax
jmp 0x422e2d
push eax
call fcn.00410640
mov ecx, dword [esp + 0x14]
mov esi, eax
push ecx
mov edi, edx
call fcn.00410640
xor ecx, ecx
add esp, 8
mov cl, byte [ebp]
add ecx, 0xffffffb5
cmp ecx, 3
ja case.default.0x423363
jmp dword [ecx*4 + 0x426934]
and esi, eax
and edi, edx
jmp case.default.0x423363
or esi, eax
or edi, edx
jmp case.default.0x423363
mov ecx, eax
mov eax, esi
mov edx, edi
call fcn.0043f9c0
jmp 0x42338e
mov ecx, eax
mov eax, esi
mov edx, edi
call fcn.0043f9e0
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 0x40
je 0x4233a9
push eax
call fcn.004105c0
mov eax, dword [esp + 0x14]
add esp, 4
sub eax, 0x40
mov dword [esp + 0x10], eax
test byte [eax + 0x18], 0x40
je 0x4233c3
push eax
call fcn.004105c0
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [eax], esi
mov edx, dword [esp + 0x10]
mov dword [edx + 4], edi
mov eax, dword [esp + 0x10]
mov word [eax + 0x18], 4
jmp case.0x422947.13
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00410770
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
cdq
mov esi, dword [ecx]
add esp, 4
add esi, eax
mov dword [ecx], esi
mov eax, dword [esp + 0x10]
adc dword [eax + 4], edx
jmp case.0x422947.13
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
push edx
push 0x63
push eax
call fcn.00422780
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov ax, word [esi + 0x18]
test al, 0xc
jne 0x423447
test al, 0x40
je 0x423433
push esi
call fcn.004105c0
mov esi, dword [esp + 0x14]
add esp, 4
sub esi, 0x40
mov dword [esp + 0x10], esi
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
test al, 4
je 0x423465
mov edx, dword [ebp + 4]
xor eax, eax
mov ecx, dword [esi]
test edx, edx
setne al
cdq
mov edi, eax
mov eax, dword [esi + 4]
mov ebx, edx
add edi, ecx
adc ebx, eax
jmp 0x4234d0
push esi
call fcn.004107a0
mov esi, dword [esp + 0x14]
add esp, 4
fld qword [esi + 8]
call fcn.00404ecc
cdq
mov edi, eax
mov ebx, edx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], ebx
fild qword [esp + 0xa4]
fcomp qword [esi + 8]
fnstsw ax
test ah, 1
je 0x4234b2
add edi, 1
adc ebx, 0
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], ebx
mov eax, dword [ebp + 4]
test eax, eax
je 0x4234d0
fild qword [esp + 0xa4]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x40
je 0x4234d0
add edi, 1
adc ebx, 0
test byte [esi + 0x18], 0x40
je 0x4234e3
push esi
call fcn.004105c0
mov esi, dword [esp + 0x14]
add esp, 4
mov dword [esi], edi
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], ebx
mov edx, dword [esp + 0x10]
mov word [edx + 0x18], 4
jmp case.0x422947.13
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
push eax
push 0x63
push ecx
call fcn.00422780
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov ax, word [ecx + 0x18]
test al, 4
jne 0x423549
mov eax, dword [ebp + 8]
test eax, eax
je 0x42651c
mov eax, dword [ebp + 4]
test eax, eax
je 0x42353c
lea edx, [esp + 0x10]
push 1
push edx
call fcn.00426960
add esp, 8
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
test al, 0x40
je 0x42576c
push ecx
call fcn.004105c0
mov ecx, dword [esp + 0x14]
add esp, 4
mov word [ecx + 0x18], 4
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 4
je case.0x422947.13
push eax
call fcn.004107a0
add esp, 4
jmp case.0x422947.13
mov ecx, dword [esp + 0x10]
mov ax, word [ecx + 0x18]
test al, 1
jne case.0x422947.13
mov dl, al
shr dl, 3
and edx, 2
or edx, eax
mov eax, dword [esp + 0x34]
mov word [ecx + 0x18], dx
mov ecx, dword [esp + 0x10]
push eax
push 0x61
push ecx
call fcn.00422780
mov eax, dword [esp + 0x1c]
add esp, 0xc
and word [eax + 0x18], 0xffe3
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
mov cx, word [eax + 0x18]
test cl, 1
jne case.0x422947.13
test cl, 0x10
jne 0x4235f8
mov edx, dword [esp + 0x34]
push edx
push 0x61
push eax
call fcn.00422780
mov eax, dword [esp + 0x1c]
add esp, 0xc
or byte [eax + 0x18], 0x10
mov eax, dword [esp + 0x10]
and word [eax + 0x18], 0xfff1
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 1
jne case.0x422947.13
push eax
call fcn.004107d0
add esp, 4
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 1
jne case.0x422947.13
push eax
call fcn.00410770
add esp, 4
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 1
jne case.0x422947.13
push eax
call fcn.004107a0
add esp, 4
jmp case.0x422947.13
mov ecx, dword [esp + 0x10]
mov ax, word [ecx + 0x18]
mov dl, byte [ecx - 0x28]
lea esi, [ecx - 0x40]
or dl, al
test dl, 1
je 0x42369e
mov edx, dword [ebp + 4]
test dh, 2
je 0x4236ff
not al
and eax, 1
cdq
push edx
push eax
push ecx
call fcn.00410820
mov al, byte [esi + 0x18]
not al
and eax, 1
cdq
push edx
push eax
push esi
call fcn.00410820
mov ecx, dword [esp + 0x28]
add esp, 0x18
mov al, byte [ebp + 4]
test al, al
mov byte [esp + 0xd4], al
je 0x4236d2
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0xd4]
push ebx
push edi
push esi
call fcn.00422780
mov ecx, dword [esp + 0x1c]
push ebx
push edi
push ecx
call fcn.00422780
mov ecx, dword [esp + 0x28]
add esp, 0x18
mov edx, dword [ebp + 0xc]
push edx
push ecx
push esi
call fcn.00410a60
xor ecx, ecx
add esp, 0xc
mov cl, byte [ebp]
add ecx, 0xffffffbc
cmp ecx, 4
ja case.default.0x4236ed
jmp dword [ecx*4 + 0x426944]
xor ecx, ecx
test eax, eax
sete cl
mov esi, ecx
jmp 0x423760
lea eax, [esp + 0x10]
push 2
push eax
call fcn.00426960
mov eax, dword [ebp + 8]
add esp, 8
test eax, eax
je 0x422e35
mov ecx, dword [ebp + 4]
test ch, 1
je case.0x422947.13
dec eax
mov dword [esp + 0x20], eax
jmp case.0x422947.13
xor edx, edx
test eax, eax
setne dl
jmp 0x42375e
xor ecx, ecx
test eax, eax
setl cl
mov esi, ecx
jmp 0x423760
xor edx, edx
test eax, eax
setle dl
jmp 0x42375e
xor ecx, ecx
test eax, eax
setg cl
mov esi, ecx
jmp 0x423760
xor edx, edx
test eax, eax
setge dl
mov esi, edx
lea eax, [esp + 0x10]
push 2
push eax
call fcn.00426960
mov ebp, dword [ebp + 8]
add esp, 8
test ebp, ebp
je 0x423788
test esi, esi
je case.0x422947.13
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
add eax, 0x40
mov dword [esp + 0x10], eax
mov word [eax + 0x18], 4
mov ecx, dword [esp + 0x10]
mov eax, esi
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 4], edx
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
lea edi, [eax - 0x40]
test cl, 1
je 0x4237c4
mov esi, 2
jmp 0x4237e3
push eax
call fcn.00410770
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [eax]
mov edx, dword [eax + 4]
or ecx, edx
jne 0x4237e1
mov esi, 1
jmp 0x4237e3
xor esi, esi
test byte [edi + 0x18], 1
je 0x4237f0
mov eax, 2
jmp 0x42380b
push edi
call fcn.00410770
mov edx, dword [edi]
mov eax, dword [edi + 4]
add esp, 4
or edx, eax
jne 0x423809
mov eax, 1
jmp 0x42380b
xor eax, eax
cmp byte [ebp], 0x3e
jne 0x423821
lea eax, [eax + esi*2]
xor ecx, ecx
mov cl, byte [esi + eax + 0x4494c8]
mov esi, ecx
jmp 0x42382f
lea edx, [eax + esi*2]
xor eax, eax
mov al, byte [esi + edx + 0x4494d4]
mov esi, eax
lea ecx, [esp + 0x10]
push 2
push ecx
call fcn.00426960
mov ecx, dword [esp + 0x18]
add esp, 8
add ecx, 0x40
cmp esi, 2
mov dword [esp + 0x10], ecx
jne 0x423859
mov word [ecx + 0x18], 1
jmp case.0x422947.13
xor eax, eax
test esi, esi
sete al
jmp 0x42575e
mov ecx, dword [esp + 0x10]
mov ax, word [ecx + 0x18]
test al, 8
jne 0x4238d3
test al, 4
je 0x4238be
test al, 0x40
je 0x423886
push ecx
call fcn.004105c0
mov ecx, dword [esp + 0x14]
add esp, 4
cmp byte [ebp], 0x55
je 0x42389a
mov eax, dword [ecx + 4]
test eax, eax
jg 0x4238b3
jl 0x42389a
cmp dword [ecx], 0
jae 0x4238b3
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
neg edx
adc eax, 0
mov dword [ecx], edx
mov ecx, dword [esp + 0x10]
neg eax
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x18], 4
jmp case.0x422947.13
test al, 1
jne case.0x422947.13
push ecx
call fcn.004107d0
mov ecx, dword [esp + 0x14]
add esp, 4
test byte [ecx + 0x18], 0x40
je 0x4238e6
push ecx
call fcn.004105c0
mov ecx, dword [esp + 0x14]
add esp, 4
cmp byte [ebp], 0x55
je 0x4238fc
fld qword [ecx + 8]
fcomp qword [0x448210]
fnstsw ax
test ah, 1
je 0x423908
fld qword [ecx + 8]
fchs
fstp qword [ecx + 8]
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x18], 8
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 1
jne case.0x422947.13
push eax
call fcn.00410770
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
or edx, eax
jne 0x423941
mov eax, 1
jmp 0x42575e
xor eax, eax
jmp 0x42575e
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 1
jne case.0x422947.13
push eax
call fcn.00410770
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [eax]
mov ecx, dword [eax + 4]
not edx
not ecx
mov dword [eax], edx
jmp 0x424a45
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 1
je 0x423982
mov esi, dword [ebp + 4]
jmp 0x4239b0
push eax
call fcn.004106c0
fcomp qword [0x448210]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x42399f
mov esi, 1
jmp 0x4239a1
xor esi, esi
cmp byte [ebp], 0x59
jne 0x4239b0
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 0x40
je 0x4239c3
push eax
call fcn.004105c0
add esp, 4
mov ecx, dword [esp + 0x10]
sub ecx, 0x40
test esi, esi
mov dword [esp + 0x10], ecx
je case.0x422947.13
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov esi, dword [ebp + 4]
mov eax, esi
test eax, eax
jge 0x4239ee
neg eax
mov ecx, dword [esp + 0x10]
mov edx, eax
shl edx, 6
sub ecx, edx
xor edx, edx
add ecx, 0x40
test eax, eax
jle 0x423a1c
add ecx, 0x18
test byte [ecx], 1
jne 0x423a14
inc edx
add ecx, 0x40
cmp edx, eax
jl 0x423a05
jmp 0x423a1c
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
test esi, esi
jle case.0x422947.13
push eax
lea eax, [esp + 0x14]
push eax
jmp 0x4263dc
mov edx, dword [ebp + 4]
test edx, edx
mov dword [esp + 0x1c], edx
jge 0x423a3c
neg edx
xor edi, edi
test edx, edx
jle 0x423a66
mov ebx, dword [esp + 0x10]
mov esi, edx
xor ecx, ecx
shl esi, 6
mov eax, ecx
sub eax, esi
test byte [eax + ebx + 0x58], 1
jne 0x423a62
inc edi
add ecx, 0x40
cmp edi, edx
jl 0x423a4d
jmp 0x423a66
cmp edi, edx
jl 0x423a6e
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x1c]
test eax, eax
jle case.0x422947.13
push edx
jmp 0x4263d7
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x50], edx
jmp case.0x422947.13
mov ecx, dword [esp + 0x10]
mov eax, dword [ebp + 4]
mov edi, dword [ebp + 8]
xor edx, edx
add ecx, 0x40
mov word [esp + 0x1f8], dx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x58], edi
mov word [ecx + 0x18], 1
mov ecx, dword [esi + 0x3c]
mov ebx, dword [ecx + eax*4]
cmp dword [ebx], edx
je 0x423b78
push ebx
call fcn.0041e7e0
mov edi, eax
xor ecx, ecx
add esp, 4
cmp edi, ecx
mov dword [esp + 0x14], edi
jne 0x426672
mov dl, byte [ebx + 0x1c]
mov eax, dword [ebx]
test dl, dl
mov dword [esp + 0x28], ecx
mov dword [esp + 0x44], eax
je 0x423af7
mov dword [esp + 0x54], ecx
jmp 0x423b44
mov edx, dword [ebx + 0x68]
mov ecx, dword [esi + 0x60]
cmp edx, ecx
jne 0x423b11
mov eax, dword [ebx + 0x6c]
mov dword [esp + 0x54], eax
mov ecx, dword [ebx + 0x78]
mov dword [esp + 0x28], ecx
jmp 0x423b44
mov cl, byte [ebx + 0x21]
test cl, cl
je 0x423b36
lea edx, [esp + 0x120]
push edx
push eax
call fcn.004127f0
mov eax, dword [esp + 0x128]
add esp, 8
mov dword [esp + 0x54], eax
jmp 0x423b44
lea ecx, [esp + 0x54]
push ecx
push eax
call fcn.00412a00
add esp, 8
mov edx, dword [ebx + 0x50]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x18], edx
xor edx, edx
cmp dword [esp + 0x54], edx
je case.0x422947.13
cmp ebx, edx
je 0x423ba6
mov ecx, dword [ebx + 0x68]
mov eax, dword [esi + 0x60]
cmp ecx, eax
jne 0x423ba6
mov edx, dword [ebx + 0x70]
mov esi, dword [ebx + 0x74]
mov dword [esp + 0x24], edx
jmp 0x423d7f
mov al, byte [ebx + 0x1e]
test al, al
je 0x423b9d
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x44], edx
mov dword [esp + 0x54], eax
mov ecx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x50]
mov dword [esp + 0x28], ecx
mov dword [ebx + 0x68], edx
mov dword [esp + 0x18], eax
jmp 0x423b51
mov dword [esp + 0x54], edx
jmp case.0x422947.13
mov eax, dword [ebx + 0x70]
cmp eax, edx
mov dword [esp + 0x24], eax
jne 0x423bdf
mov eax, dword [esp + 0x18]
push 1
lea ecx, [eax*8]
push ecx
call fcn.0040d920
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
mov dword [ebx + 0x70], eax
je 0x426601
mov esi, dword [esp + 0x2dc]
xor edx, edx
mov ecx, dword [esp + 0x18]
lea eax, [eax + ecx*4]
mov dword [esp + 0x6c], eax
mov dword [ebx + 0x74], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 0x6c], eax
mov ecx, dword [esi + 0x60]
mov esi, dword [esp + 0x28]
mov dword [ebx + 0x68], ecx
cmp esi, edx
jne 0x423c4d
mov al, byte [ebx + 0x21]
test al, al
je 0x423c1a
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x7c]
push edx
push eax
call fcn.00412c60
jmp 0x423c29
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x7c]
push ecx
push edx
call fcn.00412ce0
mov ecx, dword [esp + 0x5c]
mov esi, eax
mov eax, dword [esp + 0x84]
add esp, 8
cmp eax, ecx
jb 0x423c46
mov dword [esp + 0x28], esi
mov dword [ebx + 0x78], esi
jmp 0x423c4d
mov dword [ebx + 0x78], 0
xor eax, eax
mov al, byte [esi]
cmp eax, 0x7f
mov dword [esp + 0x5c], eax
ja 0x423c61
mov edi, 1
jmp 0x423c71
lea ecx, [esp + 0x5c]
push ecx
push esi
call fcn.0040e680
add esp, 8
mov edi, eax
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x423cb6
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x7c]
cmp ecx, eax
jae 0x423cb6
xor ecx, ecx
lea edx, [esp + 0x1e0]
mov cl, byte [ebx + 0x21]
push edx
mov edx, dword [esp + 0x48]
push ecx
push eax
push 0
push edx
call fcn.00410c20
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
jne case.0x422947.13
mov esi, dword [esp + 0x1f0]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
add eax, esi
add edi, esi
test ecx, ecx
mov dword [esp + 0x14], eax
jbe 0x423d37
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x6c]
sub eax, esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp edi, dword [esp + 0x14]
jae 0x423d22
mov ecx, dword [esp + 0x5c]
mov dword [eax + esi], ecx
xor eax, eax
mov al, byte [edi]
cmp eax, 0x7f
mov dword [esi], eax
ja 0x423cfb
mov eax, 1
jmp 0x423d05
push esi
push edi
call fcn.0040e680
add esp, 8
mov edx, dword [esi]
add edi, eax
push edx
call fcn.0041e960
mov ecx, dword [esp + 0x60]
add esp, 4
add ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x5c], ecx
jmp 0x423d29
mov dword [eax + esi], 0
mov ecx, dword [esp + 0x18]
add esi, 4
dec ecx
mov dword [esp + 0x18], ecx
jne 0x423cdc
test byte [esp + 0x1f8], 0x40
je 0x423d51
lea eax, [esp + 0x1e0]
push eax
call fcn.004105c0
add esp, 4
mov eax, dword [esp + 0x14]
mov word [esp + 0x1f8], 1
cmp edi, eax
ja 0x423e4f
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x54]
cmp ecx, eax
ja 0x423e4f
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x58]
mov eax, dword [esi + edi*4]
test eax, eax
je 0x423df5
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x423d92
add eax, ecx
jmp 0x423dd2
mov edx, dword [esp + 0x24]
mov eax, dword [edx + edi*4]
push eax
call fcn.0041e960
xor edx, edx
lea ecx, [esp + 0x1e4]
mov dl, byte [ebx + 0x21]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
push eax
mov eax, dword [esi + edi*4]
push eax
push ecx
call fcn.00410c20
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne case.0x422947.13
mov eax, dword [esp + 0x1f0]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [ecx + edi*4]
push edx
push eax
call fcn.0041ea20
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + 0x40]
add esp, 0xc
mov byte [eax + 0x1b], cl
jmp 0x423e1d
cmp dword [ebp + 0x10], 0xfffffff8
jne 0x423e13
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x10]
push 0x80
push edx
push eax
call fcn.00410880
add esp, 0xc
jmp 0x423e1d
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x18], 1
test byte [esp + 0x1f8], 0x40
je 0x423e39
mov eax, dword [esp + 0x10]
and word [eax + 0x18], 0xfeff
mov eax, dword [esp + 0x10]
or byte [eax + 0x18], 0x60
mov edx, dword [esp + 0x10]
push edx
call fcn.00410380
add esp, 4
mov dword [esp + 0x14], eax
jmp case.0x422947.13
mov dword [esp + 0x14], 0xb
jmp case.0x422947.13
mov ecx, dword [ebp + 4]
xor edx, edx
xor ebx, ebx
cmp ecx, edx
setl bl
mov esi, ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x24], edx
neg esi
sbb esi, esi
mov dword [esp + 0x28], edx
and esi, 0xfffffffe
mov dword [esp + 0x40], edx
inc esi
mov edx, dword [esp + 0x2dc]
imul esi, ecx
mov ecx, dword [ebp + 8]
mov ebx, esi
mov dword [esp + 0x1c], ecx
xor ecx, ecx
cmp al, 0x37
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x10]
sete cl
shl ebx, 6
mov edi, eax
mov dword [esp + 0x6c], ecx
sub edi, ebx
xor ecx, ecx
mov cl, byte [edx + 0x239]
add edi, 0x40
cmp edi, eax
mov dword [esp + 0x18], ecx
mov ebp, edi
ja 0x423f41
mov eax, dword [esp + 0x58]
test eax, eax
je 0x423ef0
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x58]
mov ecx, ebp
push eax
sub ecx, edi
sar ecx, 6
mov al, byte [ecx + edx]
push eax
push ebp
call fcn.00422780
add esp, 0xc
test byte [ebp + 0x18], 1
je 0x423efe
mov dword [esp + 0x40], 1
mov ecx, dword [esp + 0x18]
push ecx
push ebp
call fcn.0041e870
push eax
mov dword [esp + 0x58], eax
call fcn.0041e960
mov edx, dword [esp + 0x30]
push 0
add edx, eax
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x5c]
push edx
call fcn.0040e6f0
mov ecx, dword [esp + 0x3c]
add ebp, 0x40
add ecx, eax
mov eax, dword [esp + 0x24]
add esp, 0x14
cmp ebp, eax
mov dword [esp + 0x28], ecx
jbe 0x423ecb
mov ecx, dword [esp + 0x6c]
test ecx, ecx
je 0x423f84
sub eax, ebx
mov ebx, eax
push ebx
mov dword [esp + 0x48], ebx
call fcn.00410770
push 0
push ebx
call fcn.0041e870
mov ebx, eax
push ebx
call fcn.0041e960
mov ecx, dword [esp + 0x34]
push 0
add ecx, eax
push ebx
mov dword [esp + 0x3c], ecx
call fcn.0040e6f0
mov ebx, dword [esp + 0x40]
add esp, 0x18
add ebx, eax
jmp 0x423f88
mov ebx, dword [esp + 0x28]
mov eax, ebx
cdq
push edx
push eax
call fcn.0040e6f0
mov ebp, eax
add ebx, ebp
mov eax, ebx
mov dword [esp + 0x30], ebx
cdq
push edx
push eax
call fcn.0040e6f0
add esp, 0x10
cmp ebp, eax
jge 0x423fb0
inc ebx
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x24]
add eax, ebx
cmp eax, 0x20
mov dword [esp + 0x4c], eax
jbe 0x423fdc
push 1
push eax
call fcn.0040d920
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x426601
mov ebx, dword [esp + 0x28]
jmp 0x423fe7
lea ecx, [esp + 0x220]
mov dword [esp + 0x24], ecx
mov ebp, dword [esp + 0x24]
mov eax, ebx
cdq
push edx
push eax
push ebp
call fcn.0040e460
mov ebx, eax
mov eax, dword [esp + 0x1c]
add esp, 0xc
add ebx, ebp
cmp edi, eax
mov ebp, edi
ja 0x42402b
mov edx, dword [esp + 0x18]
push edx
push ebp
call fcn.0041e870
push 0
push eax
push ebx
call fcn.0040e460
add ebx, eax
mov eax, dword [esp + 0x24]
add ebp, 0x40
add esp, 0x14
cmp ebp, eax
jbe 0x424007
mov ebp, dword [esp + 0x6c]
test ebp, ebp
je 0x42404d
mov eax, dword [esp + 0x44]
push 0
push eax
call fcn.0041e870
push 0
push eax
push ebx
call fcn.0040e460
add esp, 0x14
add ebx, eax
cmp edi, dword [esp + 0x10]
ja 0x42406f
mov ecx, dword [esp + 0x18]
push ecx
push edi
push ebx
call fcn.0041e980
add ebx, eax
mov eax, dword [esp + 0x1c]
add edi, 0x40
add esp, 0xc
cmp edi, eax
jbe 0x424053
test ebp, ebp
je 0x424083
mov edx, dword [esp + 0x44]
push 0
push edx
push ebx
call fcn.0041e980
add esp, 0xc
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x42409b
add ebp, esi
lea eax, [esp + 0x10]
push ebp
push eax
call fcn.00426960
add esp, 8
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
add eax, 0x40
cmp ecx, 0x20
mov dword [esp + 0x10], eax
mov dword [eax + 0x14], ecx
ja 0x4240e4
mov eax, dword [esp + 0x10]
lea esi, [esp + 0x220]
lea edx, [eax + 0x20]
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x10]
mov edx, ecx
lea edi, [eax + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x10]
mov word [eax + 0x18], 0x210
jmp 0x424104
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov dword [ecx + 0x10], edx
mov eax, dword [esp + 0x10]
mov word [eax + 0x18], 0x50
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x1c], 0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
test eax, eax
mov byte [edx + 0x1b], 1
je case.0x422947.13
mov eax, dword [esp + 0x40]
test eax, eax
je case.0x422947.13
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x20], eax
jmp case.0x422947.13
mov ebp, dword [ebp + 4]
test ebp, ebp
jl case.0x422947.13
cmp ebp, dword [ebx]
jge case.0x422947.13
mov edx, dword [ebx + 4]
lea ecx, [ebp + ebp*2]
mov esi, dword [edx + ecx*8 + 4]
test esi, esi
je case.0x422947.13
mov al, byte [ebx + 0x14]
test al, al
jne case.0x422947.13
push esi
call fcn.00417680
add esp, 4
test eax, eax
jne case.0x422947.13
push esi
call fcn.004124a0
add esp, 4
mov dword [esp + 0x14], eax
jmp case.0x422947.13
mov edx, dword [ebx + 0x54]
mov al, byte [ebp + 4]
mov cl, byte [ebp + 8]
mov edi, 1
cmp edx, edi
mov byte [esp + 0x63], al
jle 0x4241da
test al, al
je 0x4241da
mov dl, byte [ebx + 0x14]
test dl, dl
jne 0x4241da
test cl, cl
mov eax, str.rollback
jne 0x4241b5
mov eax, str.commit
push 0
push str._transaction___SQL_statements_in_progress
push eax
add esi, 0x230
push str.cannot
push esi
call fcn.0040dad0
add esp, 0x14
mov dword [esp + 0x14], edi
jmp case.0x422947.13
cmp al, byte [ebx + 0x14]
jne 0x426526
test al, al
jne 0x4241ee
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4241fc
test cl, cl
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x4241fc
mov eax, str.cannot_commit___no_transaction_is_active
push 0
add esi, 0x230
push eax
push esi
call fcn.0040dad0
add esp, 0xc
mov dword [esp + 0x14], edi
jmp case.0x422947.13
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 4]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8 + 4]
test eax, eax
je case.0x422947.13
mov edx, dword [ebp + 8]
push edx
push eax
call fcn.00411da0
mov edi, eax
add esp, 8
cmp edi, 5
mov dword [esp + 0x14], edi
je 0x42658e
test edi, edi
je case.0x422947.13
cmp edi, 8
jne 0x426672
jmp case.0x422947.13
mov ecx, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea eax, [esp + 0xb8]
inc ecx
push eax
mov eax, dword [ebx + 4]
lea edx, [ebp + ebp*2]
push ecx
mov ecx, dword [eax + edx*8 + 4]
push ecx
call fcn.00416870
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add ecx, 0x40
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x10], ecx
jmp 0x42575e
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x10]
push ecx
lea edx, [eax + eax*2]
mov eax, dword [ebx + 4]
lea esi, [eax + edx*8]
call fcn.00410770
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 8]
inc ecx
mov eax, dword [edx]
mov edx, dword [esi + 4]
push eax
push ecx
push edx
call fcn.004169e0
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 8]
add esp, 0x10
test eax, eax
jne 0x4242eb
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x14]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebx + 8]
or al, 0x10
mov dword [ebx + 8], eax
jmp 0x4242fc
cmp eax, 1
jne 0x4242fc
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x14]
mov dl, byte [ecx]
mov byte [eax + 0x78], dl
mov ecx, dword [esp + 0x10]
sub ecx, 0x40
mov dword [esp + 0x10], ecx
mov eax, dword [ebp + 4]
cmp eax, 1
jne case.0x422947.13
push ebx
call fcn.0041f120
add esp, 4
jmp case.0x422947.13
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 4]
xor edi, edi
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8 + 4]
cmp eax, edi
je 0x424387
lea edx, [esp + 0x8c]
push edx
push 1
push eax
call fcn.00416870
add esp, 0xc
cmp eax, edi
mov dword [esp + 0x14], eax
jne case.0x422947.13
mov eax, dword [esp + 0x8c]
mov ecx, dword [ebp + 8]
cmp eax, ecx
je case.0x422947.13
push edi
add esi, 0x230
push str.database_schema_has_changed
push esi
call fcn.0040dad0
add esp, 0xc
mov dword [esp + 0x14], 0x11
jmp case.0x422947.13
mov dword [esp + 0x14], edi
mov dword [esp + 0x8c], edi
jmp 0x424353
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
push eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x1c], edx
call fcn.00410770
mov ecx, dword [esp + 0x14]
add esp, 4
mov edi, dword [ecx]
sub ecx, 0x40
mov dword [esp + 0x10], ecx
mov eax, dword [ebx + 4]
lea edx, [edi + edi*2]
lea eax, [eax + edx*8]
mov edx, dword [eax + 4]
mov dword [esp + 0x4c], edx
mov dl, byte [ebp]
cmp dl, 9
jne 0x4243f4
mov eax, dword [eax + 0x14]
mov dl, byte [esi + 0x239]
mov dword [esp + 0x1c], 1
mov al, byte [eax + 0x78]
cmp al, dl
jae 0x4243fc
mov byte [esi + 0x239], al
jmp 0x4243fc
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x42441e
push ecx
call fcn.00410770
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [eax]
sub eax, 0x40
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x38]
push edi
push edx
push esi
call fcn.004269a0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x426601
mov eax, dword [esp + 0x4c]
mov byte [ebx + 0x1c], 1
test eax, eax
je case.0x422947.13
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x1c]
push ebx
push ecx
mov ecx, dword [esp + 0x20]
push fcn.0041ec80
push edx
push ecx
push eax
call fcn.00412550
mov edi, eax
mov eax, dword [ebp + 0x10]
mov ecx, 0xfffffffa
add esp, 0x18
cmp eax, ecx
mov dword [esp + 0x14], edi
jne 0x424499
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x2dc]
mov dword [ebx + 0x4c], eax
inc eax
mov dword [ebx + 0x48], eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov edx, dword [eax + 0x14]
mov eax, dword [ebx + 0x4c]
mov dl, byte [edx + 0x79]
mov byte [eax], dl
jmp 0x4244ad
mov esi, dword [esp + 0x2dc]
lea eax, [ebx + 0x22]
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x48], eax
test edi, edi
je 0x4244e3
cmp edi, 5
je 0x4265b6
cmp edi, 0x10
jne 0x426672
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x14], 0
cmp edx, ecx
setne al
test al, al
sete cl
mov byte [ebx + 0x20], al
mov byte [ebx + 0x21], cl
jmp case.0x422947.13
mov edx, dword [ebx]
push edx
call fcn.00416a30
add esp, 4
test al, 0xf0
jne 0x4265ee
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x424509
cmp ecx, 2
jne 0x4265ee
mov cl, al
shr eax, 1
and cl, 1
and al, 1
test cl, cl
mov byte [ebx + 0x20], cl
mov byte [ebx + 0x21], al
je 0x424526
cmp dword [ebp + 0x10], 0xfffffffa
je 0x4265ee
test al, al
je case.0x422947.13
cmp dword [ebp + 0x10], 0xfffffffa
jne 0x4265ee
jmp case.0x422947.13
mov eax, dword [ebp + 4]
push 0xffffffffffffffff
push eax
push esi
call fcn.004269a0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x426601
mov edx, dword [esp + 0x48]
lea edi, [esi + 0x30]
push edi
push 0x1f4
push 1
push 0
push edx
mov byte [esi + 0x1c], 1
call fcn.0040d1b0
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
jne 0x424629
mov eax, dword [edi]
push 1
push eax
call fcn.00411da0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x424629
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x424607
mov edx, dword [edi]
lea ecx, [esp + 0xbc]
push 2
push ecx
push edx
call fcn.00415ee0
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x424601
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0xbc]
mov edx, dword [edi]
push esi
push eax
push fcn.0041ec80
push 1
push ecx
push edx
call fcn.00412550
mov ecx, dword [esp + 0x2f4]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0xc]
add esp, 0x18
mov dword [esi + 0x4c], eax
mov edx, dword [ecx]
mov ecx, dword [edx + 4]
mov edx, dword [ecx + 0x14]
mov cl, byte [edx + 0x79]
mov byte [eax], cl
mov edx, dword [esi + 0x4c]
inc edx
mov dword [esi + 0x48], edx
mov byte [esi + 0x20], 0
jmp 0x424629
mov eax, dword [edi]
push esi
push 0
push 0
push 1
push 1
push eax
call fcn.00412550
lea ecx, [esi + 0x22]
add esp, 0x18
mov dword [esp + 0x14], eax
mov byte [esi + 0x20], 1
mov dword [esi + 0x48], ecx
mov al, byte [esi + 0x20]
mov edx, dword [ebp + 8]
test al, al
sete al
mov dword [esi + 0x50], edx
mov byte [esi + 0x21], al
jmp case.0x422947.13
mov ebp, dword [ebp + 4]
push 0xffffffffffffffff
push ebp
push esi
call fcn.004269a0
add esp, 0xc
test eax, eax
je 0x426601
lea ecx, [eax + 0x22]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x1e], 1
mov dword [eax + 0x48], ecx
mov byte [eax + 0x20], 1
mov byte [eax + 0x21], 0
jmp case.0x422947.13
mov ebp, dword [ebp + 4]
test ebp, ebp
jl case.0x422947.13
cmp ebp, dword [esi + 0x38]
jge case.0x422947.13
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + ebp*4]
push eax
push esi
call fcn.0041dc40
mov ecx, dword [esi + 0x3c]
add esp, 8
mov dword [ecx + ebp*4], 0
jmp case.0x422947.13
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x3c]
mov ebx, dword [eax + edx*4]
cmp dword [ebx], 0
je 0x4255b4
mov eax, dword [esp + 0x18]
mov byte [ebx + 0x1c], 0
cmp eax, 7
je 0x4246cc
cmp eax, 0x56
je 0x4246cc
xor eax, eax
jmp 0x4246d1
mov eax, 1
mov ecx, dword [ebx + 0x48]
mov byte [ecx], al
mov al, byte [ebx + 0x20]
test al, al
je 0x424759
mov edx, dword [esp + 0x10]
push edx
call fcn.00410770
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 8]
add esp, 4
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
test edx, edx
jne 0x42471a
cmp byte [ebp], 0x80
jne 0x42471a
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], ecx
mov byte [ebx + 0x1f], 1
mov eax, dword [esp + 0x10]
sub eax, 0x40
mov dword [esp + 0x10], eax
jmp case.0x422947.13
lea edx, [esp + 0x50]
push edx
push ecx
push eax
mov eax, dword [ebx]
push 0
push eax
call fcn.00412f50
mov edi, eax
add esp, 0x14
test edi, edi
mov dword [esp + 0x14], edi
jne 0x426672
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov dword [ebx + 8], edx
mov eax, dword [ecx + 4]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x50]
test eax, eax
sete cl
mov byte [ebx + 0x19], cl
jmp 0x424788
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x50]
push edx
mov eax, dword [ecx + 0x14]
cdq
push edx
push eax
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebx]
push eax
push ecx
call fcn.00412f50
mov edi, eax
add esp, 0x14
test edi, edi
mov dword [esp + 0x14], edi
jne 0x426672
mov byte [ebx + 0x19], al
mov edx, dword [ebx + 0x48]
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov byte [ebx + 0x1f], 0
mov dword [ebx + 0x68], ecx
cmp eax, 0x80
mov byte [edx], cl
je 0x4247fe
cmp eax, 7
je 0x4247fe
cmp dword [esp + 0x50], ecx
jl 0x4247ed
mov ecx, dword [ebx]
lea eax, [esp + 0x50]
push eax
push ecx
call fcn.004133e0
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x14], edi
jne 0x426672
mov byte [ebx + 0x19], al
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4255b4
mov ebp, dword [ebp + 8]
test ebp, ebp
jg 0x4255af
mov byte [ebx + 0x1c], 1
jmp 0x4255b4
mov edx, dword [ebx]
push edx
call fcn.00413230
add esp, 4
mov dword [esp + 0x50], eax
jmp 0x4247cd
cmp dword [esp + 0x50], ecx
jge 0x424813
mov ecx, dword [ebx]
lea eax, [esp + 0x50]
push eax
push ecx
call fcn.00413240
jmp 0x4247b9
mov dword [esp + 0x50], ecx
jmp 0x4255b4
mov edx, dword [ebp + 4]
mov ecx, dword [esi + 0x3c]
xor eax, eax
mov esi, dword [ecx + edx*4]
cmp dword [esi], 0
je 0x424896
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x18], 0x12
jne 0x424856
mov edx, dword [esp + 0x34]
and edx, 0xff
push edx
push ecx
call fcn.004104c0
add esp, 8
test eax, eax
jne 0x426601
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xc4]
push eax
mov eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x10]
cdq
push edx
mov edx, dword [esi]
push eax
push ecx
push edx
call fcn.00412f50
add esp, 0x14
test eax, eax
jne 0x424889
mov eax, dword [esp + 0xc4]
test eax, eax
jne 0x424889
mov eax, 1
jmp 0x42488b
xor eax, eax
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
mov cl, byte [ebp]
cmp cl, 0x86
jne 0x4248a4
test eax, eax
je 0x4248b0
jmp 0x4248a8
test eax, eax
jne 0x4248b0
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
cmp cl, 0x70
je case.0x422947.13
jmp 0x4255b4
mov eax, dword [esp + 0x10]
mov ebx, dword [ebp + 4]
push eax
lea edi, [eax - 0x40]
call fcn.00410770
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [eax]
mov edx, dword [eax + 4]
sub eax, 0x40
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x3c]
mov dword [esp + 0xe0], edx
mov ebx, dword [eax + ebx*4]
mov eax, dword [ebx]
test eax, eax
mov dword [esp + 0x18], eax
je case.0x422947.13
test byte [edi + 0x18], 0x12
jne 0x42492c
mov ecx, dword [esp + 0x34]
and ecx, 0xff
push ecx
push edi
call fcn.004104c0
add esp, 8
test eax, eax
jne 0x426601
mov esi, dword [esp + 0x2dc]
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 0x14]
push eax
mov dword [esp + 0x20], eax
call fcn.0041ef40
sub edi, eax
lea edx, [esp + 0x6c]
mov eax, edi
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
push edx
cdq
push edx
push eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x68], 0
push eax
push ecx
call fcn.00412f50
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x426672
mov eax, dword [esp + 0x68]
test eax, eax
jge 0x4249a2
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x68]
push edx
push eax
call fcn.00413240
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
add esp, 8
test eax, eax
je 0x4249a2
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x68]
push ecx
push edx
push eax
push ebx
call fcn.0041f050
mov edi, eax
add esp, 0x10
test edi, edi
mov dword [esp + 0x14], edi
jne 0x426672
mov eax, dword [esp + 0x68]
test eax, eax
jle 0x4249dd
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0xe8]
push ecx
push edx
call fcn.0041ef80
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x14], edi
jne 0x426672
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xdc]
cmp ecx, eax
jne 0x424a31
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xe0]
cmp eax, edx
jne 0x424a31
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
add eax, 0x40
mov dword [esp + 0x10], eax
mov dword [eax], ecx
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0x10]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x10]
mov word [eax + 0x18], 4
jmp case.0x422947.13
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x3c]
mov esi, dword [edx + ecx*4]
mov eax, dword [esi]
test eax, eax
je 0x4255b4
mov ecx, dword [esp + 0x10]
lea edi, [esp + 0xcc]
push edi
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
push ecx
push edx
push 0
push eax
call fcn.00412f50
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
add esp, 0x14
mov ecx, dword [eax]
mov dword [esi + 8], ecx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0xcc]
test eax, eax
sete cl
test eax, eax
mov dword [esi + 0xc], edx
mov byte [esi + 0x19], cl
mov byte [esi + 0x1c], 0
mov dword [esi + 0x68], 0
je 0x4255b4
mov ebp, dword [ebp + 8]
mov byte [esi + 0x19], 0
dec ebp
mov dword [esp + 0x20], ebp
jmp 0x4255b4
mov eax, dword [esp + 0x10]
mov ebp, dword [ebp + 4]
mov edx, dword [esi + 0x3c]
add eax, 0x40
mov dword [esp + 0x10], eax
mov ecx, dword [edx + ebp*4]
mov edx, dword [ecx + 0x58]
mov dword [eax], edx
mov eax, dword [ecx + 0x5c]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], eax
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + ebp*4]
mov edx, dword [eax + 0x58]
add edx, 1
mov dword [eax + 0x58], edx
mov ecx, dword [eax + 0x5c]
adc ecx, 0
mov dword [eax + 0x5c], ecx
mov eax, dword [esp + 0x10]
mov word [eax + 0x18], 4
jmp case.0x422947.13
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x3c]
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov edi, dword [eax + edx*4]
mov dword [esp + 0x28], edi
mov eax, dword [edi]
cmp eax, ecx
je 0x424d82
push eax
mov dword [esp + 0x1c], ecx
call fcn.00416a30
and eax, 3
add esp, 4
cmp al, 1
jne 0x4265ee
mov al, byte [edi + 0x1b]
test al, al
jne 0x424c9c
mov al, byte [edi + 0x1d]
test al, al
je 0x424b77
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x2c], ecx
mov edx, dword [edi + 0x14]
mov dword [esp + 0x30], edx
jmp 0x424bf6
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x78]
push eax
mov edx, dword [ecx]
push edx
call fcn.00412eb0
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x14], edi
jne 0x426672
mov eax, dword [esp + 0x78]
test eax, eax
je 0x424bb3
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x2c], 1
jmp 0x424bf6
mov edi, dword [esp + 0x28]
lea eax, [esp + 0x2c]
push eax
mov ecx, dword [edi]
push ecx
call fcn.004127f0
mov eax, dword [esp + 0x34]
add esp, 8
cmp eax, 0xffffffff
jne 0x424be0
cmp dword [esp + 0x30], 0x7fffffff
jne 0x424be0
mov byte [edi + 0x1b], 1
jmp 0x424bf6
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
add ecx, 1
adc eax, 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x424c5c
mov edx, dword [esi + 0x58]
shl ebp, 6
add ebp, edx
push ebp
call fcn.00410770
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
add esp, 4
cmp eax, 0xffffffff
jne 0x424c25
cmp ecx, 0x7fffffff
je 0x4265f5
mov dl, byte [edi + 0x1b]
test dl, dl
jne 0x4265f5
mov edx, dword [esp + 0x30]
add eax, 1
adc ecx, 0
cmp edx, ecx
jg 0x424c4e
jl 0x424c46
cmp dword [esp + 0x2c], eax
jae 0x424c4e
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x2c]
mov dword [ebp], eax
mov ecx, dword [esp + 0x30]
mov dword [ebp + 4], ecx
cmp dword [esp + 0x30], 0x7fffffff
ja 0x424c89
jb 0x424c6f
cmp dword [esp + 0x2c], 0xffffffff
jae 0x424c89
mov byte [edi + 0x1d], 1
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
add edx, 1
adc eax, 0
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], eax
jmp 0x424c8d
mov byte [edi + 0x1d], 0
mov edi, dword [esp + 0x28]
mov al, byte [edi + 0x1b]
test al, al
je 0x424d73
mov ecx, dword [ebx + 0x28]
mov edx, dword [ebx + 0x2c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
xor ebp, ebp
or ecx, dword [esp + 0x30]
je 0x424ce9
cmp ebp, 2
jg 0x424ce9
lea eax, [esp + 0xb4]
push eax
push 1
call fcn.004349a0
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x34]
and eax, 0xff
add esp, 8
inc eax
cdq
add ecx, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], ecx
adc eax, edx
jmp 0x424d12
lea ecx, [esp + 0x2c]
push ecx
push 8
call fcn.004349a0
mov ecx, dword [esp + 0x34]
add esp, 8
cmp ebp, 5
jge 0x424d16
mov eax, dword [esp + 0x30]
and ecx, 0xffffff
mov dword [esp + 0x2c], ecx
and eax, 0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov edx, ecx
or edx, eax
je 0x424d3d
lea edx, [esp + 0x78]
push edx
push eax
mov eax, dword [edi]
push ecx
push 0
push eax
call fcn.00412f50
mov ecx, dword [esp + 0x40]
add esp, 0x14
mov dword [esp + 0x18], eax
inc ebp
mov eax, dword [esp + 0x78]
cmp ebp, 0x3e8
jge 0x424d59
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x424d59
test eax, eax
je 0x424cac
mov dword [ebx + 0x28], ecx
mov ecx, dword [esp + 0x30]
mov dword [ebx + 0x2c], ecx
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x424d73
test eax, eax
je 0x4265f5
mov byte [edi + 0x19], 0
mov byte [edi + 0x1f], 0
mov dword [edi + 0x68], 0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
add eax, 0x40
mov dword [esp + 0x10], eax
mov dword [eax], edx
mov eax, dword [esp + 0x30]
jmp 0x425261
mov edx, dword [esp + 0x2dc]
mov esi, dword [ebp + 4]
mov ecx, dword [esp + 0x10]
mov edi, dword [edx + 0x3c]
lea eax, [ecx - 0x40]
mov ebx, dword [edi + esi*4]
cmp dword [ebx], 0
jne 0x424dc2
cmp byte [ebx + 0x1e], 0
je 0x424f57
mov edi, dword [eax]
mov esi, dword [eax + 4]
test byte [ebp + 8], 1
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], esi
je 0x424de1
inc dword [edx + 0x23c]
test byte [ebp + 8], 2
je 0x424dfc
mov esi, dword [esp + 0x48]
mov ecx, dword [eax]
mov dword [esi + 0x20], ecx
mov edx, dword [eax + 4]
mov dword [esi + 0x24], edx
mov ecx, dword [esp + 0x10]
jmp 0x424e00
mov esi, dword [esp + 0x48]
mov dl, byte [ebx + 0x1d]
test dl, dl
je 0x424e22
mov edx, dword [eax + 4]
cmp edx, dword [ebx + 0x14]
jl 0x424e22
jg 0x424e1a
mov eax, dword [eax]
mov edx, dword [ebx + 0x10]
cmp eax, edx
jb 0x424e22
mov byte [ebx + 0x1d], 0
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x18], 1
je 0x424e38
xor eax, eax
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x14], eax
mov ecx, dword [esp + 0x10]
mov al, byte [ebx + 0x1e]
test al, al
je 0x424edf
mov edx, dword [ebx + 0x38]
push edx
call fcn.0040d9b0
mov eax, dword [esp + 0xa4]
mov dword [ebx + 0x40], edi
mov dword [ebx + 0x44], eax
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [ecx + 0x14]
mov dword [ebx + 0x34], eax
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x18], 0x40
je 0x424e86
mov edx, dword [ecx + 0x10]
mov dword [ebx + 0x38], edx
mov eax, dword [esp + 0x10]
mov word [eax + 0x18], 1
mov byte [ebx + 0x1c], 0
jmp 0x424f01
add eax, 2
push 1
push eax
call fcn.0040d920
add esp, 8
mov dword [ebx + 0x38], eax
test eax, eax
je 0x426601
mov ecx, dword [ebx + 0x34]
mov edx, dword [esp + 0x10]
mov edi, eax
mov eax, ecx
mov esi, dword [edx + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 0x38]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x9c]
mov byte [ecx + edx], 0
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x38]
mov byte [eax + ecx + 1], 0
mov byte [ebx + 0x1c], 0
jmp 0x424f01
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0xa0]
push edx
mov edx, dword [ebx]
push eax
push ecx
push edi
push 0
push edx
call fcn.00413550
add esp, 0x18
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov byte [ebx + 0x19], 0
test eax, eax
mov byte [ebx + 0x1f], 0
mov dword [ebx + 0x68], 0
jne 0x424f57
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x424f57
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x424f57
mov edx, dword [esp + 0xa0]
mov ebx, dword [ebx + 4]
push edx
mov edx, dword [esi + 4]
push edi
push eax
lea eax, [ebx + ebx*2]
mov eax, dword [edx + eax*8]
mov edx, dword [ebp + 8]
and dl, 4
push eax
mov eax, dword [esi + 0x78]
neg dl
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push eax
call ecx
add esp, 0x18
push 2
jmp 0x4263d7
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x1c], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x42502b
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x424fbb
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x424fbb
mov dl, byte [eax + 0x19]
test dl, dl
je 0x424fa0
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
jmp 0x424fbb
lea eax, [esp + 0xac]
push eax
push ecx
call fcn.004127f0
mov edi, eax
add esp, 8
test edi, edi
jne 0x426672
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.0041e7e0
mov edi, eax
add esp, 4
test edi, edi
jne 0x426672
mov edi, dword [esp + 0x1c]
mov edx, dword [edi]
push edx
call fcn.00415c10
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov byte [edi + 0x1d], 0
mov dword [edi + 0x68], 0
jne 0x42502b
mov ecx, dword [ebx + 0x7c]
test ecx, ecx
je 0x42502b
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x42502b
mov edx, dword [esp + 0xb0]
push edx
mov edx, dword [esp + 0xb0]
push edx
mov edx, dword [ebx + 4]
push eax
mov eax, dword [edi + 4]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8]
mov edx, dword [ebx + 0x78]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [ebp + 8], 1
je case.0x422947.13
inc dword [esi + 0x23c]
jmp case.0x422947.13
mov eax, dword [ebp + 4]
test eax, eax
je 0x425057
mov eax, dword [esi + 0x23c]
push eax
push ebx
call fcn.0041f0f0
add esp, 8
mov dword [esi + 0x23c], 0
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
mov ebp, dword [ebp + 4]
mov ecx, dword [esi + 0x3c]
add eax, 0x40
mov dword [esp + 0x10], eax
mov ebx, dword [ecx + ebp*4]
mov cl, byte [ebx + 0x1c]
test cl, cl
jne 0x4251b7
mov ebp, dword [ebx]
test ebp, ebp
je 0x425189
push ebx
call fcn.0041e7e0
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x14], edi
jne 0x426672
mov al, byte [ebx + 0x1c]
test al, al
je 0x4250bc
mov edx, dword [esp + 0x10]
mov word [edx + 0x18], 1
jmp case.0x422947.13
mov al, byte [ebx + 0x21]
test al, al
je 0x4250e1
lea eax, [esp + 0x128]
push eax
push ebp
call fcn.004127f0
mov ecx, dword [esp + 0x130]
add esp, 8
mov dword [esp + 0x64], ecx
jmp 0x4250ef
lea edx, [esp + 0x64]
push edx
push ebp
call fcn.00412a00
add esp, 8
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
mov dword [eax + 0x14], ecx
mov eax, dword [esp + 0x64]
cmp eax, 0x20
ja 0x425119
mov edx, dword [esp + 0x10]
mov word [edx + 0x18], 0x210
mov eax, dword [esp + 0x10]
lea ecx, [eax + 0x20]
mov dword [eax + 0x10], ecx
jmp 0x425148
push 1
push eax
call fcn.0040d920
add esp, 8
test eax, eax
je 0x426601
mov edx, dword [esp + 0x10]
mov word [edx + 0x18], 0x50
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x1c], 0
mov edx, dword [esp + 0x10]
mov dword [edx + 0x10], eax
mov al, byte [ebx + 0x21]
mov edx, dword [esp + 0x64]
test al, al
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
push ecx
push edx
push 0
push ebp
je 0x425174
call fcn.00412a50
mov edx, dword [esp + 0x20]
add esp, 0x10
mov byte [edx + 0x1b], 1
jmp case.0x422947.13
call fcn.00412c20
mov edx, dword [esp + 0x20]
add esp, 0x10
mov byte [edx + 0x1b], 1
jmp case.0x422947.13
mov cl, byte [ebx + 0x1e]
test cl, cl
je 0x4251b7
mov ecx, dword [ebx + 0x34]
mov dword [eax + 0x14], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0x38]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x18], 0x110
mov edx, dword [esp + 0x10]
mov byte [edx + 0x1b], 1
jmp case.0x422947.13
mov word [eax + 0x18], 1
mov edx, dword [esp + 0x10]
mov byte [edx + 0x1b], 1
jmp case.0x422947.13
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x3c]
mov ebx, dword [ecx + eax*4]
push ebx
call fcn.0041e7e0
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x14], edi
jne 0x426672
mov ecx, dword [esp + 0x10]
add ecx, 0x40
mov dword [esp + 0x10], ecx
mov al, byte [ebx + 0x19]
test al, al
je 0x425212
mov edx, dword [ebx + 8]
mov dword [esp + 0x84], edx
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x88], eax
jmp 0x42524d
mov al, byte [ebx + 0x1e]
test al, al
je 0x42522f
mov ecx, dword [ebx + 0x40]
mov dword [esp + 0x84], ecx
mov edx, dword [ebx + 0x44]
mov dword [esp + 0x88], edx
jmp 0x42524d
mov al, byte [ebx + 0x1c]
test al, al
jne 0x425277
mov ebx, dword [ebx]
test ebx, ebx
je 0x425277
lea eax, [esp + 0x84]
push eax
push ebx
call fcn.004127f0
add esp, 8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x84]
mov dword [edx], ecx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x10]
mov word [edx + 0x18], 4
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
mov word [eax + 0x18], 1
jmp case.0x422947.13
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + ecx*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x422947.13
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x3c]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
test eax, eax
je 0x4252f2
lea edx, [esp + 0xd0]
push edx
push eax
call fcn.00412eb0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xd8]
add esp, 8
mov byte [esi + 0x1c], al
test eax, eax
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
je case.0x422947.13
mov ebp, dword [ebp + 8]
test ebp, ebp
jle case.0x422947.13
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov byte [esi + 0x1c], 0
jmp case.0x422947.13
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x3c]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
test eax, eax
je 0x425335
lea edx, [esp + 0x74]
push edx
push eax
call fcn.00412d00
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x7c]
add esp, 8
mov byte [esi + 0x1f], 0
test eax, eax
sete al
mov byte [esi + 0x1a], al
mov dword [esi + 0x68], 0
jmp 0x42533d
mov dword [esp + 0x74], 1
mov cl, byte [esp + 0x74]
mov byte [esi + 0x1c], cl
mov eax, dword [esp + 0x74]
test eax, eax
je case.0x422947.13
mov ebp, dword [ebp + 8]
test ebp, ebp
jle case.0x422947.13
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov ecx, dword [ebx + 0x98]
test ecx, ecx
jne 0x42663e
mov edx, dword [ebp + 4]
mov ecx, dword [esi + 0x3c]
mov esi, dword [ecx + edx*4]
mov ecx, dword [esi]
test ecx, ecx
je 0x4253eb
mov dl, byte [esi + 0x1c]
test dl, dl
je 0x42539d
mov dword [esp + 0x80], 1
mov byte [esi + 0x19], 0
jmp case.0x422947.13
cmp al, 0x6e
jne 0x4253b1
lea edx, [esp + 0x80]
push edx
push ecx
call fcn.00413240
jmp 0x4253bf
lea eax, [esp + 0x80]
push eax
push ecx
call fcn.004133e0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x88]
add esp, 8
mov byte [esi + 0x1c], al
test eax, eax
mov dword [esi + 0x68], 0
jne 0x4253ef
mov ebp, dword [ebp + 8]
mov byte [esi + 0x19], al
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov byte [esi + 0x1c], 1
mov byte [esi + 0x19], 0
jmp case.0x422947.13
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x3c]
mov esi, dword [edx + ecx*4]
mov ecx, dword [esi]
test ecx, ecx
je 0x4255b4
mov edx, dword [esp + 0x10]
push 0
push 0x455d8c
mov eax, dword [edx + 0x14]
mov edi, dword [edx + 0x10]
cdq
push edx
push eax
push edi
push ecx
call fcn.00413550
add esp, 0x18
mov dword [esp + 0x14], eax
mov dword [esi + 0x68], 0
jmp 0x4255b4
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x3c]
mov edi, dword [ecx + eax*4]
mov esi, dword [edi]
test esi, esi
je 0x4255b4
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xc0]
push edx
mov eax, dword [ecx + 0x14]
cdq
push edx
push eax
mov eax, dword [ecx + 0x10]
push eax
push esi
call fcn.00412f50
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42548b
mov eax, dword [esp + 0xc0]
test eax, eax
jne 0x42548b
push esi
call fcn.00415c10
add esp, 4
mov dword [esp + 0x14], eax
mov dword [edi + 0x68], 0
jmp 0x4255b4
mov eax, dword [esp + 0x10]
mov ebp, dword [ebp + 4]
add eax, 0x40
mov edx, 1
mov dword [esp + 0x10], eax
mov word [eax + 0x18], dx
mov ecx, dword [esi + 0x3c]
mov eax, dword [ecx + ebp*4]
mov ecx, dword [eax]
test ecx, ecx
je case.0x422947.13
mov bl, byte [eax + 0x1c]
test bl, bl
je 0x4254d2
mov eax, dword [esp + 0x10]
mov word [eax + 0x18], dx
jmp case.0x422947.13
lea edx, [esp + 0xf0]
push edx
push ecx
call fcn.0041ef80
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x14], edi
jne 0x426672
mov eax, dword [esp + 0x10]
mov word [eax + 0x18], 4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xf0]
mov dword [edx], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xf4]
mov dword [ecx + 4], eax
jmp case.0x422947.13
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x3c]
mov esi, dword [eax + edx*4]
cmp dword [esi], 0
je 0x4255b4
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 0x12
jne 0x425553
mov ecx, dword [esp + 0x34]
and ecx, 0xff
push ecx
push eax
call fcn.004104c0
add esp, 8
test eax, eax
jne 0x426601
mov edi, dword [ebp + 0xc]
mov eax, dword [esi + 0x48]
test edi, edi
setne dl
mov byte [eax], dl
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x70]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
push ecx
push edx
push eax
push esi
call fcn.0041f050
mov ecx, dword [esi + 0x48]
add esp, 0x10
test eax, eax
mov dword [esp + 0x14], eax
mov byte [ecx], 0
jne case.0x422947.13
mov al, byte [ebp]
cmp al, 0x27
jne 0x42559b
mov eax, dword [esp + 0x70]
neg eax
jmp 0x4255a4
cmp al, 0x40
mov eax, dword [esp + 0x70]
jne 0x4255a8
inc eax
mov dword [esp + 0x70], eax
test eax, eax
jle 0x4255b4
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 0x40
je 0x4255c7
push eax
call fcn.004105c0
add esp, 4
sub dword [esp + 0x10], 0x40
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
mov edi, dword [ebp + 4]
mov ebx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
lea eax, [esp + 0x98]
mov dword [esp + 0x1c], edx
push eax
push ebx
call fcn.0040e680
mov esi, eax
mov eax, dword [esp + 0x24]
add esp, 8
cmp esi, eax
jge 0x4255b4
test edi, edi
jle 0x4255b4
lea ecx, [esp + 0x98]
lea edx, [esi + ebx]
push ecx
push edx
call fcn.0040e680
add esi, eax
mov eax, dword [esp + 0xa0]
add esp, 8
test eax, eax
je 0x4255ac
mov eax, dword [esp + 0x1c]
dec edi
cmp esi, eax
jl 0x4255fd
jmp 0x4255b4
mov eax, dword [ebx + 0x50]
xor ecx, ecx
test eax, eax
je 0x42566a
mov edx, 0xbdf20da3
cmp dword [eax + 0x50], edx
jne 0x425651
cmp byte [eax + 0x23a], 2
jae 0x425651
mov esi, dword [eax + 0x7c]
test esi, esi
jl 0x425651
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x42563b
cmp ecx, 1
jle 0x42566a
mov dword [esp + 0x14], 6
jmp case.0x422947.13
mov ecx, dword [ebp + 4]
lea eax, [esp + 0x90]
push eax
mov eax, dword [ebp + 8]
push ecx
lea edx, [eax + eax*2]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edx*8 + 4]
push ecx
call fcn.00416650
mov ecx, eax
mov eax, dword [esp + 0x1c]
add eax, 0x40
add esp, 0xc
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov word [eax + 0x18], 4
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x10]
cdq
mov dword [esi], eax
mov eax, dword [esp + 0x10]
test ecx, ecx
mov dword [eax + 4], edx
jne case.0x422947.13
mov eax, dword [esp + 0x90]
test eax, eax
je case.0x422947.13
mov ecx, dword [ebp + 4]
mov ebp, dword [ebp + 8]
push ecx
push eax
mov eax, dword [ebx + 4]
lea edx, [ebp + ebp*2]
lea ecx, [eax + edx*8]
push ecx
call fcn.0041a470
add esp, 0xc
jmp case.0x422947.13
mov edx, dword [ebp + 4]
mov ebp, dword [ebp + 8]
mov ecx, dword [ebx + 4]
push edx
lea eax, [ebp + ebp*2]
mov edx, dword [ecx + eax*8 + 4]
push edx
call fcn.004164b0
add esp, 8
mov dword [esp + 0x14], eax
jmp case.0x422947.13
mov ebp, dword [ebp + 4]
mov edx, dword [ebx + 4]
sub al, 0x34
neg al
sbb eax, eax
lea ecx, [ebp + ebp*2]
and al, 0xfd
add eax, 5
lea ecx, [edx + ecx*8]
push eax
lea eax, [esp + 0xe8]
mov ecx, dword [ecx + 4]
push eax
push ecx
call fcn.00415ee0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add ecx, 0x40
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x10], ecx
jne 0x42384e
mov eax, dword [esp + 0xe4]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x18], 4
jmp case.0x422947.13
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 4]
lea edx, [eax + eax*2]
lea edi, [ecx + edx*8]
mov edx, dword [ecx + edx*8 + 0x14]
mov cl, byte [edx + 0x7a]
and cl, 1
cmp cl, 1
jne case.0x422947.13
cmp eax, 1
mov ecx, str.sqlite_temp_master
je 0x4257a5
mov ecx, str.sqlite_master
mov edx, dword [ebp + 0xc]
add esi, 0x230
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], esi
mov eax, dword [edi]
push edx
push ecx
push eax
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
call fcn.004225b0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x426601
mov edi, dword [esp + 0x48]
push edi
call fcn.0040e3f0
lea ecx, [esp + 0x114]
push 0
push ecx
push fcn.0040f670
push esi
push edi
mov byte [edi + 0x44], 1
call fcn.0040c540
mov ebx, eax
add esp, 0x18
cmp ebx, 4
mov dword [esp + 0x14], ebx
jne 0x42581c
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x14], ebx
push esi
call fcn.0040d9b0
push edi
mov byte [edi + 0x44], 0
call fcn.0040e3b0
add esp, 8
cmp ebx, 7
je 0x4265fc
jmp case.0x422947.13
mov edx, dword [ebp + 4]
push edx
push ebx
call fcn.00427090
jmp 0x4263e1
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
push eax
push ecx
push ebx
call fcn.00418e80
add esp, 0xc
jmp case.0x422947.13
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 4]
push edx
push eax
push ebx
call fcn.00418b30
add esp, 0xc
jmp case.0x422947.13
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 4]
push ecx
push edx
push ebx
call fcn.00433bc0
add esp, 0xc
jmp case.0x422947.13
mov esi, dword [esi + 0x28]
mov edx, dword [esp + 0x10]
xor edi, edi
cmp edx, esi
jb 0x4258b1
mov eax, edx
xor ecx, ecx
test byte [eax + 0x18], 4
je 0x4258b1
add ecx, 0x40
mov eax, edx
sub eax, ecx
inc edi
cmp eax, esi
jae 0x42589f
lea eax, [edi*4 + 4]
push 1
push eax
call fcn.0040d920
mov esi, eax
add esp, 8
test esi, esi
je 0x426601
xor eax, eax
test edi, edi
jle 0x4258f3
mov ecx, esi
mov edx, edi
mov dword [esp + 0x38], edi
mov ebx, dword [esp + 0x10]
add ecx, 4
sub ebx, eax
add eax, 0x40
dec edx
mov ebx, dword [ebx]
mov dword [ecx - 4], ebx
jne 0x4258db
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x10]
push edi
push ecx
mov dword [esi + eax*4], 0
call fcn.00426960
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x50]
add ecx, 0x40
push edi
mov dword [esp + 0x1c], ecx
mov ebp, dword [ebp + 8]
mov ecx, dword [eax + 4]
push esi
lea edx, [ebp + ebp*2]
mov edx, dword [ecx + edx*8 + 4]
push edx
call fcn.00416a50
add esp, 0x14
test eax, eax
je 0x425970
cmp byte [eax], 0
je 0x425967
mov ecx, dword [esp + 0x10]
mov edi, eax
mov dword [ecx + 0x10], eax
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [edx + 0x14], ecx
mov eax, dword [esp + 0x10]
mov word [eax + 0x18], 0x62
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x1c], 0
jmp 0x425990
push eax
call fcn.0040d9b0
add esp, 4
mov edx, dword [esp + 0x10]
mov dword [edx + 0x10], 0x453c68
mov eax, dword [esp + 0x10]
mov dword [eax + 0x14], 2
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x18], 0xa2
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
and eax, 0xff
mov byte [edx + 0x1b], 1
mov ecx, dword [esp + 0x10]
push eax
push ecx
call fcn.004102e0
push esi
call fcn.0040d9b0
add esp, 0xc
jmp case.0x422947.13
mov edx, dword [esp + 0x10]
push edx
call fcn.00410770
mov eax, dword [esp + 0x14]
add esi, 0x64
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
push esi
call fcn.00434c40
mov eax, dword [esp + 0x20]
add esp, 0x10
sub eax, 0x40
mov dword [esp + 0x10], eax
jmp case.0x422947.13
mov eax, dword [ebx + 0x98]
test eax, eax
jne 0x42663e
lea eax, [esp + 0x100]
add esi, 0x64
push eax
push esi
call fcn.00434d00
add esp, 8
cmp eax, 0x65
jne 0x425a1f
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x100]
add eax, 0x40
mov dword [esp + 0x10], eax
mov dword [eax], ecx
mov edx, dword [esp + 0x104]
jmp 0x425761
mov edi, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
cmp edi, ecx
lea eax, [edi + 1]
mov dword [esi + 0x70], eax
jl 0x425a7a
lea edx, [eax + eax*2]
mov dword [esi + 0x74], eax
shl edx, 3
add esi, 0x78
push edx
push esi
call fcn.0040da10
mov eax, dword [esi]
add esp, 8
test eax, eax
je 0x426601
mov esi, dword [esp + 0x2dc]
mov ebx, dword [esp + 0x48]
mov ecx, dword [esi + 0x78]
mov edx, dword [ebx + 0x20]
lea eax, [edi + edi*2]
lea eax, [ecx + eax*8]
mov dword [eax], edx
mov ecx, dword [ebx + 0x24]
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x23c]
lea ecx, [esi + 0x64]
mov dword [eax + 8], edx
mov edx, ecx
add eax, 0xc
push ecx
mov esi, dword [edx]
mov dword [eax], esi
mov esi, dword [edx + 4]
mov dword [eax + 4], esi
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
call fcn.00434c30
add esp, 4
jmp case.0x422947.13
mov edx, dword [esi + 0x70]
mov ecx, dword [esi + 0x78]
dec edx
mov eax, edx
mov dword [esi + 0x70], edx
add esi, 0x64
lea eax, [eax + eax*2]
push esi
mov edx, dword [ecx + eax*8]
lea edi, [ecx + eax*8]
mov dword [ebx + 0x20], edx
mov eax, dword [edi + 4]
mov dword [ebx + 0x24], eax
mov ecx, dword [edi + 8]
mov dword [esi + 0x1d8], ecx
call fcn.00434d60
add esp, 4
add edi, 0xc
mov edx, dword [edi]
mov dword [esi], edx
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov ecx, dword [edi + 8]
mov dword [esi + 8], ecx
jmp case.0x422947.13
mov eax, dword [ebp + 4]
mov ebx, dword [esi + 0x58]
mov edx, dword [esp + 0x10]
shl eax, 6
add eax, ebx
push edx
push eax
call fcn.00410900
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
sub ecx, 0x40
add esp, 8
mov dword [esp + 0x10], ecx
mov eax, dword [ebp + 8]
test eax, eax
jne case.0x422947.13
mov ebp, dword [ebp + 4]
mov edi, dword [esi + 0x58]
mov eax, dword [esp + 0x10]
push 0x100
shl ebp, 6
add ebp, edi
add eax, 0x40
push ebp
push eax
mov dword [esp + 0x1c], eax
call fcn.00410880
add esp, 0xc
jmp case.0x422947.13
mov ebp, dword [ebp + 4]
mov edx, dword [esi + 0x58]
shl ebp, 6
add ebp, edx
push ebp
call fcn.00410770
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00410770
mov eax, dword [esp + 0x18]
mov edx, dword [ebp + 4]
add esp, 8
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp edx, eax
jg case.0x422947.13
jl 0x425ba4
mov edx, dword [ebp]
cmp edx, ecx
jae case.0x422947.13
mov dword [ebp], ecx
mov dword [ebp + 4], eax
jmp case.0x422947.13
mov ecx, dword [ebp + 8]
mov edi, dword [esi + 0x58]
mov eax, dword [ebp + 4]
shl ecx, 6
add ecx, edi
cdq
mov esi, dword [ecx]
add esi, eax
mov dword [ecx], esi
mov eax, dword [ecx + 4]
adc eax, edx
mov dword [ecx + 4], eax
jmp case.0x422947.13
mov eax, dword [ebp + 4]
mov edx, dword [esi + 0x58]
shl eax, 6
add eax, edx
mov ecx, dword [eax + 4]
test ecx, ecx
jl case.0x422947.13
jg 0x425bf2
cmp dword [eax], 0
jbe case.0x422947.13
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov eax, dword [ebp + 4]
mov edx, dword [esi + 0x58]
shl eax, 6
add eax, edx
mov ecx, dword [eax + 4]
test ecx, ecx
jg case.0x422947.13
jl 0x425c20
cmp dword [eax], 0
jae case.0x422947.13
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov eax, dword [ebp + 4]
mov edi, dword [esi + 0x58]
shl eax, 6
add eax, edi
mov ecx, dword [eax]
mov edx, dword [eax + 4]
or ecx, edx
jne case.0x422947.13
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov edx, dword [ebp + 4]
mov edi, dword [esi + 0x58]
shl edx, 6
add edx, edi
push edx
call fcn.004107f0
add esp, 4
jmp case.0x422947.13
mov eax, dword [ebp + 4]
cdq
push edx
mov edx, dword [esi + 0x58]
push eax
mov eax, dword [ebp + 8]
shl eax, 6
add eax, edx
push eax
call fcn.00410820
add esp, 0xc
jmp case.0x422947.13
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
mov esi, dword [esi + 0x58]
shl ecx, 6
shl edx, 6
add ecx, esi
add edx, esi
push ecx
push edx
call fcn.00410900
add esp, 8
mov dword [esp + 0x14], eax
jmp case.0x422947.13
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x10]
mov eax, ebx
xor ecx, ecx
shl eax, 6
sub edi, eax
mov eax, dword [esi + 0x30]
add edi, 0x40
cmp ebx, ecx
mov dword [esp + 0x38], eax
jle 0x425d00
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x18]
push edi
mov dword [ecx], edi
call fcn.00422690
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add esp, 4
add edx, 4
add edi, 0x40
dec eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
jne 0x425cd6
xor ecx, ecx
mov eax, dword [ebp + 4]
mov edi, dword [esi + 0x58]
mov edx, dword [ebp + 0xc]
shl eax, 6
add eax, edi
mov dword [esp + 0x188], edx
mov dword [esp + 0x1d0], eax
mov edi, 1
mov edx, dword [eax + 0x14]
inc edx
mov dword [eax + 0x14], edx
mov eax, dword [esp + 0x188]
mov word [esp + 0x1a8], di
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1ac], ecx
mov byte [esp + 0x1d4], 0
mov dword [esp + 0x1d8], ecx
mov cl, byte [eax + 3]
test cl, cl
je 0x425d65
mov ecx, dword [ebp - 8]
mov dword [esp + 0x1d8], ecx
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x188]
push edx
push ebx
push ecx
call dword [eax + 0x14]
lea edx, [esp + 0x1c]
push ebx
push edx
call fcn.00426960
mov al, byte [esp + 0x1e8]
add esp, 0x14
test al, al
je 0x425db5
lea eax, [esp + 0x190]
push 0
push eax
call fcn.0040e940
add esp, 4
add esi, 0x230
push eax
push esi
call fcn.0040dad0
add esp, 0xc
mov dword [esp + 0x14], edi
lea ecx, [esp + 0x190]
push ecx
call fcn.004105c0
add esp, 4
jmp case.0x422947.13
mov edi, dword [ebp + 4]
mov eax, dword [esi + 0x58]
mov edx, dword [ebp + 0xc]
shl edi, 6
add edi, eax
push edx
push edi
call fcn.00410530
add esp, 8
cmp eax, 1
mov dword [esp + 0x14], eax
jne case.0x422947.13
push 0
push edi
call fcn.0040e940
add esp, 4
add esi, 0x230
push eax
push esi
call fcn.0040dad0
add esp, 0xc
jmp case.0x422947.13
push ebx
call fcn.0040e3f0
add esp, 4
test eax, eax
jne 0x42666d
lea eax, [esi + 0x230]
push ebx
push eax
call fcn.00436f90
push ebx
mov dword [esp + 0x20], eax
call fcn.0040e3b0
add esp, 0xc
test eax, eax
jne 0x42666d
jmp case.0x422947.13
mov eax, dword [ebp + 4]
test eax, eax
jne 0x425e5c
push ebx
call fcn.0041f120
add esp, 4
jmp case.0x422947.13
mov byte [esi + 0x238], 1
jmp case.0x422947.13
mov eax, dword [ebp + 4]
test eax, eax
setl cl
test cl, cl
mov byte [esp + 0xc8], cl
je 0x425e82
or ecx, 0xffffffff
sub ecx, eax
mov eax, ecx
mov edx, dword [esp + 0xc8]
mov ecx, dword [ebp + 8]
push edx
lea edx, [eax + eax*2]
mov eax, dword [ebx + 4]
push ecx
mov ecx, dword [eax + edx*8 + 4]
push ecx
call fcn.004179e0
add esp, 0xc
cmp eax, 6
mov dword [esp + 0x14], eax
jne case.0x422947.13
mov edx, dword [ebp + 0xc]
push 0
push edx
add esi, 0x230
push str.database_table_is_locked:
push esi
call fcn.0040dad0
add esp, 0x10
jmp case.0x422947.13
mov eax, dword [ebp + 0xc]
push eax
push ebx
call fcn.004184a0
add esp, 8
mov dword [esp + 0x14], eax
jmp case.0x422947.13
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 4]
add esi, 0x230
push esi
push ecx
push edx
push ebx
call fcn.004180e0
add esp, 0x10
mov dword [esp + 0x14], eax
jmp case.0x422947.13
mov byte [esi + 0x23a], 2
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
push eax
push ecx
push ebx
call fcn.00418300
add esp, 0xc
mov dword [esp + 0x14], eax
mov byte [esi + 0x23a], 0
jmp case.0x422947.13
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x24], 0
push ebx
mov edx, dword [edi]
mov dword [esp + 0x20], edx
call fcn.0040e3f0
add esp, 4
test eax, eax
jne 0x42666d
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x24]
push eax
push edi
call dword [ecx + 0x18]
push ebx
mov dword [esp + 0x20], eax
call fcn.0040e3b0
add esp, 0xc
test eax, eax
jne 0x42666d
mov eax, dword [esp + 0x14]
test eax, eax
jne case.0x422947.13
mov edx, dword [esp + 0x24]
push 0xffffffffffffffff
mov dword [edx], edi
mov eax, dword [ebp + 4]
push eax
push esi
call fcn.004269a0
add esp, 0xc
test eax, eax
je 0x425fac
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x60], ecx
mov edx, dword [esp + 0x24]
mov ecx, dword [edx]
mov edx, dword [ecx]
mov dword [eax + 0x64], edx
jmp case.0x422947.13
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push eax
call dword [ecx + 0x1c]
add esp, 4
jmp case.0x422947.13
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x4c], eax
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
mov eax, dword [edx]
mov edx, dword [ecx - 0x40]
mov dword [esp + 0x40], eax
mov dword [esp + 0x18], edx
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x4260c0
mov edi, dword [esi + 0x30]
mov eax, edx
test eax, eax
mov dword [esp + 0x38], edi
jle 0x42602e
mov ebx, eax
xor esi, esi
shl ebx, 6
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x10]
mov eax, esi
sub eax, ebx
lea eax, [eax + ecx - 0x40]
push eax
mov dword [edi], eax
call fcn.00422690
mov eax, dword [esp + 0x20]
add esp, 4
add esi, 0x40
add edi, 4
dec eax
mov dword [esp + 0x1c], eax
jne 0x426006
mov edx, dword [esp + 0x48]
push edx
call fcn.0040e3f0
mov esi, dword [esp + 0x2e0]
add esp, 4
test eax, eax
jne 0x42666d
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x14]
mov byte [esi + 0x23a], 1
mov edx, dword [ebp + 0xc]
push ecx
mov ecx, dword [eax]
push edx
mov edx, dword [edi + 0x60]
push ecx
push edx
call dword [ebx + 0x20]
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
mov byte [esi + 0x23a], 0
jne 0x426098
mov eax, dword [edi + 0x60]
push eax
call dword [ebx + 0x28]
add esp, 4
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x48]
push ecx
call fcn.0040e3b0
add esp, 4
test eax, eax
jne 0x42666d
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x4260c0
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
add edx, 2
push edx
push eax
jmp 0x4263dc
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x3c]
mov edi, dword [edx + ecx*4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax]
mov ebp, dword [ecx]
mov eax, dword [ebp + 0x30]
test eax, eax
jne 0x4260f5
push 0
push str.Unsupported_module_operation:_xRowid
jmp 0x42624b
push ebx
call fcn.0040e3f0
add esp, 4
test eax, eax
jne 0x42666d
mov eax, dword [edi + 0x60]
lea edx, [esp + 0xf8]
push edx
push eax
call dword [ebp + 0x30]
push ebx
mov dword [esp + 0x20], eax
call fcn.0040e3b0
add esp, 0xc
test eax, eax
jne 0x42666d
mov eax, dword [esp + 0x10]
add eax, 0x40
mov dword [esp + 0x10], eax
mov word [eax + 0x18], 4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xf8]
mov dword [edx], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xfc]
mov dword [ecx + 4], eax
jmp case.0x422947.13
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x38], eax
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [esp + 0x4c], eax
mov ecx, dword [eax + 0x2c]
test ecx, ecx
jne 0x426186
push 0
push str.Unsupported_module_operation:_xColumn
jmp 0x42624b
mov ecx, 0x16
xor eax, eax
lea edi, [esp + 0x240]
push ebx
rep stosd dword es:[edi], eax
mov word [esp + 0x264], 1
call fcn.0040e3f0
add esp, 4
test eax, eax
jne 0x42666d
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x240]
push eax
mov eax, dword [edx + 0x60]
push ecx
mov ecx, dword [esp + 0x54]
push eax
call dword [ecx + 0x2c]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x20], eax
and edx, 0xff
lea eax, [esp + 0x254]
push edx
push eax
call fcn.004102e0
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x25c]
add eax, 0x40
push ecx
mov dword [esp + 0x28], eax
mov word [eax + 0x18], 0
mov edx, dword [esp + 0x28]
push edx
call fcn.00410900
push ebx
call fcn.0040e3b0
add esp, 0x20
test eax, eax
jne 0x42666d
jmp case.0x422947.13
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x3c]
mov dword [esp + 0x40], 0
mov edi, dword [ecx + eax*4]
mov edx, dword [edi + 0x60]
mov eax, dword [edx]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov ecx, dword [eax + 0x24]
test ecx, ecx
jne 0x426267
push 0
push str.Unsupported_module_operation:_xNext
add esi, 0x230
push esi
call fcn.0040dad0
add esp, 0xc
mov dword [esp + 0x14], 1
jmp case.0x422947.13
push ebx
call fcn.0040e3f0
add esp, 4
test eax, eax
jne 0x42666d
mov edx, dword [esp + 0x1c]
mov byte [esi + 0x23a], 1
mov ecx, dword [edi + 0x60]
push ecx
call dword [edx + 0x24]
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov byte [esi + 0x23a], 0
jne 0x4262ae
mov eax, dword [edi + 0x60]
mov ecx, dword [esp + 0x1c]
push eax
call dword [ecx + 0x28]
add esp, 4
mov dword [esp + 0x40], eax
push ebx
call fcn.0040e3b0
add esp, 4
test eax, eax
jne 0x42666d
mov eax, dword [esp + 0x40]
test eax, eax
jne case.0x422947.13
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x422947.13
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [esp + 0x38], eax
mov dword [esp + 0x18], edx
mov eax, dword [eax]
mov dword [esp + 0x58], eax
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x426316
push 0
add esi, 0x230
push str.read_only_table
push esi
call fcn.0040dad0
add esp, 0xc
mov dword [esp + 0x14], 1
jmp 0x4263d2
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov ecx, dword [esi + 0x30]
mov edx, eax
shl edx, 6
sub edi, edx
mov dword [esp + 0x4c], ecx
add edi, 0x40
test eax, eax
jle 0x42635f
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x40], eax
push edi
call fcn.00422690
mov eax, dword [esp + 0x20]
add esp, 4
mov dword [eax], edi
add eax, 4
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x40]
add edi, 0x40
dec eax
mov dword [esp + 0x40], eax
jne 0x42633b
push ebx
call fcn.0040e3f0
add esp, 4
test eax, eax
jne 0x42666d
mov edi, dword [esp + 0x38]
push edi
call fcn.00417ad0
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x10c]
push eax
mov eax, dword [esp + 0x60]
push ecx
push edx
push edi
call dword [eax + 0x34]
push edi
mov dword [esp + 0x2c], eax
call fcn.00417ae0
push ebx
call fcn.0040e3b0
add esp, 0x1c
test eax, eax
jne 0x42666d
mov eax, dword [ebp + 4]
test eax, eax
je 0x4263d2
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4263d2
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x10c]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], edx
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.00426960
add esp, 8
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
inc ecx
test edi, edi
mov dword [esp + 0x20], ecx
je 0x422895
mov esi, dword [esp + 0x2dc]
mov dword [esi + 0x80], edi
mov edi, 1
jmp 0x4266bb
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x2c], edx
mov eax, dword [ebp + 4]
mov dword [esi + 0x80], eax
mov dword [esi + 0x7c], ecx
mov edx, dword [ebp + 8]
mov dword [esi + 0x88], edx
mov ebp, dword [ebp + 0xc]
test ebp, ebp
je 0x426449
push 0
lea eax, [esi + 0x230]
push ebp
push eax
call fcn.0040dad0
add esp, 0xc
push esi
call fcn.0041de50
add esp, 4
cmp eax, 5
jne 0x426468
mov dword [esi + 0x80], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c8
ret
mov eax, dword [esi + 0x80]
pop edi
neg eax
sbb eax, eax
pop esi
and al, 0x9c
pop ebp
add eax, 0x65
pop ebx
add esp, 0x2c8
ret
mov ecx, dword [ebp + 4]
mov eax, dword [esp + 0x10]
mov edi, dword [esi + 0x28]
mov ebx, eax
shl ecx, 6
sub ebx, ecx
cmp edi, ebx
jae 0x4264c0
test byte [edi + 0x19], 1
je 0x4264b5
push edi
call fcn.00410380
add esp, 4
test eax, eax
jne 0x426601
mov esi, dword [esp + 0x2dc]
add edi, 0x40
cmp edi, ebx
jb 0x426497
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x60]
add edx, 2
or edx, 1
cmp edi, eax
mov dword [esi + 0x60], edx
ja 0x4264ea
push edi
call fcn.00410410
push edi
call fcn.00422690
mov eax, dword [esp + 0x18]
add edi, 0x40
add esp, 8
cmp edi, eax
jbe 0x4264d0
mov ecx, dword [esi + 0x5c]
mov edx, dword [esp + 0x20]
inc ecx
mov byte [esi + 0x234], 1
mov dword [esi + 0x5c], ecx
mov ecx, dword [ebp + 4]
inc edx
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x7c], edx
mov dword [esi + 0x2c], eax
pop edi
pop esi
pop ebp
mov eax, 0x64
pop ebx
add esp, 0x2c8
ret
mov edi, 0x14
jmp 0x426672
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x42654a
push ebx
call fcn.0040ca10
add esp, 4
mov byte [ebx + 0x14], 1
pop edi
pop esi
pop ebp
mov eax, 0x65
pop ebx
add esp, 0x2c8
ret
push esi
mov byte [ebx + 0x14], al
call fcn.0041de50
add esp, 4
cmp eax, 5
jne 0x42653a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x2c], eax
mov al, byte [esp + 0x63]
mov dl, 1
mov dword [esi + 0x7c], ecx
sub dl, al
pop edi
mov byte [ebx + 0x14], dl
mov dword [esi + 0x80], 5
pop esi
pop ebp
mov eax, 5
pop ebx
add esp, 0x2c8
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x7c], eax
mov dword [esi + 0x80], 5
mov dword [esi + 0x2c], ecx
pop edi
pop esi
pop ebp
mov eax, 5
pop ebx
add esp, 0x2c8
ret
mov edx, dword [esp + 0x20]
mov dword [esi + 0x80], 5
mov dword [esi + 0x7c], edx
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x10]
xor eax, eax
test ebx, ebx
setle al
inc eax
pop edi
shl eax, 6
add eax, ecx
mov dword [esi + 0x2c], eax
pop esi
pop ebp
mov eax, 5
pop ebx
add esp, 0x2c8
ret
mov edi, 0xb
jmp 0x426672
mov edi, 0xd
jmp 0x426672
call fcn.0040e8a0
mov edx, dword [esp + 0x2dc]
push 0
add edx, 0x230
push str.out_of_memory
push edx
call fcn.0040dad0
mov esi, dword [esp + 0x2e8]
mov dword [esp + 0x20], 7
mov edi, dword [esp + 0x20]
add esp, 0xc
mov dword [esi + 0x80], edi
mov edi, 1
jmp 0x4266bb
xor ebp, ebp
mov edi, dword [ebx + 0x30]
push ebp
sub edi, 0xf03b7906
neg edi
sbb edi, edi
and edi, 0xc
add edi, 9
push edi
mov dword [esi + 0x80], edi
call fcn.0040cab0
add esp, 4
lea ecx, [esi + 0x230]
push eax
push ecx
jmp 0x42669d
mov edi, 0x15
mov eax, dword [esi + 0x230]
lea ebx, [esi + 0x230]
test eax, eax
jne 0x4266a5
call fcn.0040e880
test eax, eax
je 0x426690
mov edi, 7
push 0
push edi
call fcn.0040cab0
add esp, 4
push eax
push ebx
call fcn.0040dad0
add esp, 0xc
test edi, edi
je 0x4266b6
mov dword [esi + 0x80], edi
mov edi, 1
jmp 0x4266bb
mov edi, 0x65
push esi
call fcn.0041de50
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [esi + 0x2c], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c8
ret