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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x274
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [esi]
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x14]
mov dl, byte [ecx + 0x59]
lea eax, [esi + 0x114]
xor ebx, ebx
push eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edi
mov byte [esp + 0x70], dl
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x168], eax
call fcn.0040bf50
add esp, 4
cmp dword [esi + 0x74], 7
je 0x41a281
mov dword [esi + 0x74], ebx
mov dword [esi + 0xf8], ebx
cmp dword [edi + 0xd8], ebx
mov dword [edi + 0x144], ebx
jne 0x41d976
mov eax, dword [esi + 0x70]
mov dword [esp + 0x4c], eax
mov ecx, edi
jmp 0x419e24
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 0x1e], 0
jne 0x41a281
mov eax, dword [esp + 0x4c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea edi, [eax + edx*4]
mov eax, dword [ecx + 0xe8]
test eax, eax
mov dword [esp + 0x60], edi
je 0x419e7b
mov edx, dword [esp + 0xb0]
cmp dword [ecx + 0xf0], edx
jne 0x419e73
mov ecx, dword [ecx + 0xec]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x41d77d
mov dword [esp + 0xb0], eax
add dword [esp + 0xb0], 1
movzx edx, byte [edi]
mov cl, byte [edx + 0x4a2ad8]
test cl, 2
je 0x419eae
mov eax, dword [edi + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x4c]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov esi, ebx
mov dword [esp + 0x58], ebx
call fcn.00414ba0
mov esi, dword [ebp + 8]
mov word [ebx + 0x1c], 1
jmp 0x419eeb
test cl, 4
je 0x419f29
test cl, 8
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x4c]
lea edx, [edx + edx*4]
lea edx, [eax + edx*8]
mov dword [esp + 0x44], edx
je 0x419f11
test cl, 0x20
mov edx, dword [edi + 8]
lea edx, [edx + edx*4]
lea edx, [eax + edx*8]
mov dword [esp + 0x68], edx
je 0x419ee7
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov dword [esp + 0x58], edx
mov ebx, dword [esp + 0x58]
mov al, byte [edi]
movzx edx, al
lea ecx, [edx - 1]
cmp ecx, 0x8d
mov dword [esp + 0x50], edx
ja case.0x419f0a.12
movzx ecx, byte [ecx + 0x41db34]
jmp dword [ecx*4 + 0x41d99c]
test cl, 0x10
mov ebx, dword [esp + 0x58]
je 0x419eeb
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov dword [esp + 0x74], edx
jmp 0x419eeb
test cl, 8
je 0x419f40
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x4c]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [esp + 0x68], edx
jmp 0x419ee7
test cl, 0x10
mov ebx, dword [esp + 0x58]
je 0x419eeb
mov eax, dword [edi + 0xc]
mov ecx, dword [esi + 0x4c]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [esp + 0x74], edx
jmp 0x419eeb
mov edx, dword [esp + 0x40]
cmp dword [edx + 0xd8], 0
jne 0x41d976
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
mov eax, dword [esp + 0x4c]
mov ecx, dword [esi + 0xe8]
add eax, 1
mov dword [esi + ecx*4 + 0x84], eax
add dword [esi + 0xe8], 1
mov edx, dword [edi + 8]
sub edx, 1
mov dword [esp + 0x4c], edx
jmp case.0x419f0a.12
add dword [esi + 0xe8], 0xffffffff
mov eax, dword [esi + 0xe8]
mov esi, dword [esi + eax*4 + 0x84]
sub esi, 1
mov dword [esp + 0x4c], esi
jmp case.0x419f0a.12
mov word [ebx + 0x1c], 4
mov eax, dword [edi + 4]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x419f0a.12
mov word [ebx + 0x1c], 4
mov edi, dword [edi + 0x10]
mov eax, dword [edi]
mov dword [ebx], eax
mov ecx, dword [edi + 4]
mov dword [ebx + 4], ecx
jmp case.0x419f0a.12
mov word [ebx + 0x1c], 8
mov edx, dword [edi + 0x10]
fld qword [edx]
fstp qword [ebx + 8]
jmp case.0x419f0a.12
mov ecx, dword [edi + 0x10]
mov eax, ecx
mov byte [edi], 0x1b
mov dword [esp + 0x50], ecx
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x41a013
sub eax, esi
cmp byte [esp + 0x6c], 1
mov dword [edi + 4], eax
je 0x41a112
test ecx, ecx
jne 0x41a046
mov ax, word [ebx + 0x1c]
and ax, 0xffe1
or ax, 1
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1e], 5
jmp 0x41a081
xor esi, esi
cmp byte [ecx], 0
je 0x41a059
lea ecx, [ecx]
add esi, 1
cmp byte [esi + ecx], 0
jne 0x41a050
push ebx
call fcn.00414be0
mov ecx, dword [esp + 0x54]
add esp, 4
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x18], esi
mov word [ebx + 0x1c], 0xa2
mov byte [ebx + 0x1f], 1
mov byte [ebx + 0x1e], 3
movzx ecx, byte [esp + 0x6c]
mov eax, ebx
call fcn.00414800
test eax, eax
jne 0x41a281
mov eax, dword [esp + 0x58]
call fcn.00414930
test eax, eax
jne 0x41a281
mov esi, dword [esp + 0x58]
mov dx, word [esi + 0x1c]
and dx, 0xffbf
or dx, 0x80
or bl, 0xff
mov dword [esi + 0x24], eax
mov word [esi + 0x1c], dx
cmp byte [edi + 1], bl
jne 0x41a0d3
mov eax, dword [edi + 0x10]
push eax
call fcn.004032c0
add esp, 4
mov edx, dword [esp + 0x40]
mov byte [edi + 1], bl
mov ecx, dword [esi + 0x14]
mov dword [edi + 0x10], ecx
mov esi, dword [esi + 0x18]
mov dword [edi + 4], esi
cmp esi, dword [edx + 0x50]
jle case.0x419f0a.12
mov edx, dword [ebp + 8]
push 0
add edx, 0xf4
push str.string_or_blob_too_big
push edx
call fcn.00403800
mov dword [esp + 0x48], 0x12
jmp 0x41a2a7
mov ecx, dword [esp + 0x40]
cmp eax, dword [ecx + 0x50]
jg 0x41a0ef
mov cl, byte [esp + 0x6c]
mov word [ebx + 0x1c], 0xa2
mov edx, dword [edi + 0x10]
mov dword [ebx + 0x14], edx
mov eax, dword [edi + 4]
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], cl
jmp case.0x419f0a.12
mov esi, dword [edi + 0x10]
test esi, esi
mov edi, dword [edi + 4]
jne 0x41a164
mov dx, word [ebx + 0x1c]
and dx, 0xffe1
or dx, 1
mov word [ebx + 0x1c], dx
mov dl, byte [esp + 0x6c]
mov byte [ebx + 0x1e], 5
mov byte [ebx + 0x1f], dl
jmp case.0x419f0a.12
test edi, edi
mov dword [esp + 0x48], 0x10
jge 0x41a194
mov al, byte [esi]
xor edi, edi
or al, byte [esi + 1]
je 0x41a18c
lea esp, [esp]
mov cl, byte [esi + edi + 3]
add edi, 2
or cl, byte [edi + esi]
jne 0x41a180
mov dword [esp + 0x48], 0x30
push ebx
call fcn.00414be0
mov eax, dword [esp + 0x4c]
mov dl, byte [esp + 0x70]
add esp, 4
or eax, 0x80
mov byte [ebx + 0x1f], 1
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x18], edi
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1e], 4
mov byte [ebx + 0x1f], dl
jmp case.0x419f0a.12
mov edi, dword [edi + 4]
mov ecx, dword [esi + 0x38]
sub edi, 1
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00414f00
test eax, eax
jne 0x41a0ef
mov ebx, dword [esp + 0x58]
push 0x80
push esi
call fcn.00414f30
add esp, 8
jmp case.0x419f0a.12
mov ecx, dword [edi + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4c]
mov edi, dword [edi + 8]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
lea edx, [edi + edi*4]
mov esi, dword [eax + edx*8 + 0x24]
lea eax, [eax + edx*8]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x58], eax
mov dword [eax + 0x24], 0
call fcn.00415030
mov dword [ebx + 0x24], esi
jmp case.0x419f0a.12
mov ecx, dword [edi + 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x4c]
mov edi, dword [edi + 8]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
lea edx, [edi + edi*4]
lea ebx, [eax + edx*8]
push pe_nt_image_headers32
push ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x60], ebx
call fcn.00414f30
add esp, 8
test word [ebx + 0x1c], 0x100
je case.0x419f0a.12
mov eax, ebx
call fcn.00414930
test eax, eax
je case.0x419f0a.12
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x40]
push 0
add ecx, 0xf4
push str.out_of_memory
push ecx
mov byte [eax + 0x1e], 1
call fcn.00403800
mov dword [esp + 0x48], 7
mov esi, dword [ebp + 8]
add esp, 0xc
mov edx, dword [esp + 0x3c]
push esi
mov dword [esi + 0x74], edx
mov edi, 1
call fcn.00417220
mov ebx, dword [esp + 0x168]
add esp, 4
call fcn.0040bfc0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x4c]
mov edi, dword [edi + 8]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
lea edx, [edi + edi*4]
lea ebx, [eax + edx*8]
push pe_nt_image_headers32
push ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x60], ebx
call fcn.00414f30
add esp, 8
jmp case.0x419f0a.12
mov eax, dword [esp + 0x44]
movzx eax, word [eax + 0x1c]
mov ecx, dword [esp + 0x68]
mov dl, byte [ecx + 0x1c]
or dl, al
test dl, 1
je 0x41a339
mov ax, word [ebx + 0x1c]
and ax, 0xffe1
or ax, 1
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1e], 5
jmp case.0x419f0a.12
test eax, 0x800
je 0x41a349
mov eax, dword [esp + 0x44]
call fcn.00414990
mov ecx, dword [esp + 0x44]
mov bl, 0x12
test byte [ecx + 0x1c], bl
jne 0x41a36c
movzx edx, byte [esp + 0x6c]
push edx
mov esi, ecx
call fcn.00414a40
add esp, 4
test eax, eax
jne 0x41a281
mov esi, dword [esp + 0x68]
test word [esi + 0x1c], 0x800
je 0x41a37f
mov eax, esi
call fcn.00414990
test byte [esi + 0x1c], bl
jne 0x41a39e
movzx eax, byte [esp + 0x6c]
push eax
call fcn.00414a40
add esp, 4
test eax, eax
jne 0x41a281
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 0x18]
add eax, dword [esi + 0x18]
cdq
mov ecx, edx
mov edx, dword [esp + 0x40]
mov edi, eax
mov eax, dword [edx + 0x50]
cdq
cmp ecx, edx
jg 0x41a0ef
jl 0x41a3c7
cmp edi, eax
ja 0x41a0ef
mov esi, dword [esp + 0x58]
mov ax, word [esi + 0x1c]
and ax, 0xffe2
xor ecx, ecx
or ax, 2
cmp esi, dword [esp + 0x68]
lea edx, [edi + 2]
sete cl
mov word [esi + 0x1c], ax
push ecx
push edx
call fcn.00414820
add esp, 8
test eax, eax
jne 0x41a281
mov ebx, dword [esp + 0x68]
cmp esi, ebx
je 0x41a415
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x14]
mov edx, dword [esi + 0x14]
push eax
push ecx
push edx
call fcn.0046ff50
add esp, 0xc
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [ebx + 0x18]
add eax, dword [esi + 0x14]
push ecx
push edx
push eax
call fcn.0046ff50
mov ecx, dword [esi + 0x14]
mov al, byte [esp + 0x78]
mov byte [edi + ecx], 0
mov edx, dword [esi + 0x14]
mov byte [edi + edx + 1], 0
add esp, 0xc
or word [esi + 0x1c], 0x20
mov dword [esi + 0x18], edi
mov byte [esi + 0x1f], al
jmp case.0x419f0a.12
mov ecx, dword [esp + 0x68]
movzx edx, word [ecx + 0x1c]
mov esi, dword [esp + 0x44]
movzx eax, word [esi + 0x1c]
movzx ecx, ax
movzx edx, dx
or ecx, edx
test cl, 1
mov dword [esp + 0x48], ecx
jne 0x41a619
mov edx, dword [esp + 0x68]
movzx ecx, word [edx + 0x1c]
and al, cl
test al, 4
je 0x41a538
mov eax, dword [edx]
mov edi, dword [edx + 4]
mov edx, dword [esp + 0x50]
mov ecx, dword [esi]
mov esi, dword [esi + 4]
add edx, 0xffffffb2
cmp edx, 3
ja case.default.0x41a4a0
jmp dword [edx*4 + 0x41dbc4]
add eax, ecx
adc edi, esi
mov dword [ebx + 4], edi
jmp 0x41a873
sub eax, ecx
sbb edi, esi
mov dword [ebx + 4], edi
jmp 0x41a873
push esi
push ecx
push edi
push eax
call fcn.0046f610
mov edi, edx
mov dword [ebx + 4], edi
jmp 0x41a873
mov edx, ecx
or edx, esi
je 0x41a619
mov edx, ecx
and edx, esi
cmp edx, 0xffffffff
jne 0x41a4f8
test eax, eax
jne 0x41a4f8
cmp edi, 0x80000000
jne 0x41a4f8
mov ecx, 1
xor esi, esi
push esi
push ecx
push edi
push eax
call fcn.0046f650
mov edi, edx
mov dword [ebx + 4], edi
jmp 0x41a873
mov edx, ecx
or edx, esi
je 0x41a619
mov edx, ecx
and edx, esi
cmp edx, 0xffffffff
jne 0x41a525
mov ecx, 1
xor esi, esi
push esi
push ecx
push edi
push eax
call fcn.00477960
mov edi, edx
mov dword [ebx + 4], edi
jmp 0x41a873
mov esi, dword [esp + 0x44]
call fcn.00414d30
fstp qword [esp + 0x50]
mov esi, dword [esp + 0x68]
call fcn.00414d30
movzx eax, byte [edi]
add eax, 0xffffffb2
cmp eax, 3
ja case.default.0x41a559
jmp dword [eax*4 + 0x41dbd4]
fadd qword [esp + 0x50]
jmp 0x41a5d1
fsub qword [esp + 0x50]
jmp 0x41a5d1
fmul qword [esp + 0x50]
jmp 0x41a5d1
fldz
fld qword [esp + 0x50]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x41a615
fdivp st(1)
jmp 0x41a5d1
fld qword [esp + 0x50]
call fcn.0046f596
mov esi, eax
mov edi, edx
call fcn.0046f596
mov ecx, esi
or ecx, edi
je 0x41a619
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x41a5b3
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.00477960
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], edx
fild qword [esp + 0x1a8]
sub esp, 8
fst qword [esp + 0x58]
fstp qword [esp]
call fcn.00405390
add esp, 8
test eax, eax
jne 0x41a619
mov ax, word [ebx + 0x1c]
fld qword [esp + 0x50]
and ax, 0xffe8
fstp qword [ebx + 8]
or ax, 8
test byte [esp + 0x48], 8
mov word [ebx + 0x1c], ax
jne case.0x419f0a.12
mov esi, ebx
call fcn.00414db0
jmp case.0x419f0a.12
fstp st(0)
fstp st(0)
mov dx, word [ebx + 0x1c]
and dx, 0xffe1
or dx, 1
mov word [ebx + 0x1c], dx
mov byte [ebx + 0x1e], 5
jmp case.0x419f0a.12
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x24]
movzx ebx, byte [edi + 3]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x48], ecx
lea ecx, [eax + edx*8]
xor edx, edx
test ebx, ebx
mov dword [esp + 0x64], ebx
jle 0x41a672
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x64]
lea esp, [esp]
mov dword [ebx + edx*4], ecx
call fcn.00419aa0
add edx, 1
add ecx, 0x28
cmp edx, esi
jl 0x41a660
cmp byte [edi + 1], 0xfb
jne 0x41a68d
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x1d0], ecx
xor ecx, ecx
mov dword [esp + 0x1d4], ecx
jmp 0x41a6a2
mov eax, dword [edi + 0x10]
mov dword [esp + 0x1d4], eax
mov edx, dword [eax]
mov dword [esp + 0x1d0], edx
xor ecx, ecx
mov eax, dword [edi + 0xc]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x4c]
mov esi, dword [esp + 0x40]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
lea eax, [esp + 0x1d8]
mov dword [esp + 0x58], ebx
mov word [esp + 0x1f4], 1
mov dword [esp + 0x1e8], esi
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1fc], ecx
call fcn.00415030
mov eax, dword [esp + 0x1f4]
and eax, 0xffe1
or eax, 1
mov word [esp + 0x1f4], ax
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x204], 0
cmp byte [eax + 3], 0
je 0x41a71d
mov ecx, dword [edi - 4]
mov dword [esp + 0x208], ecx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x64]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [esp + 0x1d8]
push edx
call eax
add esp, 0xc
cmp byte [esi + 0x1e], 0
jne 0x41d867
mov ebx, dword [esp + 0x1d4]
test ebx, ebx
je 0x41a766
mov ecx, dword [edi + 4]
push ecx
call fcn.004175f0
mov edx, dword [esp + 0x1d8]
add esp, 4
mov dword [edi + 0x10], edx
mov byte [edi + 1], 0xf9
cmp dword [esp + 0x204], 0
je 0x41a7a1
push 0
push ecx
mov bl, 1
lea eax, [esp + 0x1e0]
call fcn.004155a0
add esp, 4
push eax
mov eax, dword [ebp + 8]
add eax, 0xf4
push eax
call fcn.00403800
mov ecx, dword [esp + 0x210]
add esp, 0xc
mov dword [esp + 0x3c], ecx
movzx ecx, byte [esp + 0x6c]
lea eax, [esp + 0x1d8]
call fcn.00414800
mov esi, dword [esp + 0x58]
lea ebx, [esp + 0x1d8]
mov eax, esi
call fcn.00415030
mov ecx, esi
call fcn.00414f00
test eax, eax
jne 0x41a0ef
jmp case.0x419f0a.12
mov edx, dword [esp + 0x68]
mov al, byte [edx + 0x1c]
mov ecx, dword [esp + 0x44]
or al, byte [ecx + 0x1c]
test al, 1
jne 0x41a619
mov esi, edx
call fcn.00414ca0
mov esi, dword [esp + 0x44]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
call fcn.00414ca0
mov ecx, eax
movzx eax, byte [edi]
sub eax, 0x4a
je 0x41a854
sub eax, 1
je 0x41a840
mov edx, dword [esp + 0xa4]
sub eax, 1
mov eax, dword [esp + 0xa0]
je 0x41a837
call fcn.004824c0
mov ecx, edx
jmp 0x41a870
call fcn.00482420
mov ecx, edx
jmp 0x41a870
mov eax, dword [esp + 0xa0]
or eax, ecx
mov ecx, dword [esp + 0xa4]
or ecx, edx
jmp 0x41a870
and dword [esp + 0xa0], ecx
and dword [esp + 0xa4], edx
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
mov dword [ebx + 4], ecx
mov dword [ebx], eax
mov ax, word [ebx + 0x1c]
and ax, 0xffe4
or ax, 4
mov word [ebx + 0x1c], ax
jmp case.0x419f0a.12
mov esi, dword [esp + 0x44]
mov eax, esi
call fcn.00414de0
mov eax, dword [edi + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x419f0a.12
mov esi, dword [esp + 0x44]
mov eax, esi
call fcn.00419c20
movzx ebx, word [esi + 0x1c]
test bl, 8
je 0x41a8e0
fld qword [esi + 8]
sub esp, 8
fstp qword [esp]
call fcn.00414c40
mov dword [esi], eax
mov dword [esi + 4], edx
fild qword [esi]
add esp, 8
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x44
jp 0x41a8e0
or ebx, 4
mov word [esi + 0x1c], bx
movzx edx, word [esi + 0x1c]
test dl, 0xc
mov dword [esp + 0x48], edx
jne 0x41a8fc
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
test dl, 4
je 0x41a924
cmp dword [edi + 0xc], 0
je 0x41a917
mov eax, 1
xor ecx, ecx
add eax, dword [esi]
adc ecx, dword [esi + 4]
mov ebx, eax
jmp 0x41a984
xor eax, eax
xor ecx, ecx
add eax, dword [esi]
adc ecx, dword [esi + 4]
mov ebx, eax
jmp 0x41a984
fld qword [esi + 8]
call fcn.0046f596
mov ebx, eax
mov ecx, edx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ecx
fild qword [esp + 0xe8]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x41a963
add ebx, 1
adc ecx, 0
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ecx
cmp dword [edi + 0xc], 0
je 0x41a980
fild qword [esp + 0xe8]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x44
jp 0x41a980
add ebx, 1
adc ecx, 0
mov edx, dword [esp + 0x48]
and edx, 0xffe4
or edx, 4
mov dword [esi], ebx
mov dword [esi + 4], ecx
mov word [esi + 0x1c], dx
jmp case.0x419f0a.12
mov esi, dword [esp + 0x44]
mov eax, esi
call fcn.00419c20
movzx ebx, word [esi + 0x1c]
test bl, 8
je 0x41a9d8
fld qword [esi + 8]
sub esp, 8
fstp qword [esp]
call fcn.00414c40
mov dword [esi], eax
mov dword [esi + 4], edx
fild qword [esi]
add esp, 8
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x44
jp 0x41a9d8
or ebx, 4
mov word [esi + 0x1c], bx
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x41a9f7
mov edi, dword [edi + 8]
test edi, edi
je 0x41d87c
add edi, 0xffffffff
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
and eax, 0xffe4
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x419f0a.12
mov ecx, dword [esp + 0x44]
test byte [ecx + 0x1c], 4
je case.0x419f0a.12
mov eax, ecx
call fcn.00414e10
jmp case.0x419f0a.12
mov edx, dword [esp + 0x44]
movzx ecx, word [edx + 0x1c]
test cl, 1
jne case.0x419f0a.12
movzx eax, cl
shr al, 3
and eax, 2
or eax, ecx
test al, 2
mov word [edx + 0x1c], ax
jne 0x41aa5e
test al, 0xc
je 0x41aa5e
movzx edx, byte [esp + 0x6c]
mov esi, dword [esp + 0x44]
push edx
call fcn.00414a40
add esp, 4
mov edx, esi
and word [edx + 0x1c], 0xfff3
movzx eax, word [edx + 0x1c]
test eax, 0x800
mov esi, dword [esp + 0x44]
je 0x41aa89
mov eax, esi
call fcn.00414990
and word [esi + 0x1c], 0xffe3
mov dword [esp + 0x3c], eax
jmp case.0x419f0a.12
and word [esi + 0x1c], 0xffe3
mov dword [esp + 0x3c], 0
jmp case.0x419f0a.12
mov ecx, dword [esp + 0x44]
movzx eax, word [ecx + 0x1c]
test al, 1
jne case.0x419f0a.12
test al, 0x10
jne 0x41aad0
test al, 2
jne 0x41aaca
test al, 0xc
je 0x41aaca
movzx eax, byte [esp + 0x6c]
push eax
mov esi, ecx
call fcn.00414a40
add esp, 4
mov ecx, esi
and word [ecx + 0x1c], 0xfff3
mov dx, word [ecx + 0x1c]
and dx, 0xfff0
or dx, 0x10
mov word [ecx + 0x1c], dx
jmp case.0x419f0a.12
mov eax, dword [esp + 0x44]
test byte [eax + 0x1c], 0xd
jne case.0x419f0a.12
call fcn.00414e30
jmp case.0x419f0a.12
mov ecx, dword [esp + 0x44]
test byte [ecx + 0x1c], 1
jne case.0x419f0a.12
mov eax, ecx
call fcn.00414de0
jmp case.0x419f0a.12
mov edx, dword [esp + 0x44]
test byte [edx + 0x1c], 1
jne case.0x419f0a.12
mov eax, edx
call fcn.00414e10
jmp case.0x419f0a.12
mov eax, dword [esp + 0x74]
mov cl, byte [eax + 0x1c]
mov edx, dword [esp + 0x44]
or cl, byte [edx + 0x1c]
test cl, 1
je 0x41abaf
mov al, byte [edi + 3]
test al, 0x10
je 0x41ac2a
mov ecx, 4
mov word [esp + 0x24c], cx
movzx eax, word [edx + 0x1c]
not eax
and eax, 1
cdq
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x74]
mov word [esp + 0x274], cx
movzx eax, word [eax + 0x1c]
mov dword [esp + 0x234], edx
not eax
lea edx, [esp + 0x230]
and eax, 1
mov dword [esp + 0x44], edx
cdq
lea ecx, [esp + 0x258]
mov dword [esp + 0x258], eax
mov dword [esp + 0x25c], edx
mov dword [esp + 0x74], ecx
mov bl, byte [edi + 3]
and bl, 0x67
je 0x41abdd
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x44]
push edx
mov al, bl
call fcn.00419cd0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
add esp, 4
push eax
mov al, bl
call fcn.00419cd0
add esp, 4
mov ecx, dword [esp + 0x44]
mov ebx, 0x800
test word [ecx + 0x1c], bx
je 0x41abf3
mov eax, ecx
call fcn.00414990
mov edx, dword [esp + 0x74]
test word [edx + 0x1c], bx
je 0x41ac04
mov eax, edx
call fcn.00414990
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x48]
call fcn.00415200
movzx ecx, byte [edi]
add ecx, 0xffffffbd
add esp, 4
cmp ecx, 4
ja case.default.0x41ac23
jmp dword [ecx*4 + 0x41dbe4]
test al, al
jns 0x41ac55
mov edi, dword [edi + 8]
mov eax, dword [esi + 0x4c]
lea edx, [edi + edi*4]
mov cx, word [eax + edx*8 + 0x1c]
lea eax, [eax + edx*8]
and cx, 0xffe1
or cx, 1
mov dword [esp + 0x58], eax
mov word [eax + 0x1c], cx
jmp case.0x419f0a.12
test al, 8
je case.0x419f0a.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x41aca8
xor edx, edx
test eax, eax
setne dl
jmp 0x41aca6
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x41aca8
xor edx, edx
test eax, eax
setle dl
jmp 0x41aca6
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x41aca8
xor edx, edx
test eax, eax
setge dl
mov eax, edx
test byte [edi + 3], 0x80
je 0x41ae12
mov edi, dword [edi + 8]
mov edx, dword [esi + 0x4c]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
mov dx, word [ecx + 0x1c]
and dx, 0xffe4
or dx, 4
mov word [ecx + 0x1c], dx
cdq
mov dword [esp + 0x58], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x419f0a.12
mov eax, dword [esp + 0x44]
test byte [eax + 0x1c], 1
je 0x41acf2
mov dword [esp + 0x60], 2
jmp 0x41ad0f
mov esi, dword [esp + 0x44]
call fcn.00414ca0
or eax, edx
mov dword [esp + 0x60], 1
jne 0x41ad0f
mov dword [esp + 0x60], 0
mov ecx, dword [esp + 0x68]
test byte [ecx + 0x1c], 1
je 0x41ad20
mov eax, 2
jmp 0x41ad36
mov esi, dword [esp + 0x68]
call fcn.00414ca0
or eax, edx
je 0x41ad34
mov eax, 1
jmp 0x41ad36
xor eax, eax
cmp byte [edi], 0x3d
mov ecx, dword [esp + 0x60]
jne 0x41ad4c
lea edx, [eax + ecx*2]
movzx eax, byte [ecx + edx + 0x48f61c]
jmp 0x41ad57
lea eax, [eax + ecx*2]
movzx eax, byte [ecx + eax + 0x48f650]
cmp eax, 2
jne 0x41b80f
mov cx, word [ebx + 0x1c]
and cx, 0xffe1
or cx, 1
mov word [ebx + 0x1c], cx
jmp case.0x419f0a.12
mov eax, dword [esp + 0x44]
test byte [eax + 0x1c], 1
jne case.0x419f0a.12
mov esi, eax
call fcn.00414de0
mov ecx, dword [esi]
or ecx, dword [esi + 4]
jne 0x41ada2
mov eax, 1
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x419f0a.12
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x419f0a.12
mov edx, dword [esp + 0x44]
test byte [edx + 0x1c], 1
jne case.0x419f0a.12
mov esi, edx
mov eax, esi
call fcn.00414de0
mov eax, dword [esi]
mov ecx, dword [esi + 4]
not eax
not ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp case.0x419f0a.12
mov edx, dword [esp + 0x44]
test byte [edx + 0x1c], 1
je 0x41ade5
mov eax, dword [edi + 0xc]
jmp 0x41ae12
mov esi, dword [esp + 0x44]
call fcn.00414d30
fcomp qword [0x498b68]
fnstsw ax
test ah, 0x44
jnp 0x41ae02
mov eax, 1
jmp 0x41ae04
xor eax, eax
cmp byte [edi], 0x49
jne 0x41ae12
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
je case.0x419f0a.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x44]
lea esp, [esp]
test byte [ecx + 0x1c], 1
jne 0x41ae5c
sub eax, 1
add ecx, 0x28
test eax, eax
jg 0x41ae30
mov dword [esp + 0x44], ecx
add dword [esp + 0x4c], 1
cmp dword [esp + 0x3c], 0
mov esi, dword [ebp + 8]
je 0x419e20
jmp 0x41a2ad
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp 0x41ae40
mov edx, dword [esp + 0x44]
test byte [edx + 0x1c], 1
jne case.0x419f0a.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
mov eax, dword [edi + 8]
mov ebx, dword [esi + 0x4c]
mov ecx, dword [edi + 4]
mov dword [esp + 0x70], eax
mov eax, dword [edi + 0xc]
xor edx, edx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov word [esp + 0x114], dx
mov dword [esp + 0x108], edx
mov dword [esp + 0x11c], edx
mov bx, word [eax + 0x1c]
and bx, 0xffe1
or bx, 1
mov word [eax + 0x1c], bx
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x30]
mov ebx, dword [eax + ecx*4]
cmp dword [ebx], edx
mov dword [esp + 0x64], ebx
je 0x41af8f
mov esi, ebx
call fcn.004178a0
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41d934
cmp byte [ebx + 0x1c], al
mov ecx, dword [ebx]
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], ecx
je 0x41af11
mov ecx, dword [ebx + 0x50]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x88], ecx
jmp 0x41afb7
mov edx, dword [ebx + 0x68]
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 0x54]
jne 0x41af3c
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x78]
mov dword [esp + 0x9c], ecx
mov ecx, dword [ebx + 0x50]
mov dword [esp + 0x94], edx
mov dword [esp + 0x88], ecx
jmp 0x41afb7
cmp byte [ebx + 0x22], 0
mov esi, dword [esp + 0x90]
je 0x41af73
lea ebx, [esp + 0x228]
call fcn.0040ee20
mov ebx, dword [esp + 0x64]
mov eax, dword [esp + 0x228]
mov ecx, dword [ebx + 0x50]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x88], ecx
jmp 0x41afb7
lea ebx, [esp + 0x9c]
call fcn.0040eea0
mov ebx, dword [esp + 0x64]
mov ecx, dword [ebx + 0x50]
mov dword [esp + 0x88], ecx
jmp 0x41afb7
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x9c], eax
mov eax, dword [ebx + 0x50]
mov dword [esp + 0x94], ecx
mov dword [ebx + 0x68], edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x9c]
test edx, edx
je case.0x419f0a.12
mov ecx, dword [esp + 0x40]
cmp edx, dword [ecx + 0x50]
ja 0x41a0ef
mov esi, dword [ebx + 0x68]
mov ecx, dword [ebp + 8]
cmp esi, dword [ecx + 0x54]
mov eax, dword [ebx + 0x70]
mov dword [esp + 0x84], eax
jne 0x41aff4
mov edx, dword [ebx + 0x74]
mov dword [esp + 0x48], edx
jmp 0x41b208
mov esi, dword [esp + 0x88]
lea eax, [eax + esi*4]
mov dword [esp + 0x48], eax
mov dword [ebx + 0x74], eax
mov dword [ebx + 0x6c], edx
mov eax, dword [ecx + 0x54]
mov dword [ebx + 0x68], eax
mov eax, dword [esp + 0x94]
test eax, eax
je 0x41b01f
mov dword [esp + 0x3c], eax
jmp 0x41b07d
cmp byte [ebx + 0x22], 0
je 0x41b03f
mov esi, dword [esp + 0x90]
lea ecx, [esp + 0xd8]
push ecx
call fcn.0040f4a0
mov dword [esp + 0x40], eax
jmp 0x41b057
mov eax, dword [esp + 0x90]
lea edx, [esp + 0xd8]
push edx
call fcn.0040f510
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0xdc]
add esp, 4
cmp ecx, dword [esp + 0x9c]
jb 0x41b076
mov dword [esp + 0x94], eax
mov dword [ebx + 0x78], eax
jmp 0x41b07d
mov dword [ebx + 0x78], 0
mov cl, byte [eax]
cmp cl, 0x80
jae 0x41b098
movzx edx, cl
mov dword [esp + 0x98], edx
mov dword [esp + 0x50], 1
jmp 0x41b0b0
mov ecx, dword [esp + 0x3c]
lea esi, [esp + 0x98]
call fcn.00405fa0
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x94], 0
jne 0x41b11a
mov ecx, dword [esp + 0xd8]
cmp ecx, dword [esp + 0x98]
jae 0x41b11a
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x98]
xor eax, eax
mov word [esp + 0x114], ax
mov dword [esp + 0x108], eax
movzx ecx, byte [edx + 0x22]
mov edx, dword [esp + 0x90]
push ecx
push eax
push edx
lea edi, [esp + 0x104]
call fcn.00415430
add esp, 0xc
test eax, eax
mov dword [esp + 0x3c], eax
jne case.0x419f0a.12
mov eax, dword [esp + 0x10c]
mov edi, dword [esp + 0x60]
cmp dword [esp + 0x88], 0
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x50]
lea esi, [ecx + eax]
mov dword [esp + 0x60], esi
lea ebx, [edx + eax]
jbe 0x41b1c4
mov esi, dword [esp + 0x84]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x88]
sub ecx, esi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x50], eax
lea esp, [esp]
cmp ebx, dword [esp + 0x60]
jae 0x41b1af
mov edx, dword [esp + 0x98]
mov dword [ecx + esi], edx
mov al, byte [ebx]
cmp al, 0x80
jae 0x41b192
movzx eax, al
mov dword [esi], eax
mov eax, 1
add ebx, eax
mov eax, dword [esi]
call fcn.004179f0
add dword [esp + 0x98], eax
jmp 0x41b1b6
mov ecx, ebx
call fcn.00405fa0
mov ecx, dword [esp + 0x3c]
add ebx, eax
mov eax, dword [esi]
call fcn.004179f0
add dword [esp + 0x98], eax
jmp 0x41b1b6
mov dword [ecx + esi], 0
add esi, 4
sub dword [esp + 0x50], 1
jne 0x41b160
mov esi, dword [esp + 0x60]
lea ecx, [esp + 0xf8]
push ecx
call fcn.00414be0
add esp, 4
cmp ebx, esi
mov word [esp + 0x114], 1
ja 0x41b377
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
cmp eax, ecx
ja 0x41b377
cmp ebx, esi
jne 0x41b208
cmp eax, ecx
jne 0x41b377
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x48]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x41b31b
cmp dword [esp + 0x94], 0
je 0x41b297
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x94]
test byte [ecx + 0x1c], 0x40
lea ecx, [edx + eax]
je 0x41b287
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x70]
mov eax, dword [edx + eax*4]
lea esi, [esp + 0xf8]
call fcn.00417ac0
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x5c]
mov ecx, esi
push ecx
mov dword [esp + 0x10c], eax
call fcn.00414fb0
add esp, 4
test eax, eax
mov dword [esp + 0x3c], eax
jne case.0x419f0a.12
mov dl, byte [esp + 0x6c]
mov eax, ebx
mov byte [eax + 0x1f], dl
jmp 0x41b336
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x70]
mov eax, dword [eax + edx*4]
jmp 0x41b307
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x84]
mov eax, dword [eax + edi*4]
call fcn.004179f0
mov ebx, dword [esp + 0x5c]
mov esi, eax
lea eax, [esp + 0xf8]
call fcn.00415030
mov ecx, dword [esp + 0x64]
movzx edx, byte [ecx + 0x22]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + edi*4]
push edx
mov edx, dword [esp + 0x94]
push ecx
push edx
lea edi, [esp + 0x104]
mov ebx, esi
call fcn.00415430
add esp, 0xc
test eax, eax
mov dword [esp + 0x3c], eax
jne case.0x419f0a.12
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x84]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10c]
mov esi, dword [esp + 0x5c]
call fcn.00417ac0
mov dl, byte [esp + 0x6c]
mov eax, esi
mov byte [eax + 0x1f], dl
jmp 0x41b336
cmp byte [edi + 1], 0xf8
jne 0x41b336
mov ecx, dword [edi + 0x10]
mov ebx, dword [esp + 0x5c]
push 0x80
push ecx
call fcn.00414f30
add esp, 8
cmp dword [esp + 0x11c], 0
mov eax, dword [esp + 0x5c]
je 0x41b369
mov dx, word [eax + 0x1c]
and dx, 0xfe7f
or dx, 0x20
mov word [eax + 0x1c], dx
mov ecx, dword [esp + 0x10c]
mov dword [eax + 0x14], ecx
mov edx, dword [esp + 0x11c]
mov dword [eax + 0x24], edx
call fcn.00414930
mov dword [esp + 0x3c], eax
jmp case.0x419f0a.12
mov dword [esp + 0x3c], 0xb
jmp case.0x419f0a.12
mov eax, dword [edi + 0x10]
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
lea eax, [edi + edi*4]
lea ebx, [esi + eax*8 - 0x28]
cmp esi, ebx
ja case.0x419f0a.12
xor edi, edi
test word [esi + 0x1c], 0x800
je 0x41b3ba
mov eax, esi
call fcn.00414990
mov ecx, dword [esp + 0x6c]
mov eax, 0x66666667
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
push ecx
mov ecx, dword [esp + 0x54]
add eax, edx
mov al, byte [eax + ecx]
mov ecx, esi
call fcn.00419cd0
add esi, 0x28
add esp, 4
add edi, 0x28
cmp esi, ebx
jbe 0x41b3ab
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
movzx esi, byte [esi + 0x100]
lea eax, [eax + edx*8]
mov edx, dword [edi + 8]
xor ebx, ebx
lea edx, [edx + edx*4]
lea edx, [eax + edx*8 - 0x28]
cmp eax, edx
mov dword [esp + 0x48], esi
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x70], edx
mov esi, eax
ja 0x41b521
mov edx, 0xffffffe8
sub edx, eax
mov dword [esp + 0x60], edx
jmp 0x41b46b
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x60]
test ecx, ecx
je 0x41b496
mov eax, dword [esp + 0x6c]
push eax
lea edx, [edx + esi + 0x18]
mov eax, 0x66666667
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + ecx]
mov ecx, esi
call fcn.00419cd0
add esp, 4
test word [esi + 0x1c], 0x800
je 0x41b4ab
cmp dword [esi + 0x18], 0
jle 0x41b4ab
mov eax, esi
call fcn.00414990
mov ecx, dword [esp + 0x48]
push ecx
mov ecx, esi
call fcn.00417910
add esp, 4
mov ecx, eax
call fcn.004179f0
mov dword [esp + 0x90], eax
cdq
add dword [esp + 0xc8], eax
push 0
push ecx
adc dword [esp + 0xd4], edx
call fcn.00406060
mov ebx, dword [esp + 0x58]
add ebx, eax
add esp, 8
test word [esi + 0x1c], 0x800
mov dword [esp + 0x50], ebx
je 0x41b4ff
mov edx, dword [esi]
add dword [esp + 0x84], edx
jmp 0x41b514
cmp dword [esp + 0x90], 0
je 0x41b514
mov dword [esp + 0x84], 0
add esi, 0x28
cmp esi, dword [esp + 0x70]
jbe 0x41b460
mov eax, ebx
cdq
push edx
push eax
call fcn.00406060
mov esi, eax
add ebx, esi
mov eax, ebx
cdq
push edx
push eax
call fcn.00406060
add esp, 0x10
cmp esi, eax
jge 0x41b543
add ebx, 1
mov eax, dword [esp + 0x84]
cdq
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], edx
mov eax, ebx
cdq
mov esi, eax
sub esi, dword [esp + 0xf0]
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x50]
mov ecx, edx
sbb ecx, dword [esp + 0xf4]
add esi, dword [esp + 0xc8]
cdq
adc ecx, dword [esp + 0xcc]
mov dword [esp + 0x1b8], esi
cmp ecx, edx
ja 0x41a0ef
jb 0x41b59d
cmp esi, eax
ja 0x41a0ef
mov edi, dword [edi + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4c]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*8]
push 0
push esi
mov esi, eax
mov dword [esp + 0x60], eax
call fcn.00414820
add esp, 8
test eax, eax
jne 0x41a281
cmp ebx, 0x80
mov ecx, esi
mov esi, dword [ecx + 0x14]
mov dword [esp + 0x50], esi
jae 0x41b5dd
mov byte [esi], bl
lea edi, [eax + 1]
jmp 0x41b5e8
mov eax, ebx
mov ecx, esi
call fcn.00405dc0
mov edi, eax
mov ebx, dword [esp + 0x64]
cmp ebx, dword [esp + 0x70]
ja 0x41b625
mov edx, dword [esp + 0x48]
push edx
mov ecx, ebx
call fcn.00417910
add esp, 4
cmp eax, 0x80
jae 0x41b612
mov byte [edi + esi], al
mov eax, 1
jmp 0x41b61a
lea ecx, [edi + esi]
call fcn.00405dc0
add ebx, 0x28
add edi, eax
cmp ebx, dword [esp + 0x70]
jbe 0x41b5f2
mov esi, dword [esp + 0x64]
cmp esi, dword [esp + 0x70]
ja 0x41b65a
nop
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x50]
sub eax, edi
push eax
mov eax, dword [esp + 0x4c]
lea ebx, [edi + ecx]
mov ecx, esi
call fcn.00417a10
add esi, 0x28
add esp, 4
add edi, eax
cmp esi, dword [esp + 0x70]
jbe 0x41b630
cmp dword [esp + 0x84], 0
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x1b8]
mov dword [eax + 0x18], edx
mov word [eax + 0x1c], 0x50
mov dword [eax + 0x20], 0
je 0x41b698
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov word [eax + 0x1c], 0x850
mov byte [eax + 0x1f], 1
jmp case.0x419f0a.12
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x1c], 0
je 0x41b6b8
cmp dword [eax + 0x90], 1
jle case.0x419f0a.12
mov edi, dword [edi + 4]
mov edx, dword [eax + 8]
lea ecx, [edi + edi*2]
mov edi, dword [edx + ecx*8 + 4]
mov eax, dword [edi + 4]
test eax, eax
je 0x41b6d6
cmp byte [eax + 0x10], 0
jne case.0x419f0a.12
call fcn.0040ea40
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x14c], 1
jmp case.0x419f0a.12
mov eax, dword [esp + 0x40]
cmp dword [eax + 0x90], 1
mov bl, byte [edi + 4]
mov cl, byte [edi + 8]
jle 0x41b745
test bl, bl
je 0x41b745
cmp byte [eax + 0x1c], 0
jne 0x41b745
test cl, cl
mov eax, str.rollback
jne 0x41b71c
mov eax, str.commit
push 0
push str._transaction___SQL_statements_in_progress
push eax
push str.cannot
add esi, 0xf4
push esi
call fcn.00403800
add esp, 0x14
mov dword [esp + 0x3c], 1
jmp case.0x419f0a.12
cmp bl, byte [eax + 0x1c]
jne 0x41d889
test bl, bl
jne 0x41b759
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x41b767
test cl, cl
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x41b767
mov eax, str.cannot_commit___no_transaction_is_active
push 0
push eax
add esi, 0xf4
push esi
call fcn.00403800
add esp, 0xc
mov dword [esp + 0x3c], 1
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x40]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*8 + 4]
test eax, eax
je case.0x419f0a.12
mov ecx, dword [edi + 8]
push ecx
push eax
call fcn.0040dcd0
add esp, 8
cmp eax, 5
mov dword [esp + 0x3c], eax
je 0x41d8e1
test eax, eax
je case.0x419f0a.12
cmp eax, 8
jne 0x41d934
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
test eax, eax
mov edi, dword [edi + 0xc]
jge 0x41b7e2
or edx, 0xffffffff
sub edx, eax
mov eax, edx
neg edi
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x168]
push ecx
mov ecx, dword [eax + 8]
mov eax, dword [ecx + edx*8 + 4]
add edi, 1
push edi
call fcn.00413020
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x170]
add esp, 8
cdq
mov dword [ebx + 4], edx
mov dx, word [ebx + 0x1c]
and dx, 0xffe4
or dx, 4
mov dword [ebx], eax
mov word [ebx + 0x1c], dx
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 8]
mov esi, dword [esp + 0x74]
lea eax, [eax + eax*2]
lea ebx, [edx + eax*8]
mov eax, esi
call fcn.00414de0
mov eax, dword [esi]
mov ecx, dword [edi + 8]
mov esi, dword [ebx + 4]
push eax
add ecx, 1
push ecx
call fcn.00413120
mov dword [esp + 0x44], eax
mov eax, dword [edi + 8]
add esp, 8
test eax, eax
jne 0x41b87b
mov eax, dword [esp + 0x74]
mov ecx, dword [eax]
mov edx, dword [ebx + 0x14]
mov eax, dword [esp + 0x40]
mov dword [edx], ecx
or dword [eax + 0xc], 0x10
jmp 0x41b88c
cmp eax, 1
jne 0x41b88c
mov eax, dword [esp + 0x74]
mov edx, dword [ebx + 0x14]
mov cl, byte [eax]
mov byte [edx + 0x58], cl
cmp dword [edi + 4], 1
jne case.0x419f0a.12
mov eax, dword [esp + 0x40]
call fcn.00418260
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + edx*8 + 4]
xor ecx, ecx
cmp eax, ecx
je 0x41b950
lea edx, [esp + 0xc4]
push edx
push 1
call fcn.00413020
add esp, 8
test eax, eax
mov dword [esp + 0x3c], eax
jne case.0x419f0a.12
mov eax, dword [esp + 0xc4]
cmp eax, dword [edi + 8]
je case.0x419f0a.12
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xf4]
push edx
call fcn.004032c0
mov esi, dword [esp + 0x44]
add esp, 4
push esi
mov ebx, str.database_schema_has_changed
call fcn.00403770
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xf4], eax
mov edi, dword [edi + 4]
mov eax, dword [esi + 8]
lea edx, [edi + edi*2]
mov ecx, dword [eax + edx*8 + 0x14]
mov edx, dword [esp + 0xc8]
add esp, 4
cmp dword [ecx], edx
je 0x41b93c
push edi
push esi
call fcn.00426200
add esp, 8
mov eax, esi
call fcn.00418260
mov dword [esp + 0x3c], 0x11
jmp case.0x419f0a.12
mov dword [esp + 0x3c], ecx
mov dword [esp + 0xc4], ecx
jmp 0x41b8dd
cmp al, 9
mov edx, dword [edi + 8]
mov ecx, dword [edi + 4]
mov ebx, dword [edi + 0xc]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x40]
mov edx, dword [edx + 8]
mov dword [esp + 0x64], ecx
lea ecx, [ebx + ebx*2]
lea ecx, [edx + ecx*8]
mov edx, dword [ecx + 4]
mov dword [esp + 0x88], edx
jne 0x41b9a7
mov eax, dword [ecx + 0x14]
mov al, byte [eax + 0x58]
cmp al, byte [esi + 0x100]
mov dword [esp + 0x50], 1
jae 0x41b9af
mov byte [esi + 0x100], al
jmp 0x41b9af
mov dword [esp + 0x50], 0
cmp byte [edi + 3], 0
je 0x41b9d5
mov eax, dword [esp + 0x48]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov dword [esp + 0x68], eax
call fcn.00414de0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x64]
push 1
push ebx
push edx
lea ecx, [edi - 0x14]
push esi
call fcn.00419ad0
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x41a281
mov eax, dword [ebx]
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x4c]
mov byte [ebx + 0x1c], 1
mov ecx, dword [edi + 0x10]
push ecx
push edx
push eax
call fcn.0040ecc0
add esp, 0x10
cmp byte [edi + 1], 0xfa
mov dword [esp + 0x3c], eax
jne 0x41ba43
mov ecx, dword [edi + 0x10]
mov dword [ebx + 0x4c], ecx
add ecx, 5
mov dword [ebx + 0x48], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ebx + 0x4c]
mov dl, byte [edx + 0x59]
mov byte [ecx + 4], dl
jmp 0x41ba50
lea ecx, [ebx + 0x23]
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x48], ecx
test eax, eax
je 0x41ba8b
cmp eax, 5
je 0x41d905
cmp eax, 0x10
jne 0x41d934
cmp byte [edi + 1], 0xfa
mov dword [ebx], 0
setne al
test al, al
sete dl
mov byte [ebx + 0x21], al
mov byte [ebx + 0x22], dl
mov dword [esp + 0x3c], 0
jmp case.0x419f0a.12
mov esi, dword [ebx]
call fcn.004131c0
test al, 0xf0
jne 0x41bad0
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x41baa5
cmp ecx, 2
jne 0x41bad0
mov cl, al
shr eax, 1
and cl, 1
and al, 1
test cl, cl
mov byte [ebx + 0x21], cl
mov byte [ebx + 0x22], al
je 0x41babe
cmp byte [edi + 1], 0xfa
je 0x41bad0
test al, al
je case.0x419f0a.12
cmp byte [edi + 1], 0xfa
je case.0x419f0a.12
mov dword [esp + 0x3c], 0xb
jmp 0x41d934
mov eax, dword [edi + 4]
push 1
push 0xffffffffffffffff
push eax
push esi
mov ecx, edi
call fcn.00419ad0
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x41a281
mov esi, dword [esp + 0x40]
xor eax, eax
mov byte [ebx + 0x1c], 1
test dword [esi + 0xc], 0x1000
lea ecx, [ebx + 0x30]
lea edx, [eax + 1]
je 0x41bb16
lea edx, [eax + 3]
cmp byte [esi + 0x1d], 2
jne 0x41bb21
mov eax, str.:memory:
push 0x41e
push edx
push esi
push eax
call fcn.0040cfd0
add esp, 0x10
test eax, eax
mov dword [esp + 0x48], eax
jne 0x41bb79
mov esi, dword [ebx + 0x30]
mov edx, dword [esi + 4]
mov eax, esi
mov dword [esp + 0x50], edx
call fcn.0040bd10
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
mov dword [ecx + 0x4c], 0x1f4
cmp byte [esi + 9], 0
je 0x41bb79
or ecx, 0xffffffff
add dword [esi + 0xc], ecx
jne 0x41bb79
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x40]
add dword [eax + 0x1c], ecx
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [esi + 0xa], 0
mov eax, dword [esp + 0x48]
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41bc37
mov eax, dword [ebx + 0x30]
push 1
push eax
call fcn.0040dcd0
add esp, 8
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41bc37
cmp dword [edi + 0x10], eax
mov esi, dword [ebx + 0x30]
je 0x41bc18
lea ecx, [esp + 0x144]
push 2
push ecx
call fcn.00412b40
add esp, 8
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41bc05
mov edx, dword [ebx]
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x144]
mov esi, dword [ebx + 0x30]
push edx
push eax
push 1
push ecx
call fcn.0040ecc0
mov edi, dword [edi + 0x10]
mov edx, dword [ebp + 8]
mov dword [ebx + 0x4c], edi
mov dword [esp + 0x4c], eax
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x14]
mov al, byte [edx + 0x59]
mov byte [edi + 4], al
mov ecx, dword [ebx + 0x4c]
add esp, 0x10
add ecx, 5
mov dword [ebx + 0x48], ecx
mov byte [ebx + 0x21], 0
cmp byte [ebx + 0x21], 0
sete cl
mov byte [ebx + 0x22], cl
jmp case.0x419f0a.12
mov edx, dword [ebx]
push edx
push 0
push 1
push 1
call fcn.0040ecc0
mov dword [esp + 0x4c], eax
lea eax, [ebx + 0x23]
add esp, 0x10
mov byte [ebx + 0x21], 1
mov dword [ebx + 0x48], eax
cmp byte [ebx + 0x21], 0
sete cl
mov byte [ebx + 0x22], cl
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
push 0
push 0xffffffffffffffff
push eax
lea ecx, [edi - 0x14]
push esi
call fcn.00419ad0
add esp, 0x10
test eax, eax
je 0x41a281
mov byte [eax + 0x1c], 1
mov byte [eax + 0x1e], 1
mov dl, byte [edi + 8]
lea ecx, [eax + 0x23]
mov byte [eax + 0x1f], dl
mov dword [eax + 0x48], ecx
mov byte [eax + 0x21], 1
mov byte [eax + 0x22], 0
jmp case.0x419f0a.12
mov esi, dword [ebp + 8]
mov edi, dword [edi + 4]
mov edx, dword [esi + 0x30]
mov ebx, dword [edx + edi*4]
push esi
call fcn.004167a0
mov eax, dword [esi + 0x30]
add esp, 4
mov dword [eax + edi*4], 0
jmp case.0x419f0a.12
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x30]
mov ebx, dword [eax + ecx*4]
cmp dword [ebx], 0
je case.0x419f0a.12
cmp edx, 6
mov byte [ebx + 0x1c], 0
je 0x41bccb
cmp edx, 0x40
je 0x41bccb
xor eax, eax
jmp 0x41bcd0
mov eax, 1
mov ecx, dword [ebx + 0x48]
mov byte [ecx], al
cmp byte [ebx + 0x21], 0
je 0x41bd49
mov esi, dword [esp + 0x74]
call fcn.00414ca0
cmp dword [edi + 8], 0
mov esi, eax
mov dword [esp + 0x224], edx
jne 0x41bd06
mov dword [ebx + 0x28], esi
mov dword [ebx + 0x2c], edx
mov byte [ebx + 0x19], 0
mov byte [ebx + 0x20], 1
jmp case.0x419f0a.12
push 0
push edx
mov edx, dword [ebx]
push esi
push 0
push edx
lea edx, [esp + 0xa0]
xor ecx, ecx
call fcn.0040f8f0
add esp, 0x14
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41d934
cmp dword [esp + 0x8c], 0
mov eax, dword [esp + 0x224]
sete cl
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov byte [ebx + 0x19], cl
jmp 0x41bdb3
mov ax, word [edi + 0x10]
mov edx, dword [ebx + 0x4c]
mov word [esp + 0x170], ax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x16c], edx
mov edx, dword [esi + 0x4c]
push 0
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov edx, dword [ebx]
push 0
push 0
lea ecx, [esp + 0x178]
push ecx
push edx
lea edx, [esp + 0xa0]
xor ecx, ecx
mov byte [esp + 0x186], 0
mov byte [esp + 0x187], 0
mov dword [esp + 0x188], eax
call fcn.0040f8f0
add esp, 0x14
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41d934
mov byte [ebx + 0x19], al
mov eax, dword [ebx + 0x48]
xor esi, esi
mov byte [ebx + 0x20], 0
mov dword [ebx + 0x68], esi
mov byte [eax], 0
mov eax, dword [esp + 0x50]
cmp eax, 0x75
je 0x41be1a
cmp eax, 6
je 0x41be1a
cmp dword [esp + 0x8c], esi
jl 0x41bdeb
mov edx, dword [ebx]
lea ecx, [esp + 0x8c]
push ecx
push edx
call fcn.0040ff00
jmp 0x41be33
mov eax, dword [ebx]
xor ecx, ecx
cmp byte [eax + 0x43], 1
setne cl
mov dword [esp + 0x8c], ecx
cmp dword [esp + 0x8c], 0
je case.0x419f0a.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
cmp dword [esp + 0x8c], esi
jge 0x41be48
mov eax, dword [ebx]
lea edx, [esp + 0x8c]
push edx
push eax
call fcn.0040fdd0
add esp, 8
cmp eax, esi
mov dword [esp + 0x3c], eax
jne 0x41d934
mov byte [ebx + 0x19], 0
jmp 0x41bdfd
mov dword [esp + 0x8c], esi
jmp case.0x419f0a.12
mov edx, dword [edi + 4]
mov esi, dword [esi + 0x30]
mov esi, dword [esi + edx*4]
xor ecx, ecx
cmp dword [esi], ecx
je 0x41beb6
cmp al, 0x7a
jne 0x41be6e
mov eax, dword [esi + 0x4c]
mov byte [eax + 6], 1
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x14]
cdq
push 0
push edx
mov edx, dword [esi]
push eax
push 0
push edx
lea edx, [esp + 0x14c]
call fcn.0040f8f0
mov ecx, dword [esi + 0x4c]
add esp, 0x14
test eax, eax
mov dword [esp + 0x3c], eax
mov byte [ecx + 6], 0
jne case.0x419f0a.12
xor ecx, ecx
cmp dword [esp + 0x138], ecx
mov byte [esi + 0x20], al
sete cl
mov dword [esi + 0x68], eax
cmp byte [edi], 0x7a
jne 0x41bec2
test ecx, ecx
jmp 0x41ae14
test ecx, ecx
jne case.0x419f0a.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
mov ebx, dword [edi + 4]
mov edi, dword [edi + 0x10]
mov eax, dword [esi + 0x4c]
lea edx, [edi + edi*4]
mov edi, dword [esp + 0x74]
lea ecx, [eax + edx*8]
mov eax, edi
mov dword [esp + 0x50], ecx
call fcn.00414de0
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + ebx*4]
mov ebx, dword [esi]
test ebx, ebx
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov dword [esp + 0x148], edx
mov dword [esp + 0x14c], eax
je case.0x419f0a.12
mov edx, dword [esp + 0x50]
mov edi, dword [edx + 0x14]
mov dword [esp + 0x48], edi
call fcn.00418010
mov ecx, dword [esp + 0x50]
mov edi, dword [ecx + 0x18]
mov ecx, dword [esp + 0x48]
sub edi, eax
push 0
mov eax, edi
cdq
push edx
push eax
push 0
push ebx
lea edx, [esp + 0xc0]
mov dword [esi + 0x68], 0
call fcn.0040f8f0
add esp, 0x14
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41d934
cmp dword [esp + 0xac], eax
jge 0x41bf9e
lea edx, [esp + 0xac]
push edx
push ebx
call fcn.0040fdd0
add esp, 8
cmp dword [esp + 0xac], 0
mov dword [esp + 0x3c], eax
je 0x41bf9e
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 8]
sub eax, 1
mov dword [esp + 0x4c], eax
jmp case.0x419f0a.12
mov ecx, dword [esp + 0x48]
push edi
push 0
push esi
lea edx, [esp + 0xb8]
call fcn.00418140
add esp, 0xc
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41d934
cmp dword [esp + 0xac], eax
jle 0x41bfdd
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + 8]
sub eax, 1
mov dword [esp + 0x4c], eax
jmp case.0x419f0a.12
lea edx, [esp + 0x1a0]
push edx
mov eax, ebx
call fcn.00418060
add esp, 4
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41d934
mov ecx, dword [esp + 0x1a0]
cmp ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x1a4]
jne 0x41c02e
cmp edx, dword [esp + 0x14c]
jne 0x41c02e
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 8]
sub eax, 1
mov dword [esp + 0x4c], eax
jmp case.0x419f0a.12
mov eax, dword [esp + 0x74]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.0x419f0a.12
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x30]
mov esi, dword [edx + ecx*4]
mov eax, dword [esi]
test eax, eax
je case.0x419f0a.12
mov ebx, dword [esp + 0x74]
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
push 0
push edx
push ecx
push 0
push eax
lea edx, [esp + 0x168]
xor ecx, ecx
call fcn.0040f8f0
mov dword [esp + 0x50], eax
mov eax, dword [ebx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x168]
mov ecx, dword [ebx + 4]
add esp, 0x14
test eax, eax
sete dl
mov dword [esi + 0xc], ecx
mov byte [esi + 0x19], dl
mov byte [esi + 0x1c], 0
mov dword [esi + 0x68], 0
jmp 0x41ae12
mov edi, dword [edi + 4]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + edi*4]
mov ecx, dword [eax + 0x58]
mov dword [ebx], ecx
mov edx, dword [eax + 0x5c]
mov dword [ebx + 4], edx
mov eax, dword [esi + 0x30]
mov eax, dword [eax + edi*4]
add dword [eax + 0x58], 1
adc dword [eax + 0x5c], 0
mov cx, word [ebx + 0x1c]
and cx, 0xffe4
or cx, 4
mov word [ebx + 0x1c], cx
jmp case.0x419f0a.12
mov eax, dword [esi + 0x30]
mov edx, dword [edi + 4]
mov eax, dword [eax + edx*4]
mov esi, dword [eax]
xor ecx, ecx
cmp esi, ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x5c], eax
je 0x41c339
mov dword [esp + 0x48], ecx
call fcn.004131c0
and al, 3
cmp al, 1
jne 0x41bad0
mov eax, dword [esp + 0x5c]
cmp byte [eax + 0x1b], 0
jne 0x41c24a
cmp byte [eax + 0x1d], 0
je 0x41c12e
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
jmp 0x41c197
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx]
lea eax, [esp + 0xc0]
call fcn.0040f880
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41d934
cmp dword [esp + 0xc0], eax
je 0x41c163
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], eax
jmp 0x41c197
mov edx, dword [esp + 0x5c]
mov esi, dword [edx]
lea ebx, [esp + 0x78]
call fcn.0040ee20
cmp dword [esp + 0x78], 0xffffffff
jne 0x41c18d
cmp dword [esp + 0x7c], 0x7fffffff
jne 0x41c18d
mov esi, dword [esp + 0x5c]
mov byte [esi + 0x1b], 1
jmp 0x41c19b
add dword [esp + 0x78], 1
adc dword [esp + 0x7c], 0
mov esi, dword [esp + 0x5c]
mov edi, dword [edi + 0xc]
test edi, edi
je 0x41c20b
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x4c]
lea eax, [edi + edi*4]
lea edi, [edx + eax*8]
mov eax, edi
call fcn.00414de0
mov eax, dword [edi]
cmp eax, 0xffffffff
mov ecx, dword [edi + 4]
jne 0x41c1cb
cmp ecx, 0x7fffffff
je 0x41d92c
cmp byte [esi + 0x1b], 0
jne 0x41d92c
mov edx, dword [esp + 0x7c]
add eax, 1
adc ecx, 0
cmp edx, ecx
jg 0x41c200
jl 0x41c1ed
mov ebx, dword [esp + 0x78]
cmp ebx, eax
jae 0x41c204
mov ebx, eax
mov edx, ecx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], edx
mov dword [edi], ebx
mov dword [edi + 4], edx
jmp 0x41c213
mov ebx, dword [esp + 0x78]
mov dword [edi], ebx
mov dword [edi + 4], edx
jmp 0x41c213
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
cmp edx, 0x7fffffff
ja 0x41c234
jb 0x41c222
cmp ebx, 0xffffffff
jae 0x41c234
add ebx, 1
adc edx, 0
mov byte [esi + 0x1d], 1
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], edx
jmp 0x41c238
mov byte [esi + 0x1d], 0
mov eax, dword [esp + 0x5c]
cmp byte [eax + 0x1b], 0
mov ebx, dword [esp + 0x58]
je 0x41c326
mov eax, dword [esp + 0x40]
mov edi, dword [eax + 0x38]
mov esi, dword [eax + 0x3c]
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x70], 0
cmp dword [esp + 0x70], 0
jne 0x41c28b
mov eax, edi
and eax, 0xffffff
xor ecx, ecx
cmp eax, edi
jne 0x41c28b
cmp ecx, esi
jne 0x41c28b
add edi, 1
adc esi, ecx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], esi
jmp 0x41c2be
lea eax, [esp + 0x78]
push eax
push 8
call fcn.00404c10
mov edi, dword [esp + 0x80]
add esp, 8
cmp dword [esp + 0x70], 5
jge 0x41c2ba
and edi, 0xffffff
xor esi, esi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], esi
jmp 0x41c2be
mov esi, dword [esp + 0x7c]
mov ecx, edi
or ecx, esi
je 0x41c2eb
mov edx, dword [esp + 0x5c]
mov eax, dword [edx]
push 0
push esi
push edi
push 0
push eax
lea edx, [esp + 0xd4]
xor ecx, ecx
call fcn.0040f8f0
add esp, 0x14
add dword [esp + 0x70], 1
mov dword [esp + 0x48], eax
cmp dword [esp + 0x70], 0x64
jge 0x41c307
cmp dword [esp + 0x48], 0
jne 0x41c307
cmp dword [esp + 0xc0], 0
je 0x41c264
cmp dword [esp + 0x48], 0
mov eax, dword [esp + 0x40]
mov dword [eax + 0x38], edi
mov dword [eax + 0x3c], esi
jne 0x41c326
cmp dword [esp + 0xc0], 0
je 0x41d92c
mov eax, dword [esp + 0x5c]
mov byte [eax + 0x19], 0
mov byte [eax + 0x20], 0
mov dword [eax + 0x68], 0
mov cx, word [ebx + 0x1c]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
and cx, 0xffe4
or cx, 4
mov word [ebx + 0x1c], cx
mov dword [ebx], edx
mov dword [ebx + 4], eax
jmp case.0x419f0a.12
test byte [edi + 3], 1
mov ecx, dword [edi + 8]
mov eax, dword [esi + 0x4c]
mov edx, dword [edi + 0xc]
mov ebx, dword [esi + 0x30]
lea edx, [edx + edx*4]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
lea eax, [eax + edx*8]
mov edx, dword [edi + 4]
mov ebx, dword [ebx + edx*4]
mov edx, dword [eax]
mov dword [esp + 0xd0], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0xd4], edx
je 0x41c39e
add dword [esi + 0x104], 1
test byte [edi + 3], 2
je 0x41c3b3
mov esi, dword [eax]
mov edx, dword [esp + 0x40]
mov dword [edx + 0x30], esi
mov esi, dword [eax + 4]
mov dword [edx + 0x34], esi
cmp byte [ebx + 0x1d], 0
je 0x41c3ce
mov edx, dword [eax + 4]
cmp edx, dword [ebx + 0x14]
jl 0x41c3ce
jg 0x41c3ca
mov eax, dword [eax]
cmp eax, dword [ebx + 0x10]
jb 0x41c3ce
mov byte [ebx + 0x1d], 0
movzx eax, word [ecx + 0x1c]
test al, 1
je 0x41c3de
xor edx, edx
mov dword [ecx + 0x14], edx
mov dword [ecx + 0x18], edx
cmp byte [ebx + 0x1e], 0
je 0x41c493
cmp byte [ebx + 0x1f], 0
jne 0x41c3fe
mov ecx, dword [ebx + 0x38]
push ecx
call fcn.004032c0
mov ecx, dword [esp + 0x4c]
add esp, 4
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0xd4]
mov dword [ebx + 0x40], edx
mov dword [ebx + 0x44], eax
mov eax, dword [ecx + 0x18]
mov dword [ebx + 0x34], eax
mov edx, dword [ecx + 0x14]
cmp edx, dword [ecx + 0x24]
je 0x41c46d
cmp byte [ebx + 0x1f], 0
jne 0x41c46d
add eax, 2
push eax
call fcn.004031b0
add esp, 4
test eax, eax
mov dword [ebx + 0x38], eax
je 0x41a281
mov ecx, dword [ebx + 0x34]
mov edx, dword [esp + 0x48]
push ecx
mov ecx, dword [edx + 0x14]
push ecx
push eax
call fcn.0046ff50
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 0x38]
mov byte [edx + eax], 0
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 0x38]
mov byte [ecx + edx + 1], 0
add esp, 0xc
mov byte [ebx + 0x1c], 0
jmp 0x41c4d6
cmp byte [ebx + 0x1f], 0
mov dword [ebx + 0x38], edx
jne 0x41c48d
mov ax, word [ecx + 0x1c]
and ax, 0xffbf
or ax, 0x100
mov word [ecx + 0x1c], ax
mov dword [ecx + 0x24], 0
mov byte [ebx + 0x1c], 0
jmp 0x41c4d6
test eax, 0x800
je 0x41c49e
mov ecx, dword [ecx]
jmp 0x41c4a0
xor ecx, ecx
movzx edx, byte [edi + 3]
mov eax, dword [esp + 0x48]
and edx, 8
push edx
mov edx, dword [eax + 0x14]
push ecx
mov ecx, dword [eax + 0x18]
mov eax, dword [esp + 0xdc]
push ecx
mov ecx, dword [esp + 0xdc]
push edx
mov edx, dword [ebx]
push eax
push ecx
push 0
push edx
call fcn.00412410
add esp, 0x20
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], 0
mov byte [ebx + 0x19], 0
mov byte [ebx + 0x20], 0
mov dword [ebx + 0x68], 0
jne case.0x419f0a.12
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0xb8]
test ecx, ecx
je case.0x419f0a.12
mov eax, dword [edi + 0x10]
test eax, eax
je case.0x419f0a.12
mov edx, dword [esp + 0xd4]
mov ebx, dword [ebx + 4]
push edx
mov edx, dword [esp + 0xd4]
push edx
push eax
mov eax, dword [esp + 0x4c]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xb4]
lea edx, [ebx + ebx*2]
mov edx, dword [esi + edx*8]
push edx
mov dl, byte [edi + 3]
and dl, 4
neg dl
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push eax
call ecx
add esp, 0x18
jmp case.0x419f0a.12
mov eax, dword [esp + 0x40]
cmp dword [eax + 0xb8], 0
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x30]
mov esi, dword [edx + ecx*4]
je 0x41c581
cmp dword [edi + 0x10], 0
je 0x41c581
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], edx
call fcn.004178a0
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41d934
mov eax, dword [esi]
call fcn.00412600
test eax, eax
mov dword [esp + 0x3c], eax
mov byte [esi + 0x1d], 0
mov dword [esi + 0x68], 0
jne 0x41c5ed
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 0xb8]
test edx, edx
je 0x41c5ed
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x41c5ed
mov ebx, dword [esp + 0x15c]
mov esi, dword [esi + 4]
push ebx
mov ebx, dword [esp + 0x15c]
push ebx
push ecx
lea ecx, [esi + esi*2]
mov esi, dword [eax + 8]
mov ecx, dword [esi + ecx*8]
mov eax, dword [eax + 0xb4]
push ecx
push 9
push eax
call edx
add esp, 0x18
test byte [edi + 8], 1
je case.0x419f0a.12
mov eax, dword [ebp + 8]
add dword [eax + 0x104], 1
jmp case.0x419f0a.12
cmp dword [edi + 4], 0
je 0x41c61c
mov eax, dword [esi + 0x104]
mov ecx, dword [esp + 0x40]
add dword [ecx + 0x48], eax
mov dword [ecx + 0x44], eax
mov dword [esi + 0x104], 0
jmp case.0x419f0a.12
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x4c]
mov eax, dword [eax + 0x30]
lea ecx, [edx + ecx*8]
mov edx, dword [edi + 4]
mov edi, dword [eax + edx*4]
mov dword [esp + 0x58], ecx
mov ecx, dword [edi]
mov esi, edi
mov dword [esp + 0x48], ecx
call fcn.004178a0
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41d934
cmp byte [edi + 0x22], al
mov esi, dword [esp + 0x48]
je 0x41c6a6
lea ebx, [esp + 0x198]
call fcn.0040ee20
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 0x50]
mov ecx, dword [esp + 0x19c]
cdq
cmp ecx, edx
jg 0x41a0ef
mov ecx, dword [esp + 0x198]
jl 0x41c69d
cmp ecx, eax
ja 0x41a0ef
mov dword [esp + 0xb4], ecx
jmp 0x41c6c6
lea ebx, [esp + 0xb4]
call fcn.0040eea0
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0xb4]
cmp eax, dword [edx + 0x50]
ja 0x41a0ef
mov ecx, dword [esp + 0xb4]
mov esi, dword [esp + 0x58]
push 0
push ecx
call fcn.00414820
add esp, 8
test eax, eax
jne 0x41a281
mov eax, dword [esp + 0xb4]
mov ebx, esi
mov dx, word [ebx + 0x1c]
and dx, 0xfff0
or dx, 0x10
mov dword [ebx + 0x18], eax
mov word [ebx + 0x1c], dx
cmp byte [edi + 0x22], 0
je 0x41c727
mov ecx, dword [ebx + 0x14]
mov esi, dword [esp + 0x48]
push ecx
push eax
push 0
call fcn.0040f420
add esp, 0xc
mov dword [esp + 0x3c], eax
mov byte [ebx + 0x1f], 1
jmp case.0x419f0a.12
mov edx, dword [ebx + 0x14]
push edx
push eax
mov eax, dword [esp + 0x50]
push 0
push eax
call fcn.0040f460
add esp, 0x10
mov dword [esp + 0x3c], eax
mov byte [ebx + 0x1f], 1
jmp case.0x419f0a.12
mov edx, dword [ebp + 8]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x30]
mov esi, dword [eax + ecx*4]
call fcn.004178a0
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41d934
cmp byte [esi + 0x19], al
je 0x41c791
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [esp + 0xe4], edx
mov eax, dword [esp + 0xe4]
mov edx, ecx
mov dword [esp + 0xe0], ecx
mov dword [ebx], edx
mov dword [ebx + 4], eax
jmp 0x41c0c0
cmp byte [esi + 0x1e], 0
je 0x41c7b9
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov edx, eax
mov dword [esp + 0xe0], eax
mov eax, ecx
mov dword [esp + 0xe4], ecx
mov dword [ebx], edx
mov dword [ebx + 4], eax
jmp 0x41c0c0
cmp byte [esi + 0x1c], 0
jne case.0x419f0a.12
mov esi, dword [esi]
lea ebx, [esp + 0xe0]
call fcn.0040ee20
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xe4]
mov dword [ebx], edx
mov dword [ebx + 4], eax
jmp 0x41c0c0
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + edx*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x419f0a.12
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x30]
mov esi, dword [edx + ecx*4]
mov ecx, dword [esi]
lea eax, [esp + 0x188]
call fcn.0040f880
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x188]
test eax, eax
mov byte [esi + 0x1c], al
mov byte [esi + 0x20], 0
mov dword [esi + 0x68], 0
je case.0x419f0a.12
mov edi, dword [edi + 8]
test edi, edi
jle case.0x419f0a.12
add edi, 0xffffffff
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
mov ecx, dword [esi + 0x30]
mov eax, dword [edi + 4]
mov ebx, dword [ecx + eax*4]
mov esi, dword [ebx]
test esi, esi
je 0x41c8ba
mov eax, esi
call fcn.0040f670
test eax, eax
jne 0x41c88e
cmp byte [esi + 0x43], al
jne 0x41c87e
mov dword [esp + 0xbc], 1
jmp 0x41c88e
mov dword [esp + 0xbc], 0
call fcn.0040f750
cmp dword [esp + 0xbc], 0
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xbc]
sete dl
mov byte [ebx + 0x1a], dl
mov byte [ebx + 0x20], 0
mov dword [ebx + 0x68], 0
mov byte [ebx + 0x1c], al
jmp 0x41ae12
mov dword [esp + 0xbc], 1
mov eax, dword [esp + 0xbc]
mov byte [ebx + 0x1c], al
jmp 0x41ae12
mov eax, dword [esp + 0x40]
cmp dword [eax + 0xd8], 0
jne 0x41d976
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x30]
mov esi, dword [edx + ecx*4]
test esi, esi
je case.0x419f0a.12
cmp byte [esi + 0x1c], 0
mov eax, dword [esi]
jne 0x41c952
mov dword [esp + 0xdc], 1
cmp byte [edi], 0x67
jne 0x41c91e
lea ecx, [esp + 0xdc]
push ecx
push eax
call fcn.0040fdd0
jmp 0x41c92c
lea edx, [esp + 0xdc]
push edx
push eax
call fcn.0040ff00
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xe4]
add esp, 8
test eax, eax
mov byte [esi + 0x1c], al
mov dword [esi + 0x68], 0
jne 0x41c952
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
mov byte [esi + 0x19], 0
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x30]
mov esi, dword [ecx + eax*4]
mov ebx, dword [esi]
test ebx, ebx
je case.0x419f0a.12
mov edx, dword [esp + 0x68]
test word [edx + 0x1c], 0x800
je 0x41c98d
mov eax, edx
call fcn.00414990
test eax, eax
mov dword [esp + 0x3c], eax
jne case.0x419f0a.12
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x14]
push edx
push 0
push 0
push 0x4921b8
cdq
push edx
push eax
push ecx
push ebx
call fcn.00412410
add esp, 0x20
mov dword [esp + 0x3c], eax
mov dword [esi + 0x68], 0
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + eax*4]
mov ebx, dword [eax]
test ebx, ebx
mov dword [esp + 0x50], eax
je case.0x419f0a.12
mov edx, dword [eax + 0x4c]
mov ax, word [edi + 0xc]
mov edi, dword [edi + 8]
push 0
mov dword [esp + 0x180], edx
mov edx, dword [esi + 0x4c]
lea ecx, [edi + edi*4]
push 0
mov word [esp + 0x188], ax
lea eax, [edx + ecx*8]
push 0
lea ecx, [esp + 0x188]
push ecx
push ebx
lea edx, [esp + 0x174]
xor ecx, ecx
mov byte [esp + 0x196], 0
mov byte [esp + 0x197], 0
mov dword [esp + 0x198], eax
call fcn.0040f8f0
add esp, 0x14
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41ca4d
cmp dword [esp + 0x160], eax
jne 0x41ca4d
mov eax, ebx
call fcn.00412600
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x50]
mov dword [edx + 0x68], 0
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ecx]
test eax, eax
je case.0x419f0a.12
cmp byte [ecx + 0x1c], 0
jne case.0x419f0a.12
lea edx, [esp + 0x1c8]
push edx
call fcn.00418060
add esp, 4
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x41d934
mov ax, word [ebx + 0x1c]
mov ecx, dword [esp + 0x1c8]
mov edx, dword [esp + 0x1cc]
and ax, 0xffe4
or ax, 4
mov word [ebx + 0x1c], ax
mov dword [ebx], ecx
mov dword [ebx + 4], edx
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x30]
mov ebx, dword [ecx + eax*4]
cmp dword [ebx], 0
je case.0x419f0a.12
mov ax, word [edi + 0x10]
mov edx, dword [ebx + 0x4c]
mov word [esp + 0x190], ax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x18c], edx
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, dword [ebx + 0x48]
mov dl, byte [edi + 3]
mov dword [esp + 0x194], eax
push 0
lea eax, [esp + 0x190]
mov byte [ecx], dl
push eax
push ebx
lea edx, [esp + 0xc4]
xor ecx, ecx
mov byte [esp + 0x19e], 0
mov byte [esp + 0x19f], 0
call fcn.00418140
mov ecx, dword [ebx + 0x48]
add esp, 0xc
mov byte [ecx], 0
cmp byte [edi], 0x28
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb8]
jne 0x41cb47
neg eax
jmp 0x41cb4a
add eax, 1
test eax, eax
mov dword [esp + 0xb8], eax
jle case.0x419f0a.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 0x8c]
xor ecx, ecx
test eax, eax
je 0x41cbbb
jmp 0x41cb80
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x41cb9b
cmp byte [eax + 0x101], 2
jae 0x41cb9b
cmp dword [eax + 0x70], 0
jl 0x41cb9b
add ecx, 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x41cb80
cmp ecx, 1
jle 0x41cbbb
mov dword [esp + 0x3c], 6
mov dword [esi + 0x7c], 2
jmp case.0x419f0a.12
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 4]
lea eax, [eax + eax*2]
add eax, eax
lea ecx, [esp + 0x13c]
push ecx
mov ecx, dword [esp + 0x44]
add eax, eax
add eax, eax
push edx
mov edx, dword [ecx + 8]
mov esi, dword [eax + edx + 4]
mov dword [esp + 0x58], eax
call fcn.00412fd0
mov ecx, dword [esp + 0x144]
mov esi, eax
mov ax, word [ebx + 0x1c]
and ax, 0xffe4
or ax, 4
mov word [ebx + 0x1c], ax
mov eax, ecx
cdq
add esp, 8
test esi, esi
mov dword [esp + 0x3c], esi
mov dword [ebx], eax
mov dword [ebx + 4], edx
jne case.0x419f0a.12
test ecx, ecx
je case.0x419f0a.12
mov edx, dword [esp + 0x40]
mov esi, dword [edx + 8]
add esi, dword [esp + 0x50]
mov edi, dword [edi + 4]
mov edx, ecx
call fcn.004285e0
jmp case.0x419f0a.12
mov eax, dword [edi + 8]
mov edx, dword [esp + 0x40]
mov edx, dword [edx + 8]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 4]
mov esi, dword [edx + ecx*8 + 4]
call fcn.00412ce0
mov dword [esp + 0x3c], eax
jmp case.0x419f0a.12
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x40]
mov edx, dword [edx + 8]
sub al, 0x32
neg al
lea ecx, [edi + edi*2]
mov esi, dword [edx + ecx*8 + 4]
lea ecx, [edx + ecx*8]
sbb eax, eax
and eax, 0xfffffffd
add eax, 5
push eax
lea eax, [esp + 0x144]
push eax
call fcn.00412b40
add esp, 8
test eax, eax
mov dword [esp + 0x3c], eax
jne case.0x419f0a.12
mov eax, dword [esp + 0x140]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x41c0c0
cmp dword [edi + 8], 0
mov eax, dword [edi + 4]
jne 0x41cccb
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + 8]
lea edx, [eax + eax*2]
mov edx, dword [ecx + edx*8 + 0x14]
test byte [edx + 0x5a], 1
je case.0x419f0a.12
cmp eax, 1
mov ecx, str.sqlite_temp_master
je 0x41ccda
mov ecx, str.sqlite_master
mov edx, dword [ebp + 8]
mov ebx, dword [esp + 0x40]
add edx, 0xf4
mov dword [esp + 0x218], edx
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x21c], eax
lea eax, [eax + eax*2]
mov dword [esp + 0x218], ebx
mov edx, dword [ecx + eax*8]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
call fcn.004049a0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x41a281
push 0
lea eax, [esp + 0x214]
push eax
push fcn.004339f0
push esi
push ebx
mov byte [ebx + 0x80], 1
call fcn.00431220
mov edi, eax
add esp, 0x14
cmp edi, 4
mov dword [esp + 0x3c], edi
jne 0x41cd5a
mov ecx, dword [esp + 0x21c]
mov dword [esp + 0x3c], ecx
mov edi, ecx
push esi
call fcn.004032c0
add esp, 4
cmp edi, 7
mov byte [ebx + 0x80], 0
je 0x41a281
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x40]
call fcn.00424930
mov dword [esp + 0x3c], eax
jmp case.0x419f0a.12
mov edx, dword [esp + 0x40]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.00426a10
add esp, 4
jmp case.0x419f0a.12
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x40]
push eax
mov eax, dword [edi + 4]
push ecx
call fcn.004260a0
add esp, 8
jmp case.0x419f0a.12
mov edx, dword [edi + 0x10]
mov eax, dword [esp + 0x40]
push edx
mov edx, dword [edi + 4]
push eax
call fcn.0043b510
add esp, 8
jmp case.0x419f0a.12
mov esi, dword [edi + 8]
lea ecx, [esi*4 + 4]
push ecx
mov dword [esp + 0x54], esi
call fcn.004031b0
add esp, 4
test eax, eax
mov dword [esp + 0x64], eax
je 0x41a281
test esi, esi
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4c]
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
mov ecx, dword [edi + 4]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
jle 0x41ce44
mov esi, eax
call fcn.00414ca0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x64]
mov dword [edx + ecx*4], eax
add ecx, 1
add esi, 0x28
cmp ecx, dword [esp + 0x50]
mov dword [esp + 0x48], ecx
jl 0x41ce24
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebx]
lea edx, [esp + 0x178]
push edx
mov edx, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [ecx + 8]
push eax
movzx eax, byte [edi + 3]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
push eax
call fcn.00413b10
mov ecx, dword [esp + 0x18c]
mov edi, dword [esp + 0x58]
mov esi, eax
mov eax, ecx
cdq
add esp, 0x14
sub dword [ebx], eax
sbb dword [ebx + 4], edx
mov dx, word [edi + 0x1c]
and dx, 0xffe1
or dx, 1
test ecx, ecx
mov word [edi + 0x1c], dx
mov byte [edi + 0x1e], 5
je 0x41cec2
push fcn.004032c0
push 1
push esi
or eax, 0xffffffff
mov ecx, edi
call fcn.00415060
add esp, 0xc
movzx ecx, byte [esp + 0x6c]
mov eax, edi
call fcn.00414800
mov eax, dword [esp + 0x64]
push eax
call fcn.004032c0
add esp, 4
jmp case.0x419f0a.12
mov esi, dword [esp + 0x44]
call fcn.00414ca0
mov edi, dword [ebp + 8]
push edx
push eax
add edi, 0x58
call fcn.00414680
add esp, 8
cmp eax, 7
je 0x41a281
jmp case.0x419f0a.12
mov ecx, dword [esp + 0x40]
cmp dword [ecx + 0xd8], 0
jne 0x41d976
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x4c]
lea edx, [ecx + edx*8]
mov cx, word [edx + 0x1c]
and cx, 0xffe4
or cx, 4
lea esi, [eax + 0x58]
mov dword [esp + 0x58], edx
mov word [edx + 0x1c], cx
call fcn.00414730
cmp eax, 0x65
jne case.0x419f0a.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
mov ecx, dword [esi + 0x64]
cmp ecx, dword [esi + 0x68]
lea eax, [ecx + 1]
mov dword [esp + 0x50], ecx
mov dword [esi + 0x64], eax
jl 0x41cfa4
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x6c]
mov ebx, dword [esp + 0x40]
mov dword [ecx + 0x68], eax
mov eax, dword [esp + 0x50]
lea eax, [eax + eax*2 + 3]
add eax, eax
add eax, eax
add eax, eax
call fcn.00403740
test eax, eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x6c], eax
je 0x41a281
mov ecx, dword [esp + 0x50]
mov eax, edx
jmp 0x41cfa7
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x6c]
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*8]
mov edx, dword [esp + 0x40]
mov esi, dword [edx + 0x30]
mov dword [ecx], esi
mov edx, dword [edx + 0x34]
mov dword [ecx + 4], edx
mov edx, dword [eax + 0x104]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x58]
mov dword [ecx + 0xc], edx
mov edx, dword [eax + 0x5c]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0x60]
mov dword [ecx + 0x14], edx
xor ecx, ecx
mov dword [eax + 0x58], ecx
mov dword [eax + 0x5c], ecx
mov dword [eax + 0x60], ecx
jmp case.0x419f0a.12
add dword [esi + 0x64], 0xffffffff
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x6c]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8]
lea edi, [ecx + eax*8]
mov eax, dword [esp + 0x40]
mov dword [eax + 0x30], edx
mov ecx, dword [edi + 4]
mov dword [eax + 0x34], ecx
mov edx, dword [edi + 8]
mov dword [esi + 0x104], edx
add esi, 0x58
push esi
call fcn.00414780
mov eax, dword [edi + 0xc]
mov dword [esi], eax
mov ecx, dword [edi + 0x10]
mov dword [esi + 4], ecx
mov edx, dword [edi + 0x14]
add esp, 4
mov dword [esi + 8], edx
jmp case.0x419f0a.12
mov edi, dword [esp + 0x44]
mov eax, edi
call fcn.00414de0
mov esi, dword [esp + 0x68]
mov eax, esi
call fcn.00414de0
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov ecx, dword [edi + 4]
cmp ecx, esi
jg case.0x419f0a.12
jl 0x41d069
mov edx, edi
mov ecx, dword [edx]
cmp ecx, eax
jae case.0x419f0a.12
mov ecx, dword [esp + 0x44]
mov dword [ecx], eax
mov dword [ecx + 4], esi
jmp case.0x419f0a.12
mov eax, dword [esp + 0x44]
cmp dword [eax + 4], 0
jl case.0x419f0a.12
jg 0x41ae16
cmp dword [eax], 0
jbe case.0x419f0a.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
mov eax, dword [esp + 0x44]
cmp dword [eax + 4], 0
jg case.0x419f0a.12
jl 0x41ae16
cmp dword [eax], 0
jae case.0x419f0a.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
mov eax, dword [esp + 0x44]
mov edx, dword [eax]
or edx, dword [eax + 4]
jne case.0x419f0a.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
mov edx, dword [esi + 0x24]
movzx ebx, byte [edi + 3]
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x4c]
mov dword [esp + 0x50], edx
lea eax, [eax + eax*4]
xor edx, edx
test ebx, ebx
lea ecx, [ecx + eax*8]
jle 0x41d120
mov eax, dword [esp + 0x50]
mov dword [eax + edx*4], ecx
call fcn.00419aa0
add edx, 1
add ecx, 0x28
cmp edx, ebx
jl 0x41d10a
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xf8], ecx
lea eax, [eax + edx*8]
mov ecx, 1
mov dword [esp + 0x128], eax
add dword [eax + 0x18], ecx
mov eax, dword [esp + 0xf8]
xor esi, esi
mov word [esp + 0x11c], cx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x114], esi
mov dword [esp + 0x124], esi
mov dword [esp + 0x120], esi
mov dword [esp + 0x110], ecx
mov dword [esp + 0x12c], esi
mov dword [esp + 0x130], esi
cmp byte [eax + 3], 0
je 0x41d194
mov edx, dword [edi - 4]
mov dword [esp + 0x130], edx
mov ecx, dword [esp + 0x50]
mov eax, dword [eax + 0x14]
push ecx
lea edx, [esp + 0xfc]
push ebx
push edx
call eax
add esp, 0xc
cmp dword [esp + 0x12c], esi
je 0x41d1e5
push 0
push ecx
mov bl, 1
lea eax, [esp + 0x108]
call fcn.004155a0
mov ecx, dword [ebp + 8]
add esp, 4
push eax
add ecx, 0xf4
push ecx
call fcn.00403800
mov edx, dword [esp + 0x138]
add esp, 0xc
mov dword [esp + 0x3c], edx
lea eax, [esp + 0x100]
push eax
call fcn.00414be0
add esp, 4
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
mov ecx, dword [edi + 0x10]
mov eax, esi
call fcn.00414b30
cmp eax, 1
mov dword [esp + 0x3c], eax
jne 0x41d23a
push 0
mov bl, al
push ecx
mov eax, esi
call fcn.004155a0
add esp, 4
push eax
mov eax, dword [ebp + 8]
add eax, 0xf4
push eax
call fcn.00403800
add esp, 0xc
movzx ecx, byte [esp + 0x6c]
mov eax, esi
call fcn.00414800
mov ecx, esi
call fcn.00414f00
test eax, eax
jne 0x41a0ef
jmp case.0x419f0a.12
mov ecx, dword [esp + 0x40]
push ecx
add esi, 0xf4
push esi
call fcn.0043dc30
add esp, 8
mov dword [esp + 0x3c], eax
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 8]
mov esi, dword [ecx + edx*8 + 4]
call fcn.0040e480
cmp eax, 0x65
mov dword [esp + 0x3c], eax
jne case.0x419f0a.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], 0
jmp case.0x419f0a.12
cmp dword [edi + 4], 0
jne 0x41d2c5
mov eax, dword [esp + 0x40]
call fcn.00418260
jmp case.0x419f0a.12
mov byte [esi + 0xff], 1
jmp case.0x419f0a.12
mov eax, dword [edi + 4]
mov cl, byte [edi + 0xc]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x40]
mov esi, dword [eax + 8]
mov eax, dword [edi + 8]
mov edi, dword [esi + edx*8 + 4]
call fcn.004145a0
cmp eax, 6
mov dword [esp + 0x3c], eax
jne case.0x419f0a.12
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp + 8]
push 0
push edx
add eax, 0xf4
push str.database_table_is_locked:
push eax
call fcn.00403800
add esp, 0x10
jmp case.0x419f0a.12
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x40]
call fcn.0043eed0
mov dword [esp + 0x3c], eax
jmp case.0x419f0a.12
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
mov edx, dword [esp + 0x44]
lea ecx, [esi + 0xf4]
call fcn.0043eb10
add esp, 4
mov dword [esp + 0x3c], eax
jmp case.0x419f0a.12
mov ecx, dword [esp + 0x40]
mov byte [esi + 0x101], 2
mov eax, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.0043ecf0
add esp, 4
mov dword [esp + 0x3c], eax
mov byte [esi + 0x101], 0
jmp case.0x419f0a.12
mov ebx, dword [edi + 0x10]
mov dword [esp + 0x60], 0
mov eax, dword [ebx]
mov edx, dword [eax + 0x18]
lea ecx, [esp + 0x60]
push ecx
push ebx
mov dword [esp + 0x58], eax
call edx
add esp, 8
test eax, eax
mov dword [esp + 0x3c], eax
jne case.0x419f0a.12
mov eax, dword [esp + 0x60]
push 0
mov dword [eax], ebx
mov edx, dword [edi + 4]
push 0xffffffffffffffff
push edx
lea ecx, [edi - 0x14]
push esi
call fcn.00419ad0
mov ecx, dword [esp + 0x70]
add esp, 0x10
test eax, eax
je 0x41d3e0
mov dword [eax + 0x60], ecx
mov edx, dword [esp + 0x60]
mov ecx, dword [edx]
mov edx, dword [ecx]
mov dword [eax + 0x64], edx
jmp case.0x419f0a.12
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
mov byte [eax + 0x1e], 1
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp case.0x419f0a.12
mov eax, dword [edi + 0xc]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
mov ebx, dword [edx + ecx*8 + 0x28]
lea eax, [edx + ecx*8]
mov edx, dword [esi + 0x30]
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x48], ecx
mov ecx, dword [ecx + 0x60]
mov edx, dword [ecx]
mov ecx, dword [edx]
mov edx, dword [eax]
mov dword [esp + 0x64], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x88], edx
xor edx, edx
test ebx, ebx
mov dword [esp + 0x50], ecx
jle 0x41d456
lea ecx, [eax + 0x50]
jmp 0x41d440
mov eax, dword [esp + 0x50]
mov dword [eax + edx*4], ecx
call fcn.00419aa0
add edx, 1
add ecx, 0x28
cmp edx, ebx
jl 0x41d440
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x4c]
mov byte [esi + 0x101], 1
mov edx, dword [edi + 0x10]
push ebx
push edx
mov edx, dword [ecx + 0x60]
push eax
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x20]
push edx
call ecx
add esp, 0x14
test eax, eax
mov dword [esp + 0x3c], eax
mov byte [esi + 0x101], 0
jne 0x41d4b4
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 0x60]
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
test eax, eax
je 0x41d4b4
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x48]
mov byte [eax + 0x1c], 0
jmp case.0x419f0a.12
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x30]
mov eax, dword [edx + ecx*4]
cmp byte [eax + 0x1c], 0
jne case.0x419f0a.12
mov eax, dword [eax + 0x60]
mov ecx, dword [eax]
mov ecx, dword [ecx]
lea edx, [esp + 0x1c0]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
mov cx, word [ebx + 0x1c]
mov edx, dword [esp + 0x1c8]
and cx, 0xffe4
add esp, 8
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x1c4]
or cx, 4
mov word [ebx + 0x1c], cx
mov dword [ebx], edx
mov dword [ebx + 4], eax
jmp case.0x419f0a.12
mov edx, dword [esi + 0x30]
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
cmp byte [ecx + 0x1c], 0
mov eax, dword [edi + 0xc]
mov edx, dword [esi + 0x4c]
lea eax, [eax + eax*4]
mov dword [esp + 0x50], ecx
lea esi, [edx + eax*8]
je 0x41d551
mov ax, word [esi + 0x1c]
and ax, 0xffe1
or ax, 1
mov word [esi + 0x1c], ax
mov byte [esi + 0x1e], 5
jmp case.0x419f0a.12
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx]
mov ecx, dword [eax]
push 0x40
lea edx, [esp + 0xfc]
push 0
push edx
mov dword [esp + 0x54], ecx
call fcn.0046e670
add esp, 0xc
mov ebx, esi
lea eax, [esp + 0x100]
call fcn.00415030
mov eax, dword [esp + 0x11c]
mov ecx, dword [edi + 8]
and eax, 0xffe1
or eax, 1
mov word [esp + 0x11c], ax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [eax + 0x60]
lea edx, [esp + 0xfc]
push edx
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x2c]
push ecx
call eax
movzx ecx, byte [esp + 0x78]
mov dword [esp + 0x48], eax
add esp, 0xc
lea eax, [esp + 0x100]
call fcn.00414800
lea ebx, [esp + 0x100]
jmp 0x41a7bd
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x30]
mov ebx, dword [edx + ecx*4]
cmp byte [ebx + 0x1c], 0
jne case.0x419f0a.12
mov eax, dword [ebx + 0x60]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov byte [esi + 0x101], 1
mov edx, dword [ebx + 0x60]
mov dword [esp + 0x50], eax
mov eax, dword [eax + 0x24]
push edx
call eax
add esp, 4
test eax, eax
mov dword [esp + 0x3c], eax
mov byte [esi + 0x101], 0
jne 0x41ae16
mov ecx, dword [ebx + 0x60]
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
test eax, eax
jne case.0x419f0a.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x4c], edi
jmp case.0x419f0a.12
mov ebx, dword [edi + 0x10]
mov edi, dword [edi + 4]
mov edx, dword [esi + 0x4c]
lea ecx, [edi + edi*4]
test byte [edx + ecx*8 + 0x1c], 0x12
lea esi, [edx + ecx*8]
jne 0x41d671
movzx eax, byte [esp + 0x6c]
push eax
call fcn.00414a40
add esp, 4
test eax, eax
jne 0x41a281
add dword [ebx + 4], 1
mov edx, dword [esi + 0x14]
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x4c]
push edx
push ebx
call eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x44], eax
add esp, 8
mov eax, ebx
call fcn.0043e030
jmp case.0x419f0a.12
mov ebx, dword [edi + 0x10]
mov ecx, dword [ebx]
cmp dword [ecx + 0x34], 0
mov eax, dword [edi + 8]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x48], eax
jne 0x41d6ba
push 0
push str.read_only_table
jmp 0x41b76a
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x50], ecx
mov ecx, dword [edi + 0xc]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + edx*8]
xor edx, edx
test eax, eax
jle 0x41d6eb
call fcn.00419aa0
mov eax, dword [esp + 0x50]
mov dword [eax + edx*4], ecx
add edx, 1
add ecx, 0x28
cmp edx, dword [esp + 0x48]
jl 0x41d6d3
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
add dword [ebx + 4], 1
lea ecx, [esp + 0x1b0]
push ecx
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [ecx + 0x34]
push eax
push ebx
call edx
mov dword [esp + 0x4c], eax
mov eax, ebx
mov ebx, dword [esp + 0x50]
add esp, 0x10
mov ecx, ebx
call fcn.0043e030
cmp dword [edi + 4], 0
je 0x41d740
cmp dword [esp + 0x3c], 0
jne 0x41d740
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], ecx
add dword [esi + 0x104], 1
jmp case.0x419f0a.12
mov edi, dword [edi + 0x10]
test edi, edi
je case.0x419f0a.12
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 0x94]
test eax, eax
je case.0x419f0a.12
mov ecx, edx
mov edx, dword [ecx + 0x98]
push edi
push edx
call eax
add esp, 8
jmp case.0x419f0a.12
mov dword [esp + 0x3c], 9
jmp 0x41a2ad
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x4c]
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], ecx
mov edx, dword [edi + 8]
mov dword [esi + 0x7c], edx
mov edi, dword [edi + 0x10]
test edi, edi
je 0x41d7b6
push 0
lea eax, [esi + 0xf4]
push edi
push eax
call fcn.00403800
add esp, 0xc
push esi
call fcn.00417220
mov edi, 5
add esp, 4
cmp eax, edi
je 0x41d8c9
mov edi, dword [esi + 0x74]
mov ebx, dword [esp + 0x164]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
call fcn.0040bfc0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x54]
add ecx, 2
or ecx, 1
mov dword [esi + 0x54], ecx
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
lea eax, [eax + edx*8]
xor ebx, ebx
mov dword [esi + 0xf8], eax
cmp dword [edi + 8], ebx
jle 0x41d82e
mov esi, eax
mov eax, esi
call fcn.004149f0
mov ecx, esi
call fcn.00419aa0
add ebx, 1
add esi, 0x28
cmp ebx, dword [edi + 8]
jl 0x41d815
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 0x1e], 0
jne 0x41a281
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x164]
add dword [eax + 0x50], 1
add edx, 1
mov dword [eax + 0x70], edx
mov edi, 0x64
call fcn.0040bfc0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x1d8]
push eax
call fcn.00414be0
add esp, 4
jmp 0x41a281
mov dword [esp + 0x3c], 0x14
jmp 0x41d934
cmp dword [edi + 8], 0
je 0x41d8a2
mov esi, eax
call fcn.004470d0
mov byte [esi + 0x1c], 1
mov esi, dword [ebp + 8]
jmp 0x41d7cc
mov edi, eax
push esi
mov byte [edi + 0x1c], bl
call fcn.00417220
add esp, 4
cmp eax, 5
jne 0x41d7cc
mov ecx, dword [esp + 0x4c]
mov dl, 1
sub dl, bl
mov dword [esi + 0x70], ecx
mov byte [edi + 0x1c], dl
mov edi, eax
mov ebx, dword [esp + 0x164]
mov dword [esi + 0x74], edi
call fcn.0040bfc0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x164]
mov edi, 5
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edi
call fcn.0040bfc0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x164]
mov edi, 5
mov dword [eax + 0x70], ecx
mov dword [eax + 0x74], edi
call fcn.0040bfc0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x3c], 0xd
mov edx, dword [esp + 0x40]
cmp byte [edx + 0x1e], 0
je 0x41d946
mov dword [esp + 0x3c], 7
mov eax, dword [esp + 0x3c]
and eax, 0xff
cmp eax, 0x65
ja 0x41d95b
call fcn.00447190
jmp 0x41d960
mov eax, str.unknown_error
push 0
push eax
mov eax, dword [ebp + 8]
add eax, 0xf4
push eax
call fcn.00403800
jmp 0x41a2a7
mov eax, 9
mov dword [esp + 0x3c], eax
mov dword [esi + 0x74], eax
call fcn.00447190
push 0
push eax
lea ecx, [esi + 0xf4]
push ecx
call fcn.00403800
jmp 0x41a2aa