Function at 0x490cf0
Capabilities:
Enumerate pe sections
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x134
mov eax, dword [0x512054]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esi]
mov ecx, dword [edi + 8]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x39]
xor eax, eax
lea ebx, [esi + 0x88]
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
mov byte [esp + 0x5c], cl
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x7c], ebx
call fcn.004827b0
cmp dword [esi + 0x64], 7
je 0x495e3b
xor eax, eax
mov dword [esi + 0x64], eax
mov dword [esi + 0x2c], eax
mov edx, dword [edi + 0xd0]
mov dword [edi + 0x198], eax
test edx, edx
jne 0x495e06
mov eax, dword [esi + 0x60]
mov dword [esp + 0x4c], eax
cmp byte [edi + 0x1e], 0
jne 0x495e3b
mov eax, dword [esp + 0x4c]
mov edx, dword [esi + 0x14]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*4]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0xf8]
mov dword [esp + 0x58], edi
test eax, eax
je 0x490dd5
mov edx, dword [ecx + 0x100]
cmp edx, dword [esp + 0x68]
jne 0x490dd1
mov ecx, dword [ecx + 0xfc]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x495cd0
mov dword [esp + 0x68], eax
inc dword [esp + 0x68]
movzx edx, byte [edi]
mov cl, byte [edx + 0x4f13e0]
test cl, 2
je 0x490e2a
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x4c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov dword [esp + 0x50], esi
call fcn.0048b9a0
mov edx, 1
mov word [esi + 0x1c], dx
mov dword [esi + 0x18], 0
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x50]
movzx eax, byte [edi]
mov ecx, dword [esp + 0x48]
dec eax
cmp eax, 0x90
ja case.0x490e23.12
jmp dword [eax*4 + 0x495ec0]
test cl, 4
je 0x490e7d
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x4c]
lea edx, [edx + edx*4]
lea edx, [eax + edx*8]
mov dword [esp + 0x48], edx
test cl, 8
je 0x490e65
mov edx, dword [edi + 8]
lea edx, [edx + edx*4]
lea edx, [eax + edx*8]
mov dword [esp + 0x60], edx
test cl, 0x20
je 0x490e0c
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov dword [esp + 0x50], edx
jmp 0x490e0c
mov ebx, dword [esp + 0x50]
test cl, 0x10
je 0x490e10
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov dword [esp + 0x54], edx
jmp 0x490e10
test cl, 8
je 0x490e97
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x4c]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [esp + 0x60], edx
jmp 0x490e0c
mov ebx, dword [esp + 0x50]
test cl, 0x10
je 0x490e10
mov eax, dword [edi + 0xc]
mov ecx, dword [esi + 0x4c]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [esp + 0x54], edx
jmp 0x490e10
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
jne 0x495e06
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
lea ecx, [eax + edx*8]
mov eax, dword [esp + 0x4c]
mov edx, 4
mov word [ecx + 0x1c], dx
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
jmp case.0x490e23.12
mov ecx, dword [ecx]
mov dword [esp + 0x4c], ecx
jmp case.0x490e23.12
mov eax, dword [ecx]
mov edx, 4
mov word [ecx + 0x1c], dx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x4c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x4c], ecx
jmp case.0x490e23.12
mov edx, dword [esp + 0x54]
test byte [edx + 0x1c], 1
je case.0x490e23.12
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], eax
mov cl, byte [edi + 8]
mov byte [esi + 0x38], cl
mov edi, dword [edi + 0x10]
test edi, edi
je 0x490f7c
mov eax, dword [esp + 0x3c]
push edi
push 0x4fc568
lea edi, [esi + 0x68]
call fcn.00479260
add esp, 8
push esi
call fcn.0048e230
mov edi, 5
add esp, 4
cmp eax, edi
je 0x495d0f
mov edi, dword [esi + 0x64]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x495e9f
mov eax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [edi + 4]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x490e23.12
mov ecx, 4
mov word [ebx + 0x1c], cx
mov edi, dword [edi + 0x10]
mov edx, dword [edi]
mov dword [ebx], edx
mov eax, dword [edi + 4]
mov dword [ebx + 4], eax
jmp case.0x490e23.12
mov ecx, 8
mov word [ebx + 0x1c], cx
mov edx, dword [edi + 0x10]
fld qword [edx]
fstp qword [ebx + 8]
jmp case.0x490e23.12
mov ecx, dword [edi + 0x10]
mov byte [edi], 0x1c
mov dword [esp + 0x74], ecx
call fcn.0047ad90
cmp byte [esp + 0x5c], 1
mov dword [edi + 4], eax
je 0x491132
test ecx, ecx
jne 0x49103b
test byte [ebx + 0x1c], 0x20
je 0x49101e
mov edi, dword [ebx]
call fcn.0047e8a0
mov edi, dword [esp + 0x58]
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1e], 5
jmp 0x4910d4
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x491047
mov edx, dword [eax + 0x48]
jmp 0x49104c
mov edx, 0x3b9aca00
xor eax, eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x58], eax
test edx, edx
jl 0x49106f
lea ebx, [ebx]
cmp byte [eax + ecx], 0
je 0x49106b
inc eax
cmp eax, edx
jle 0x491060
mov dword [esp + 0x58], eax
xor edx, edx
mov dword [esp + 0x40], 0x202
push ebx
cmp edx, fcn.00478e80
jne 0x491090
call fcn.0048ba00
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x24], eax
jmp 0x4910a1
call fcn.0048ba00
mov eax, dword [esp + 0x78]
mov dword [esp + 0x44], 0xa02
mov cx, word [esp + 0x44]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x5c]
add esp, 4
cmp eax, dword [esp + 0x64]
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x18], eax
mov word [ebx + 0x1c], cx
mov byte [ebx + 0x1f], 1
mov byte [ebx + 0x1e], 3
jg 0x495e5e
mov ebx, dword [esp + 0x50]
movzx ecx, byte [esp + 0x5c]
mov eax, ebx
mov dword [esp + 0x40], 0
call fcn.0048b620
test eax, eax
jne 0x495e3b
mov dx, word [ebx + 0x1c]
mov dword [ebx + 0x24], eax
mov eax, 0xfbff
and dx, ax
mov ecx, 0x800
or dx, cx
mov word [ebx + 0x1c], dx
cmp byte [edi + 1], 0xff
jne 0x491122
mov edx, dword [edi + 0x10]
mov eax, dword [esp + 0x3c]
push edx
push eax
call fcn.00478e80
add esp, 8
mov byte [edi + 1], 0xff
mov ecx, dword [ebx + 0x14]
mov dword [edi + 0x10], ecx
mov edx, dword [ebx + 0x18]
mov dword [edi + 4], edx
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x3c]
cmp eax, dword [ecx + 0x48]
jg 0x495e5e
mov ebx, dword [esp + 0x50]
mov edx, 0xa02
mov word [ebx + 0x1c], dx
mov eax, dword [edi + 0x10]
mov dl, byte [esp + 0x5c]
mov dword [ebx + 0x14], eax
mov ecx, dword [edi + 4]
mov dword [ebx + 0x18], ecx
mov byte [ebx + 0x1f], dl
jmp case.0x490e23.12
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 4]
push 0
push eax
xor eax, eax
mov edx, ebx
call fcn.0048bfa0
mov cl, byte [esp + 0x64]
add esp, 8
mov byte [ebx + 0x1f], cl
jmp case.0x490e23.12
mov eax, dword [edi + 4]
dec eax
mov dword [esp + 0x90], eax
mov ebx, dword [edi + 8]
mov dword [esp + 0x94], ebx
mov edi, dword [edi + 0xc]
test edi, edi
jle 0x491238
jmp 0x4911be
mov ebx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
mov ecx, dword [esi + 0x3c]
lea edx, [eax + eax*4]
lea ecx, [ecx + edx*8]
inc eax
dec edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x90], eax
call fcn.0048be90
test eax, eax
jne 0x495e5e
mov eax, dword [esi + 0x4c]
lea edx, [ebx + ebx*4]
lea esi, [eax + edx*8]
inc ebx
mov dword [esp + 0x50], esi
mov dword [esp + 0x94], ebx
call fcn.0048b9a0
mov ecx, 1
mov word [esi + 0x1c], cx
mov edx, dword [esp + 0x9c]
push 0x800
push edx
mov ebx, esi
call fcn.0048bec0
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0x4c]
add esp, 8
test edi, edi
jg 0x4911b0
dec edi
mov dword [esp + 0x98], edi
jmp case.0x490e23.12
mov eax, dword [edi + 0xc]
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x94], eax
mov ecx, dword [edi + 4]
mov dword [esp + 0x98], ecx
mov edi, dword [edi + 8]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*8]
lea ecx, [edi + edi*4]
mov dword [esp + 0x9c], edi
lea edi, [edx + ecx*8]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x50], edi
test eax, eax
je 0x4912c1
dec eax
mov dword [esp + 0x94], eax
mov edx, dword [edi + 0x24]
mov dword [esp + 0x90], edx
mov eax, edi
mov dword [edi + 0x24], 0
call fcn.0048bf70
mov eax, dword [esp + 0x90]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x94]
add ebx, 0x28
add edi, 0x28
test eax, eax
jne 0x49127e
mov dword [esp + 0x50], edi
mov dword [esp + 0x48], ebx
dec eax
mov dword [esp + 0x94], eax
jmp case.0x490e23.12
mov edi, dword [edi + 8]
mov edx, dword [esi + 0x4c]
mov eax, dword [esp + 0x48]
lea ecx, [edi + edi*4]
lea ebx, [edx + ecx*8]
push 0x1000
push eax
mov dword [esp + 0x58], ebx
call fcn.0048bec0
mov ecx, 0x1000
add esp, 8
test word [ebx + 0x1c], cx
je case.0x490e23.12
mov eax, ebx
call fcn.0048b770
test eax, eax
jne 0x495e3b
jmp case.0x490e23.12
mov edi, dword [edi + 8]
mov eax, dword [esi + 0x4c]
mov ecx, dword [esp + 0x48]
lea edx, [edi + edi*4]
lea ebx, [eax + edx*8]
push 0x1000
push ecx
mov dword [esp + 0x58], ebx
call fcn.0048bec0
add esp, 8
jmp case.0x490e23.12
push 1
push esi
call fcn.0048e180
add esp, 8
mov dword [esp + 0x40], eax
test eax, eax
jne case.0x490e23.12
mov edx, dword [esi + 0x50]
mov ecx, dword [esi + 0x4c]
add edx, 2
or edx, 1
mov dword [esi + 0x50], edx
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esi + 0x2c], eax
mov dword [esp + 0x90], eax
xor eax, eax
mov dword [esp + 0x94], eax
cmp dword [edi + 8], eax
jle 0x4913c0
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x90]
lea eax, [eax + edx*8]
call fcn.0048b830
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
call fcn.00490a60
mov eax, dword [esp + 0x94]
inc eax
mov dword [esp + 0x94], eax
cmp eax, dword [edi + 8]
jl 0x491381
mov eax, dword [esp + 0x3c]
cmp byte [eax + 0x1e], 0
jne 0x495e3b
mov ecx, dword [esp + 0x4c]
inc ecx
mov dword [esi + 0x60], ecx
mov edi, 0x64
jmp 0x495e9f
movzx eax, word [ecx + 0x1c]
mov edx, dword [esp + 0x60]
mov dl, byte [edx + 0x1c]
or dl, al
test dl, 1
jne 0x495cad
test eax, 0x4000
je 0x491412
mov eax, dword [esp + 0x48]
call fcn.0048b7d0
test eax, eax
jne 0x495e3b
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x60]
mov eax, 0x4000
test word [edx + 0x1c], ax
je 0x491434
mov eax, edx
call fcn.0048b7d0
test eax, eax
jne 0x495e3b
mov ecx, dword [esp + 0x48]
test byte [ecx + 0x1c], 0x12
jne 0x491454
movzx esi, byte [esp + 0x5c]
mov eax, dword [esp + 0x48]
call fcn.0048b880
test eax, eax
jne 0x495e37
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x60]
test byte [edi + 0x1c], 0x12
jne 0x491476
movzx esi, byte [esp + 0x5c]
mov eax, edi
call fcn.0048b880
test eax, eax
jne 0x495e37
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x18]
add eax, dword [edi + 0x18]
cdq
mov ecx, edx
mov edx, dword [esp + 0x3c]
mov ebx, eax
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x495e5e
jl 0x4914ad
cmp ebx, eax
ja 0x495e5e
mov ebx, dword [esp + 0x50]
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf02
and ax, cx
or ax, 2
xor edx, edx
cmp ebx, edi
sete dl
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x90]
add eax, 2
push edx
call fcn.0048b640
add esp, 4
test eax, eax
jne 0x495e3b
cmp ebx, edi
je 0x4914ff
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
mov edx, dword [ebx + 0x14]
push eax
push ecx
push edx
call fcn.004cf8d0
add esp, 0xc
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [ebx + 0x14]
add eax, dword [edi + 0x18]
push ecx
push edx
push eax
call fcn.004cf8d0
mov edx, dword [esp + 0x9c]
mov ecx, dword [ebx + 0x14]
mov byte [edx + ecx], 0
mov ecx, dword [esp + 0x9c]
mov eax, dword [ebx + 0x14]
mov byte [eax + ecx + 1], 0
mov cl, byte [esp + 0x68]
mov edx, 0x200
add esp, 0xc
or word [ebx + 0x1c], dx
mov eax, dword [esp + 0x90]
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], cl
jmp case.0x490e23.12
mov edi, dword [esp + 0x48]
call fcn.00490b50
mov edi, dword [esp + 0x60]
call fcn.00490b50
mov eax, dword [esp + 0x48]
movzx edx, word [eax + 0x1c]
movzx ecx, word [edi + 0x1c]
or edx, ecx
mov dword [esp + 0x90], edx
test dl, 1
jne 0x4917e5
mov dl, byte [eax + 0x1c]
and dl, byte [edi + 0x1c]
test dl, 4
je 0x4916a3
mov ecx, dword [eax]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x98], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x9c], edx
mov eax, dword [edi]
mov dword [esp + 0xa0], eax
mov edi, dword [edi + 4]
mov dword [esp + 0xa4], edi
movzx ebx, byte [ebx]
add ebx, 0xffffffac
cmp ebx, 3
ja case.default.0x4915ca
jmp dword [ebx*4 + 0x496104]
add eax, ecx
adc edi, edx
mov dword [esp + 0xa4], edi
jmp 0x491673
sub eax, ecx
sbb edi, edx
mov dword [esp + 0xa4], edi
jmp 0x491673
push edx
push ecx
push edi
push eax
call fcn.004d4e30
jmp 0x49166c
mov ebx, ecx
or ebx, edx
je 0x4917e5
mov ebx, ecx
and ebx, edx
cmp ebx, 0xffffffff
jne 0x491630
test eax, eax
jne 0x491630
cmp edi, 0x80000000
jne 0x491630
mov ecx, 1
xor edx, edx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
push edx
push ecx
push edi
push eax
call fcn.004d4e70
jmp 0x49166c
mov ebx, ecx
or ebx, edx
je 0x4917e5
mov ebx, ecx
and ebx, edx
cmp ebx, 0xffffffff
jne 0x491663
mov ecx, 1
xor edx, edx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
push edx
push ecx
push edi
push eax
call fcn.004d4f20
mov dword [esp + 0xa4], edx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xa0], eax
mov dx, word [ecx + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0xa4]
mov dword [ecx + 4], eax
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
jmp case.0x490e23.12
mov esi, eax
call fcn.0048bb60
fstp qword [esp + 0xa8]
mov esi, edi
call fcn.0048bb60
fst qword [esp + 0xb0]
mov ecx, dword [esp + 0x58]
movzx eax, byte [ecx]
add eax, 0xffffffac
cmp eax, 3
ja case.default.0x4916ce
jmp dword [eax*4 + 0x496114]
fadd qword [esp + 0xa8]
jmp 0x49178c
fsub qword [esp + 0xa8]
jmp 0x49178c
fmul qword [esp + 0xa8]
jmp 0x49178c
fldz
fld qword [esp + 0xa8]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x4917e1
fdivp st(1)
jmp 0x49178c
fld qword [esp + 0xa8]
call fcn.004e3196
mov esi, eax
mov edi, edx
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
call fcn.004e3196
mov ecx, esi
or ecx, edi
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
je 0x4917e5
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x49176e
mov esi, 1
xor edi, edi
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
push edi
push esi
push edx
push eax
call fcn.004d4f20
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
fild qword [esp + 0x80]
sub esp, 8
fst qword [esp + 0xb8]
fstp qword [esp]
call fcn.0047ad50
add esp, 8
test eax, eax
jne 0x4917e5
mov eax, dword [esp + 0x50]
fld qword [esp + 0xb0]
mov dx, word [eax + 0x1c]
fstp qword [eax + 8]
mov ecx, 0xbf08
and dx, cx
or dx, 8
mov word [eax + 0x1c], dx
test byte [esp + 0x90], 8
jne 0x495cb4
mov edi, eax
call fcn.0048bbe0
jmp 0x495cb4
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x50]
jmp 0x495caf
movzx ecx, byte [edi + 3]
mov edx, dword [esi + 0x24]
mov dword [esp + 0xd8], edx
mov edx, dword [esi + 0x4c]
mov dword [esp + 0xdc], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x90], eax
test ecx, ecx
jle 0x491860
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0xd8]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x94]
call fcn.00490a60
mov eax, dword [esp + 0x90]
add dword [esp + 0x94], 0x28
inc eax
cmp eax, dword [esp + 0xdc]
mov dword [esp + 0x90], eax
jl 0x491823
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x49187d
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], 0
jmp 0x49188d
mov dword [esp + 0x9c], eax
mov ecx, dword [eax]
mov dword [esp + 0x98], ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
lea ebx, [eax + edx*8]
mov edx, dword [esp + 0x3c]
xor eax, eax
mov ecx, 1
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x50], ebx
mov word [esp + 0xbc], cx
mov dword [esp + 0xb0], edx
call fcn.0048bf70
mov eax, dword [esp + 0xbc]
and eax, 0xbf01
or eax, 1
mov word [esp + 0xbc], ax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xcc], 0
test byte [eax + 3], 8
je 0x49190a
mov ecx, dword [edi - 4]
mov dword [esp + 0xd0], ecx
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov eax, dword [eax + 0xc]
push edx
push ecx
lea edx, [esp + 0xa0]
push edx
call eax
mov ecx, dword [esp + 0x48]
add esp, 0xc
cmp byte [ecx + 0x1e], 0
jne 0x495cdd
mov ebx, dword [esp + 0x9c]
test ebx, ebx
je 0x49195d
mov edx, dword [edi + 4]
push edx
call fcn.0048e6d0
mov eax, dword [esp + 0xa0]
add esp, 4
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xf9
cmp dword [esp + 0xcc], 0
je 0x491995
mov bl, 1
lea edi, [esp + 0xa0]
call fcn.0048c4d0
push eax
mov eax, dword [esp + 0x40]
push 0x4fc568
lea edi, [esi + 0x68]
call fcn.00479260
mov ecx, dword [esp + 0xd4]
add esp, 8
mov dword [esp + 0x40], ecx
movzx ecx, byte [esp + 0x5c]
lea eax, [esp + 0xa0]
call fcn.0048b620
mov edi, dword [esp + 0x50]
lea ebx, [esp + 0xa0]
mov eax, edi
call fcn.0048bf70
mov ecx, edi
call fcn.0048be90
test eax, eax
jne 0x495e5e
jmp case.0x490e23.12
mov edx, dword [esp + 0x60]
mov al, byte [edx + 0x1c]
or al, byte [ecx + 0x1c]
test al, 1
jne 0x495cad
mov esi, edx
call fcn.0048bad0
mov esi, dword [esp + 0x48]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
call fcn.0048bad0
mov ecx, eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
movzx eax, byte [edi]
sub eax, 0x50
je 0x491a66
sub eax, 1
je 0x491a56
mov edx, dword [esp + 0x94]
sub eax, 1
mov eax, dword [esp + 0x90]
je 0x491a41
call fcn.004e3290
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
jmp 0x491a74
call fcn.004e3140
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
jmp 0x491a74
or dword [esp + 0x90], ecx
or dword [esp + 0x94], edx
jmp 0x491a74
and dword [esp + 0x90], ecx
and dword [esp + 0x94], edx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov edx, dword [esp + 0x94]
mov cx, word [eax + 0x1c]
mov dword [eax + 4], edx
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp 0x495cb4
mov ebx, dword [esp + 0x48]
mov eax, ebx
call fcn.0048bc40
mov eax, dword [edi + 8]
cdq
add dword [ebx], eax
adc dword [ebx + 4], edx
jmp case.0x490e23.12
mov edi, dword [esp + 0x48]
call fcn.00490b50
test byte [edi + 0x1c], 8
je 0x491ad1
call fcn.0048bbe0
movzx eax, word [edi + 0x1c]
test al, 4
jne 0x491af2
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 8]
test eax, eax
je 0x495cf2
dec eax
mov dword [esp + 0x4c], eax
jmp case.0x490e23.12
and eax, 0xbf04
or eax, 4
mov word [edi + 0x1c], ax
jmp case.0x490e23.12
test byte [ecx + 0x1c], 4
je case.0x490e23.12
mov eax, dword [esp + 0x48]
call fcn.0048bc70
jmp case.0x490e23.12
movzx edx, word [ecx + 0x1c]
test dl, 1
jne case.0x490e23.12
mov eax, edx
shr eax, 3
and eax, 2
or eax, edx
mov word [ecx + 0x1c], ax
test al, 2
jne 0x491b54
test al, 0xc
je 0x491b54
movzx esi, byte [esp + 0x5c]
mov eax, dword [esp + 0x48]
call fcn.0048b880
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x48]
mov edx, 0xfff3
and word [ecx + 0x1c], dx
movzx eax, word [ecx + 0x1c]
test eax, 0x4000
je 0x491b85
mov eax, edi
call fcn.0048b7d0
mov dword [esp + 0x40], eax
mov eax, 0xbfe3
and word [edi + 0x1c], ax
jmp case.0x490e23.12
mov eax, 0xbfe3
and word [edi + 0x1c], ax
mov dword [esp + 0x40], 0
jmp case.0x490e23.12
movzx eax, word [ecx + 0x1c]
test al, 1
jne case.0x490e23.12
test al, 0x10
jne 0x491be2
test al, 2
jne 0x491bc9
test al, 0xc
je 0x491bc9
movzx esi, byte [esp + 0x5c]
mov eax, dword [esp + 0x48]
call fcn.0048b880
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dx, word [ecx + 0x1c]
mov eax, 0xbf10
and dx, ax
or dx, 0x10
mov word [ecx + 0x1c], dx
jmp case.0x490e23.12
and eax, 0xff10
mov word [ecx + 0x1c], ax
jmp case.0x490e23.12
test byte [ecx + 0x1c], 0xd
jne case.0x490e23.12
mov eax, dword [esp + 0x48]
call fcn.0048bca0
jmp case.0x490e23.12
test byte [ecx + 0x1c], 1
jne case.0x490e23.12
mov eax, dword [esp + 0x48]
call fcn.0048bc40
jmp case.0x490e23.12
test byte [ecx + 0x1c], 1
jne case.0x490e23.12
mov eax, dword [esp + 0x48]
call fcn.0048bc70
jmp case.0x490e23.12
mov edx, dword [esp + 0x54]
movzx eax, word [edx + 0x1c]
movzx edx, word [ecx + 0x1c]
or eax, edx
mov dword [esp + 0x90], eax
test byte [esp + 0x90], 1
mov al, byte [edi + 3]
je 0x491c9d
test al, 0x10
je 0x491c88
mov edi, dword [edi + 8]
mov ecx, dword [esi + 0x4c]
lea eax, [edi + edi*4]
mov dx, word [ecx + eax*8 + 0x1c]
lea eax, [ecx + eax*8]
mov ecx, 0xbf01
and dx, cx
or dx, 1
mov dword [esp + 0x50], eax
mov word [eax + 0x1c], dx
jmp case.0x490e23.12
test al, 8
je case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
and al, 0x67
mov byte [esp + 0x98], al
je 0x491cdf
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x48]
push ebx
call fcn.00490bf0
mov al, byte [esp + 0x9c]
mov ecx, dword [esp + 0x58]
add esp, 4
push ebx
call fcn.00490bf0
mov edx, dword [esp + 0x40]
add esp, 4
cmp byte [edx + 0x1e], 0
jne 0x495e3b
mov ecx, dword [esp + 0x48]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x491cf3
mov eax, dword [esp + 0x48]
call fcn.0048b7d0
mov edx, dword [esp + 0x54]
mov ecx, 0x4000
test word [edx + 0x1c], cx
je 0x491d09
mov eax, edx
call fcn.0048b7d0
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x4c]
call fcn.0048c150
mov dword [esp + 0x98], eax
movzx ecx, byte [edi]
add ecx, 0xffffffb7
add esp, 4
cmp ecx, 4
ja case.default.0x491d2f
jmp dword [ecx*4 + 0x496124]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x491d72
xor edx, edx
test eax, eax
setne dl
jmp 0x491d70
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x491d72
xor edx, edx
test eax, eax
setle dl
jmp 0x491d70
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x491d72
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x94], eax
test byte [edi + 3], 0x10
je 0x492081
mov edi, dword [edi + 8]
mov ecx, dword [esi + 0x4c]
lea eax, [edi + edi*4]
mov dx, word [ecx + eax*8 + 0x1c]
lea ecx, [ecx + eax*8]
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
mov eax, dword [esp + 0x94]
cdq
mov dword [esp + 0x50], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x490e23.12
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x70], ecx
jmp case.0x490e23.12
mov edx, dword [edi + 0xc]
mov dword [esp + 0x90], edx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0xa0], ecx
mov eax, dword [edi + 4]
mov dword [esp + 0x98], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x94], eax
test edx, edx
jle 0x491ea2
mov ebx, dword [esp + 0x70]
jmp 0x491e0c
mov ecx, dword [esp + 0xa0]
test ebx, ebx
je 0x491e15
mov edx, dword [ebx + eax*4]
jmp 0x491e17
mov edx, eax
mov dword [esp + 0xa4], edx
mov edi, dword [ecx + eax*4 + 0xc]
mov dword [esp + 0xa8], edi
mov ecx, dword [ecx + 8]
movzx eax, byte [ecx + eax]
mov ecx, dword [esi + 0x4c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x9c]
add eax, edx
push edi
mov edi, dword [esp + 0x9c]
add edx, edi
lea eax, [eax + eax*4]
lea edx, [edx + edx*4]
lea eax, [ecx + eax*8]
lea ecx, [ecx + edx*8]
call fcn.0048c150
add esp, 4
mov dword [esp + 0x6c], eax
test eax, eax
jne 0x491e8e
mov eax, dword [esp + 0x94]
inc eax
cmp eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
jl 0x491e05
mov dword [esp + 0x70], 0
jmp case.0x490e23.12
cmp dword [esp + 0xac], 0
je 0x491ea2
mov eax, dword [esp + 0x6c]
neg eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0
jmp case.0x490e23.12
mov eax, dword [esp + 0x6c]
test eax, eax
jge 0x491ec4
mov edi, dword [edi + 4]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
jne 0x491ed3
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
mov edi, dword [edi + 0xc]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
test byte [ecx + 0x1c], 1
je 0x491eed
mov eax, 2
jmp 0x491f07
mov esi, dword [esp + 0x48]
call fcn.0048bad0
or eax, edx
mov esi, dword [esp + 0x44]
je 0x491f05
mov eax, 1
jmp 0x491f07
xor eax, eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x90], eax
test byte [ecx + 0x1c], 1
je 0x491f1f
mov edx, 2
jmp 0x491f3e
mov esi, ecx
call fcn.0048bad0
mov esi, dword [esp + 0x44]
or eax, edx
mov eax, dword [esp + 0x90]
je 0x491f3c
mov edx, 1
jmp 0x491f3e
xor edx, edx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x94], edx
cmp byte [edi], 0x43
lea edx, [edx + eax*2]
jne 0x491f5b
movzx eax, byte [eax + edx + 0x4f13ac]
jmp 0x491f63
movzx eax, byte [eax + edx + 0x4f1474]
mov dword [esp + 0x90], eax
cmp eax, 2
jne 0x491f88
mov ax, word [ecx + 0x1c]
mov edx, 0xbf01
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
jmp case.0x490e23.12
cdq
mov dword [ecx], eax
mov ax, word [ecx + 0x1c]
mov dword [ecx + 4], edx
mov edx, 0xbf04
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
jmp case.0x490e23.12
test byte [ecx + 0x1c], 1
mov edi, dword [edi + 8]
mov edx, dword [esi + 0x4c]
lea eax, [edi + edi*4]
lea edi, [edx + eax*8]
mov dword [esp + 0x50], edi
je 0x491fc4
mov esi, edi
jmp 0x495caf
mov esi, dword [esp + 0x48]
call fcn.0048bad0
or eax, edx
jne 0x491fe8
mov eax, 1
cdq
push edx
push eax
mov esi, edi
call fcn.0048bd50
add esp, 8
jmp 0x495cb4
xor eax, eax
cdq
push edx
push eax
mov esi, edi
call fcn.0048bd50
add esp, 8
jmp 0x495cb4
test byte [ecx + 0x1c], 1
mov edi, dword [edi + 8]
mov edx, dword [esi + 0x4c]
lea eax, [edi + edi*4]
lea edi, [edx + eax*8]
mov dword [esp + 0x50], edi
je 0x492019
mov esi, edi
jmp 0x495caf
mov esi, dword [esp + 0x48]
call fcn.0048bad0
not edx
not eax
push edx
push eax
mov esi, edi
call fcn.0048bd50
add esp, 8
jmp 0x495cb4
test byte [ecx + 0x1c], 1
je 0x492042
mov eax, dword [edi + 0xc]
jmp 0x49207a
mov esi, dword [esp + 0x48]
call fcn.0048bb60
fcomp qword [0x5003f8]
fnstsw ax
test ah, 0x44
jnp 0x49205f
mov eax, 1
jmp 0x492061
xor eax, eax
mov esi, dword [esp + 0x44]
mov dword [esp + 0x90], eax
cmp byte [edi], 0x44
jne 0x492081
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [esp + 0x90], eax
test eax, eax
je case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
test byte [ecx + 0x1c], 1
je case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
test byte [ecx + 0x1c], 1
jne case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
mov edx, dword [edi + 4]
mov dword [esp + 0xa0], edx
mov eax, dword [edi + 8]
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
xor edx, edx
mov dword [esp + 0xa8], edx
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
lea eax, [eax + ecx*8]
mov dword [esp + 0xcc], eax
mov cx, word [eax + 0x1c]
mov ebx, 0xbf01
and cx, bx
or cx, 1
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0xa0]
mov eax, dword [esi + 0x34]
mov dword [esp + 0xac], edx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xa8], eax
mov ecx, dword [eax]
mov dword [esp + 0xb0], ecx
cmp ecx, edx
je 0x492278
mov esi, eax
call fcn.0048e900
mov dword [esp + 0x40], eax
test eax, eax
jne 0x495dad
mov eax, dword [esp + 0xa8]
cmp byte [eax + 0x14], 0
je 0x4921ac
mov dword [esp + 0x90], 0
jmp 0x495cb4
mov edx, dword [eax + 0x5c]
mov ecx, dword [esp + 0x44]
cmp edx, dword [ecx + 0x50]
jne 0x492214
mov ecx, dword [eax + 0x60]
mov dword [esp + 0x90], ecx
mov edx, dword [eax + 0x6c]
mov dword [esp + 0xac], edx
mov esi, dword [esp + 0x44]
test ecx, ecx
je case.0x490e23.12
mov edx, dword [esp + 0x3c]
cmp ecx, dword [edx + 0x48]
ja 0x495e5e
mov edx, dword [eax + 0x44]
mov dword [esp + 0xbc], edx
mov ecx, dword [eax + 0x64]
mov dword [esp + 0xb4], ecx
mov ebx, dword [eax + 0x5c]
cmp ebx, dword [esi + 0x50]
jne 0x4922b4
mov eax, dword [eax + 0x68]
mov dword [esp + 0xb8], eax
jmp 0x4925ea
cmp byte [eax + 0x19], 0
je 0x49224c
mov eax, dword [esp + 0xb0]
lea edi, [esp + 0x98]
call fcn.00485b20
mov ecx, dword [esp + 0x98]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x90], ecx
jmp 0x4921cc
mov esi, dword [esp + 0xb0]
mov ebx, esi
call fcn.00485ad0
mov ecx, dword [ebx + 0x30]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x40], 0
jmp 0x4921cc
cmp byte [eax + 0x15], 0
je 0x4922a8
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x90], ecx
mov ecx, dword [eax + 0x30]
mov dword [esp + 0xac], ecx
mov dword [eax + 0x5c], edx
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x90]
jmp 0x4921d0
mov dword [esp + 0x90], edx
jmp case.0x490e23.12
lea ecx, [ecx + edx*4]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x114], 0
mov dword [eax + 0x68], ecx
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x90]
mov dword [ecx + 0x60], edx
mov ecx, dword [esp + 0xa8]
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x5c], eax
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x492301
mov dword [esp + 0xc8], ecx
jmp 0x492389
mov edx, dword [esp + 0xa8]
cmp byte [edx + 0x19], 0
je 0x492324
mov esi, dword [esp + 0xb0]
lea eax, [esp + 0x114]
push eax
call fcn.004860d0
jmp 0x492343
mov ecx, dword [esp + 0xb0]
xor eax, eax
cmp byte [ecx + 0x43], 1
jne 0x49234a
push 1
lea ebx, [esp + 0x118]
mov esi, ecx
call fcn.00486050
mov esi, dword [esp + 0x48]
add esp, 4
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xc8], eax
cmp ecx, dword [esp + 0x114]
ja 0x492374
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xac], eax
mov dword [edx + 0x6c], eax
jmp 0x492382
mov eax, dword [esp + 0xa8]
mov dword [eax + 0x6c], 0
mov ecx, dword [esp + 0xc8]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4923a0
movzx eax, al
mov dword [esp + 0x100], eax
mov edx, 1
jmp 0x4923c1
lea esi, [esp + 0x100]
call fcn.0047b840
mov ecx, dword [esp + 0xc8]
mov esi, dword [esp + 0x44]
movzx edx, al
mov eax, dword [esp + 0x100]
movzx edx, dl
mov dword [esp + 0x110], edx
cmp eax, 0x18003
jbe 0x4923df
mov dword [esp + 0x40], 0xb
jmp case.0x490e23.12
mov ebx, dword [esp + 0xbc]
lea edx, [ebx + ebx*4 + 3]
cmp edx, eax
mov dword [esp + 0xc0], edx
jle 0x4923fe
mov edx, eax
mov dword [esp + 0xc0], edx
cmp dword [esp + 0xac], 0
jne 0x49247a
cmp dword [esp + 0x114], edx
jge 0x49247a
mov ecx, dword [esp + 0xa8]
xor eax, eax
mov word [esp + 0xec], ax
mov dword [esp + 0xe0], eax
movzx eax, byte [ecx + 0x19]
push eax
mov eax, dword [esp + 0xb4]
push edx
push 0
lea edi, [esp + 0xdc]
call fcn.0048c3e0
add esp, 0xc
mov dword [esp + 0x40], eax
test eax, eax
jne case.0x490e23.12
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0x100]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0xbc]
mov edi, dword [esp + 0x58]
mov dword [esp + 0xc8], ecx
add edx, ecx
mov dword [esp + 0xfc], edx
mov edx, dword [esp + 0x110]
add edx, ecx
xor ecx, ecx
cmp ebx, ecx
mov dword [esp + 0xf8], edx
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0xc4], ecx
jle 0x49256d
xor ebx, ebx
mov eax, dword [esp + 0xf8]
cmp eax, dword [esp + 0xfc]
jae 0x492547
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0x108]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0xf8]
mov al, byte [ecx]
mov edx, dword [esp + 0xc4]
cmp al, 0x80
jae 0x492501
movzx ecx, al
mov eax, dword [esp + 0xb4]
mov dword [eax + edx*4], ecx
mov eax, 1
jmp 0x492517
mov eax, dword [esp + 0xb4]
lea esi, [eax + edx*4]
call fcn.0047b840
mov esi, dword [esp + 0x44]
movzx eax, al
mov edx, dword [esp + 0xb4]
movzx ecx, al
add dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0xc4]
mov eax, dword [edx + ecx*4]
call fcn.0048ea80
add dword [esp + 0x108], eax
adc dword [esp + 0x10c], ebx
jmp 0x492558
mov eax, dword [esp + 0xb8]
mov dword [eax + ecx*4], ebx
mov ecx, dword [esp + 0xc4]
inc ecx
cmp ecx, dword [esp + 0xbc]
mov dword [esp + 0xc4], ecx
jl 0x4924b4
lea ecx, [esp + 0xd0]
push ecx
call fcn.0048ba00
mov ebx, dword [esp + 0x100]
add esp, 4
mov edx, 1
mov word [esp + 0xec], dx
cmp dword [esp + 0xf8], ebx
ja 0x4923d2
mov eax, dword [esp + 0x90]
xor ecx, ecx
cmp dword [esp + 0x10c], ecx
ja 0x4923d2
mov edx, dword [esp + 0x108]
jb 0x4925c5
cmp edx, eax
ja 0x4923d2
cmp dword [esp + 0xf8], ebx
jne 0x4925e3
cmp edx, eax
jne 0x4923d2
cmp dword [esp + 0x10c], ecx
jne 0x4923d2
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0xb8]
cmp dword [edx + eax*4], 0
je 0x4926e8
cmp dword [esp + 0xac], 0
je 0x49263f
mov esi, dword [esp + 0xcc]
call fcn.0048b9a0
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xb8]
mov ecx, dword [ecx + eax*4]
mov edx, dword [esp + 0xb4]
add ecx, dword [esp + 0xac]
mov eax, dword [edx + eax*4]
jmp 0x4926c8
mov eax, dword [ecx + eax*4]
call fcn.0048ea80
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xd0]
call fcn.0048bf70
mov eax, dword [esp + 0xa8]
movzx ecx, byte [eax + 0x19]
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0xb8]
push edx
lea edi, [esp + 0xdc]
call fcn.0048c3e0
add esp, 0xc
mov dword [esp + 0x40], eax
test eax, eax
jne case.0x490e23.12
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xc8], ecx
mov eax, dword [eax + edx*4]
mov esi, dword [esp + 0xcc]
call fcn.0048eb50
mov eax, dword [esp + 0xcc]
mov cl, byte [esp + 0x5c]
mov esi, dword [esp + 0x44]
mov byte [eax + 0x1f], cl
jmp 0x492706
cmp byte [edi + 1], 0xf8
jne 0x492706
mov edx, dword [edi + 0x10]
mov ebx, dword [esp + 0xcc]
push 0x800
push edx
call fcn.0048bec0
add esp, 8
cmp dword [esp + 0xf4], 0
je 0x492752
mov eax, dword [esp + 0xcc]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [esp + 0xcc]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xe4]
mov dword [eax + 0x14], ecx
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0xcc]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0xcc]
call fcn.0048b770
mov dword [esp + 0x40], eax
jmp case.0x490e23.12
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x90], ecx
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
lea eax, [eax + edx*8]
mov dword [esp + 0x94], eax
mov edi, dword [edi + 8]
lea ecx, [edi + edi*4]
lea edx, [eax + ecx*8 - 0x28]
mov ecx, eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
cmp eax, edx
ja case.0x490e23.12
jmp 0x4927b7
mov eax, dword [esp + 0x94]
mov edx, 0x4000
test word [ecx + 0x1c], dx
je 0x4927d7
mov eax, ecx
call fcn.0048b7d0
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x5c]
push edx
mov edx, ecx
sub edx, eax
mov eax, 0x66666667
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x94]
mov al, byte [eax + edx]
call fcn.00490bf0
mov ecx, dword [esp + 0xa0]
add ecx, 0x28
add esp, 4
mov dword [esp + 0x9c], ecx
cmp ecx, dword [esp + 0x98]
jbe 0x4927b0
jmp case.0x490e23.12
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov eax, dword [edi + 4]
mov dword [esp + 0xc4], eax
mov ecx, dword [edi + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
lea ebx, [eax + edx*8]
movzx edx, byte [esi + 0x6f]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xbc], ebx
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov dword [esp + 0xc4], eax
lea eax, [ebx + ecx*8 - 0x28]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xcc], edx
mov dword [esp + 0x94], ebx
cmp ebx, eax
ja 0x492996
cmp dword [esp + 0xc8], 0
je 0x4928e8
mov eax, dword [esp + 0x5c]
push eax
mov ecx, ebx
sub ecx, dword [esp + 0xc0]
mov eax, 0x66666667
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0xcc]
mov al, byte [ecx + edx]
mov ecx, ebx
call fcn.00490bf0
mov ebx, dword [esp + 0x98]
add esp, 4
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x492907
cmp dword [ebx + 0x18], 0
jle 0x492907
mov eax, ebx
call fcn.0048b7d0
mov ebx, dword [esp + 0x94]
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, ebx
call fcn.0048e9a0
add esp, 4
mov dword [esp + 0xb8], eax
call fcn.0048ea80
mov dword [esp + 0xd4], eax
cdq
add dword [esp + 0x98], eax
push 0
adc dword [esp + 0xa0], edx
mov edx, dword [esp + 0xbc]
push edx
call fcn.0047b8c0
add dword [esp + 0xa8], eax
mov eax, 0x4000
add esp, 8
test word [ebx + 0x1c], ax
je 0x49296a
mov ecx, dword [ebx]
add dword [esp + 0xb0], ecx
jmp 0x49297f
cmp dword [esp + 0xd4], 0
je 0x49297f
mov dword [esp + 0xb0], 0
add ebx, 0x28
mov dword [esp + 0x94], ebx
cmp ebx, dword [esp + 0xc0]
jbe 0x4928a4
mov ebx, dword [esp + 0xa0]
mov eax, ebx
cdq
push edx
push eax
call fcn.0047b8c0
add ebx, eax
mov dword [esp + 0xbc], eax
mov eax, ebx
cdq
push edx
push eax
mov dword [esp + 0xb0], ebx
call fcn.0047b8c0
add esp, 0x10
cmp dword [esp + 0xb4], eax
jge 0x4929d5
inc ebx
mov dword [esp + 0xa0], ebx
mov eax, ebx
cdq
mov ebx, eax
mov eax, dword [esp + 0xb0]
mov ecx, edx
cdq
sub ebx, eax
sbb ecx, edx
add ebx, dword [esp + 0x98]
mov edx, dword [esp + 0x3c]
adc ecx, dword [esp + 0x9c]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x495e5e
jl 0x492a1e
cmp ebx, eax
ja 0x495e5e
mov edi, dword [edi + 0xc]
mov ecx, dword [esi + 0x4c]
lea eax, [edi + edi*4]
lea edi, [ecx + eax*8]
mov eax, ebx
push 0
mov ebx, edi
mov dword [esp + 0x54], edi
call fcn.0048b640
add esp, 4
test eax, eax
jne 0x495e3b
mov eax, dword [esp + 0xa0]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x90], ecx
cmp eax, 0x80
jae 0x492a67
mov dl, al
mov byte [ecx], dl
mov eax, 1
jmp 0x492a6c
call fcn.0047b690
mov ecx, dword [esp + 0xbc]
movzx ebx, al
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x94], ecx
cmp ecx, eax
ja 0x492b05
nop
mov eax, dword [esp + 0xcc]
push eax
call fcn.0048e9a0
add esp, 4
mov dword [esp + 0xb8], eax
cmp eax, 0x80
jae 0x492ac1
mov edx, dword [esp + 0x90]
mov cl, al
mov byte [ebx + edx], cl
mov eax, 1
jmp 0x492acf
mov ecx, dword [esp + 0x90]
add ecx, ebx
call fcn.0047b690
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0xd0]
movzx edx, al
mov eax, dword [esp + 0xc0]
add ecx, 0x28
add ebx, edx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x94], ecx
cmp ecx, eax
jbe 0x492a90
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x94], ecx
cmp ecx, eax
ja 0x492b5c
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x90]
sub eax, ebx
push eax
mov eax, dword [esp + 0xd0]
add ebx, edx
call fcn.0048eaa0
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0xd4]
add ecx, 0x28
add ebx, eax
add esp, 4
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x94], ecx
cmp ecx, dword [esp + 0xc0]
jbe 0x492b10
mov eax, dword [esp + 0xa8]
mov ecx, 0x410
mov dword [edi + 0x18], eax
mov word [edi + 0x1c], cx
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x492b8c
mov edx, 0x4410
mov dword [edi], eax
mov word [edi + 0x1c], dx
mov byte [edi + 0x1f], 1
jmp case.0x490e23.12
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
xor ecx, ecx
mov dword [esp + 0x98], eax
cmp eax, ecx
je 0x492bc3
lea ecx, [esp + 0x90]
push ecx
call fcn.00489bb0
add esp, 4
mov dword [esp + 0x40], eax
jmp 0x492bd1
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ecx
mov edx, 4
mov word [ebx + 0x1c], dx
mov eax, dword [esp + 0x90]
mov dword [ebx], eax
mov ecx, dword [esp + 0x94]
mov dword [ebx + 4], ecx
jmp case.0x490e23.12
mov eax, dword [esp + 0x3c]
cmp byte [eax + 0x1c], 0
je 0x492c09
cmp dword [eax + 0x88], 1
jle case.0x490e23.12
mov edx, dword [edi + 4]
mov ecx, dword [eax + 8]
shl edx, 4
cmp dword [esi + 0xc8], 0
mov edx, dword [edx + ecx + 4]
mov dword [esp + 0x90], edx
jne 0x492c40
inc dword [eax + 0x1c8]
mov ecx, dword [eax + 0x1c8]
mov eax, dword [eax + 0x1c4]
add eax, ecx
mov dword [esi + 0xc8], eax
mov ecx, dword [esi + 0xc8]
mov eax, dword [esp + 0x90]
push ecx
call fcn.004857c0
add esp, 4
mov dword [esp + 0x40], eax
jmp case.0x490e23.12
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x90], eax
mov ebx, dword [edi + 0x10]
mov dword [esp + 0x94], ebx
test eax, eax
jne 0x492d32
cmp dword [edx + 0x8c], eax
jle 0x492ca6
push str.cannot_open_savepoint___SQL_statements_in_progress
lea edi, [esi + 0x68]
mov eax, edx
call fcn.00479260
add esp, 4
mov dword [esp + 0x40], 5
jmp case.0x490e23.12
mov ecx, ebx
call fcn.0047ad90
lea ecx, [eax + 9]
mov esi, edx
mov dword [esp + 0x98], eax
call fcn.00479070
mov dword [esp + 0x9c], eax
test eax, eax
je 0x495cb4
lea ecx, [eax + 8]
mov dword [eax], ecx
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.004cf8d0
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x492d0a
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1cc], 1
jmp 0x492d10
inc dword [eax + 0x1c4]
mov ecx, dword [eax + 0x1c0]
mov edx, dword [esp + 0x9c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0x1c0], ecx
jmp 0x495cb4
mov dword [esp + 0xa8], 0
mov edi, dword [edx + 0x1c0]
mov dword [esp + 0xa0], edi
test edi, edi
je 0x492d72
mov edi, edi
mov ecx, dword [edi]
mov edx, ebx
call fcn.0047afb0
test eax, eax
je 0x492d94
inc dword [esp + 0xa8]
mov edi, dword [edi + 4]
mov dword [esp + 0xa0], edi
test edi, edi
jne 0x492d50
mov eax, dword [esp + 0x3c]
push ebx
push str.no_such_savepoint:__s
lea edi, [esi + 0x68]
call fcn.00479260
add esp, 8
mov dword [esp + 0x40], 1
jmp case.0x490e23.12
mov ebx, dword [esp + 0x3c]
cmp dword [ebx + 0x8c], 0
jg 0x492f2a
mov eax, dword [esp + 0x90]
cmp eax, 2
jne 0x492dbe
cmp dword [ebx + 0x88], 1
jg 0x492f34
cmp dword [edi + 4], 0
jne 0x492e02
cmp byte [ebx + 0x1cc], 0
je 0x492e02
mov dword [esp + 0x64], 1
cmp eax, 1
jne 0x492e0a
push esi
mov byte [ebx + 0x1c], al
call fcn.0048e230
add esp, 4
cmp eax, 5
je 0x495cff
mov byte [ebx + 0x1cc], 0
mov eax, dword [esi + 0x64]
mov dword [esp + 0x40], eax
jmp 0x492e9d
mov dword [esp + 0x64], 0
mov ecx, dword [ebx + 0x1c4]
sub ecx, dword [esp + 0xa8]
xor eax, eax
dec ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
cmp dword [ebx + 4], eax
jle 0x492e7c
mov edx, ebx
jmp 0x492e38
mov ecx, dword [esp + 0xa8]
mov edx, dword [edx + 8]
push ecx
mov ecx, dword [esp + 0x94]
shl eax, 4
mov eax, dword [eax + edx + 4]
push ecx
call fcn.00485820
add esp, 8
mov dword [esp + 0x40], eax
test eax, eax
jne 0x495db1
mov eax, dword [esp + 0xac]
inc eax
mov edx, ebx
mov dword [esp + 0xac], eax
cmp eax, dword [edx + 4]
jl 0x492e31
mov edi, dword [esp + 0xa0]
cmp dword [esp + 0x90], 2
jne 0x492ea4
test byte [ebx + 0xc], 0x10
je 0x492ea4
mov eax, ebx
call fcn.0048f2b0
push 0
call fcn.004a0ca0
add esp, 4
mov edi, dword [esp + 0xa0]
cmp dword [ebx + 0x1c0], edi
je 0x492eec
lea esp, [esp]
mov eax, dword [ebx + 0x1c0]
mov dword [esp + 0xa4], eax
mov eax, dword [eax + 4]
mov dword [ebx + 0x1c0], eax
mov ecx, dword [esp + 0xa4]
push ecx
push ebx
call fcn.00478e80
dec dword [ebx + 0x1c4]
mov edi, dword [esp + 0xa8]
add esp, 8
cmp dword [ebx + 0x1c0], edi
jne 0x492eb0
cmp dword [esp + 0x90], 1
jne case.0x490e23.12
mov edx, dword [edi + 4]
mov dword [ebx + 0x1c0], edx
mov eax, dword [esp + 0xa0]
push eax
push ebx
call fcn.00478e80
add esp, 8
cmp dword [esp + 0x64], 0
jne case.0x490e23.12
dec dword [ebx + 0x1c4]
jmp case.0x490e23.12
cmp dword [esp + 0x90], 2
jne 0x492f3b
mov eax, str.rollback
jmp 0x492f40
mov eax, str.release
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
lea edi, [esi + 0x68]
mov eax, ebx
call fcn.00479260
add esp, 8
mov dword [esp + 0x40], 5
jmp case.0x490e23.12
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x90], eax
mov edi, dword [edi + 8]
mov dword [esp + 0x94], edi
test eax, eax
je 0x492fb9
cmp byte [ecx + 0x1c], 0
jne 0x492fb9
mov edx, 1
mov dword [esp + 0x98], edx
test edi, edi
je 0x492fdb
cmp dword [ecx + 0x88], edx
jle 0x492fc4
push str.cannot_rollback_transaction___SQL_statements_in_progress
lea edi, [esi + 0x68]
mov eax, ecx
call fcn.00479260
add esp, 4
mov dword [esp + 0x40], 5
jmp case.0x490e23.12
mov dword [esp + 0x98], 0
movzx ecx, byte [ecx + 0x1c]
cmp eax, ecx
jne 0x495d17
test eax, eax
jne 0x493003
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x493011
cmp dword [ecx + 0x8c], 0
jle 0x492fc4
push str.cannot_commit_transaction___SQL_statements_in_progress
lea edi, [esi + 0x68]
mov eax, ecx
call fcn.00479260
add esp, 4
mov dword [esp + 0x40], 5
jmp case.0x490e23.12
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x493011
mov eax, str.cannot_commit___no_transaction_is_active
push eax
mov eax, dword [esp + 0x40]
lea edi, [esi + 0x68]
call fcn.00479260
add esp, 4
mov dword [esp + 0x40], 1
jmp case.0x490e23.12
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x90], eax
test eax, eax
je case.0x490e23.12
mov edx, dword [edi + 8]
push edx
call fcn.00484770
add esp, 4
mov dword [esp + 0x40], eax
cmp eax, 5
je 0x495d85
test eax, eax
je case.0x490e23.12
cmp eax, 8
jne 0x495db1
jmp case.0x490e23.12
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x94], eax
mov edi, dword [edi + 0xc]
lea ecx, [esp + 0x90]
mov dword [esp + 0x98], edi
push ecx
mov ecx, dword [edx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push edi
call fcn.00489ac0
mov eax, dword [esp + 0x98]
cdq
mov dword [ebx + 4], edx
mov dx, word [ebx + 0x1c]
mov dword [ebx], eax
mov eax, 0xbf04
and dx, ax
add esp, 8
or dx, 4
mov word [ebx + 0x1c], dx
jmp case.0x490e23.12
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x54]
shl ecx, 4
add ecx, dword [edx + 8]
mov eax, ebx
mov dword [esp + 0x90], ecx
call fcn.0048bc40
mov eax, dword [ebx]
mov ecx, dword [esp + 0x90]
mov ebx, dword [edi + 8]
push eax
mov eax, dword [ecx + 4]
call fcn.00489b30
mov dword [esp + 0x44], eax
mov eax, dword [edi + 8]
add esp, 4
cmp eax, 1
jne 0x493135
mov edx, dword [esp + 0x90]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [esp + 0x3c]
or dword [eax + 0xc], 0x10
jmp 0x49314d
cmp eax, 2
jne 0x49314d
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x54]
mov al, byte [edx]
mov byte [ecx + 0x38], al
cmp dword [edi + 4], 1
jne case.0x490e23.12
mov eax, dword [esp + 0x3c]
call fcn.0048f2b0
jmp case.0x490e23.12
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 8]
shl ecx, 4
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0x94], eax
test eax, eax
je 0x493195
lea ecx, [esp + 0x90]
push ecx
push 1
call fcn.00489ac0
add esp, 8
jmp 0x4931a0
mov dword [esp + 0x90], 0
mov edx, dword [esp + 0x90]
cmp edx, dword [edi + 8]
je case.0x490e23.12
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x3c]
push eax
push ebx
call fcn.00478e80
push ebx
mov ebx, str.database_schema_has_changed
call fcn.004791e0
mov edx, dword [esp + 0x48]
mov dword [esi + 0x68], eax
mov edi, dword [edi + 4]
mov eax, dword [edx + 8]
mov ecx, edi
shl ecx, 4
mov ecx, dword [ecx + eax + 0xc]
mov edx, dword [ecx]
add esp, 0xc
cmp edx, dword [esp + 0x90]
je 0x4931fa
mov ebx, dword [esp + 0x3c]
push edi
call fcn.004a0ca0
add esp, 4
mov eax, dword [esp + 0x3c]
call fcn.0048f2b0
mov dword [esp + 0x40], 0x11
jmp case.0x490e23.12
mov ebx, dword [esp + 0x3c]
xor ecx, ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ecx
mov edx, dword [edi + 8]
mov dword [esp + 0x98], edx
mov eax, dword [edi + 0xc]
mov dword [esp + 0x9c], eax
shl eax, 4
add eax, dword [ebx + 8]
mov dword [esp + 0xac], eax
mov ebx, dword [eax + 4]
mov dword [esp + 0xa4], ebx
cmp byte [edi], 0xa
jne 0x49326f
mov dword [esp + 0xa0], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x38]
cmp al, byte [esi + 0x6f]
jae 0x49327a
mov byte [esi + 0x6f], al
jmp 0x49327a
mov dword [esp + 0xa0], 0
cmp byte [edi + 3], 0
je 0x4932ad
lea ecx, [edx + edx*4]
mov edx, dword [esi + 0x4c]
lea ebx, [edx + ecx*8]
mov eax, ebx
mov dword [esp + 0x60], ebx
call fcn.0048bc40
mov ebx, dword [ebx]
cmp ebx, 2
mov dword [esp + 0x98], ebx
jl 0x495d99
mov ecx, dword [esp + 0x90]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x4932da
mov eax, dword [edi + 0x10]
mov ecx, dword [esi]
mov dword [esp + 0x94], eax
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x39]
mov byte [eax + 4], dl
mov eax, dword [esp + 0x94]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x4932e1
cmp al, 0xf2
jne 0x4932e8
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x9c]
mov eax, dword [edi + 4]
push 1
push edx
push ecx
push eax
mov eax, esi
call fcn.00490a90
add esp, 0x10
mov dword [esp + 0xa8], eax
test eax, eax
je 0x495e3b
mov byte [eax + 0x14], 1
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
push edx
mov edx, dword [esp + 0x9c]
push eax
push ecx
push edx
call fcn.00485930
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xa4]
add esp, 0x10
mov dword [esp + 0x40], eax
mov dword [ecx + 0x40], edx
cmp eax, 0x10
jne 0x493374
mov eax, dword [esp + 0xa8]
mov dword [eax], 0
mov dword [esp + 0x40], 0
cmp byte [edi + 1], 0xfa
mov edx, dword [esp + 0xa8]
setne cl
mov byte [edx + 0x18], cl
mov eax, dword [esp + 0xa8]
cmp byte [eax + 0x18], 0
sete cl
mov byte [eax + 0x19], cl
jmp 0x495cb4
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
mov eax, esi
call fcn.00490a90
add esp, 0x10
mov dword [esp + 0x90], eax
test eax, eax
je 0x495e3b
mov edx, dword [esp + 0x3c]
mov byte [eax + 0x14], 1
mov ecx, dword [esp + 0x90]
add ecx, 0x28
push ecx
push 0x1f4
push 1
mov eax, 0x41e
xor ecx, ecx
call fcn.004c7910
add esp, 0xc
mov dword [esp + 0x40], eax
test eax, eax
jne 0x4934df
mov edx, dword [esp + 0x90]
mov eax, dword [edx + 0x28]
push 1
call fcn.00484770
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
jne 0x4934df
cmp dword [edi + 0x10], eax
je 0x4934b1
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x78]
push 2
push eax
mov eax, dword [ecx + 0x28]
call fcn.004895d0
add esp, 8
mov dword [esp + 0x40], eax
test eax, eax
jne 0x493490
mov eax, dword [esp + 0x90]
mov edx, dword [eax]
mov ecx, dword [edi + 0x10]
mov esi, dword [eax + 0x28]
push edx
mov edx, dword [esp + 0x7c]
push ecx
push 1
push edx
call fcn.00485930
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x40], eax
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x40]
mov dl, byte [edx + 0x39]
add esp, 0x10
mov byte [ecx + 4], dl
mov eax, dword [esp + 0x90]
mov byte [eax + 0x18], 0
mov eax, dword [esp + 0x90]
cmp byte [eax + 0x18], 0
sete cl
mov byte [eax + 0x19], cl
jmp case.0x490e23.12
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
mov esi, dword [eax + 0x28]
push ecx
push 0
push 1
push 1
call fcn.00485930
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0x54]
add esp, 0x10
mov dword [esp + 0x40], eax
mov byte [edx + 0x18], 1
mov eax, dword [esp + 0x90]
cmp byte [eax + 0x18], 0
sete cl
mov byte [eax + 0x19], cl
jmp case.0x490e23.12
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
push 0
push 0xffffffffffffffff
push edx
push eax
mov eax, esi
call fcn.00490a90
add esp, 0x10
mov dword [esp + 0x90], eax
test eax, eax
je 0x495e3b
mov byte [eax + 0x14], 1
mov ecx, dword [esp + 0x90]
mov byte [ecx + 0x15], 1
mov dl, byte [edi + 8]
mov eax, dword [esp + 0x90]
mov byte [eax + 0x16], dl
mov ecx, dword [esp + 0x90]
mov byte [ecx + 0x18], 1
mov edx, dword [esp + 0x90]
mov byte [edx + 0x19], 0
jmp case.0x490e23.12
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov esi, dword [ecx + eax*4]
mov edi, dword [esp + 0x44]
call fcn.0048d950
mov edx, dword [esp + 0x58]
mov eax, dword [edx + 4]
mov ecx, dword [edi + 0x34]
mov dword [ecx + eax*4], 0
mov esi, edi
jmp case.0x490e23.12
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x98], eax
cmp dword [eax], 0
je 0x490ecb
movzx ecx, byte [edi]
mov dword [esp + 0x94], ecx
mov byte [eax + 0x14], 0
mov ecx, dword [esp + 0x98]
cmp byte [ecx + 0x18], 0
je 0x4937af
mov edi, dword [esp + 0x54]
call fcn.00490b50
mov esi, edi
call fcn.0048bad0
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0xc0], eax
mov byte [edx + 0x11], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x49372e
test al, 8
jne 0x4935fd
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x4c], eax
jmp 0x495cb4
xor ebx, ebx
cmp dword [esp + 0xc0], ebx
jne 0x4936d5
mov eax, SysReAllocStringLen
cmp dword [esp + 0xc4], eax
jne 0x4936d5
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x88]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x49364d
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x4936d5
fldz
mov dword [esp + 0x90], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
mov eax, dword [esp + 0x94]
jne 0x49368c
cmp eax, 0x7b
je 0x493675
cmp eax, 0x6d
jne 0x4936c4
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx]
lea esi, [esp + 0x90]
call fcn.00486460
jmp 0x4936ab
cmp eax, 0x46
je 0x493696
cmp eax, 0x37
jne 0x4936c4
mov edx, dword [esp + 0x98]
mov eax, dword [edx]
lea esi, [esp + 0x90]
call fcn.00486490
mov dword [esp + 0x40], eax
cmp eax, ebx
jne 0x495dad
cmp dword [esp + 0x90], ebx
je 0x495cb4
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x4c], eax
jmp 0x495cb4
mov eax, dword [esp + 0x94]
cmp eax, 0x46
je 0x49370c
cmp eax, 0x6d
je 0x49370c
fild qword [esp + 0xc0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x493730
mov eax, 0xffffffff
add dword [esp + 0xc0], eax
adc dword [esp + 0xc4], eax
jmp 0x493730
fild qword [esp + 0xc0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x493730
add dword [esp + 0xc0], 1
adc dword [esp + 0xc4], ebx
jmp 0x493730
xor ebx, ebx
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x9c]
push ebx
push edx
mov edx, dword [ecx]
push eax
push ebx
push edx
call fcn.004864d0
add esp, 0x18
mov dword [esp + 0x40], eax
cmp eax, ebx
jne 0x495dad
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x58]
cmp dword [esp + 0x90], ebx
jne 0x493841
mov eax, dword [esp + 0x98]
mov byte [eax + 0x11], 1
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x98]
mov dword [edx + 8], ecx
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 0xc], eax
jmp 0x493841
mov edx, dword [edi + 0x10]
mov dword [esp + 0xb8], edx
mov eax, dword [ecx + 0x40]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x94]
mov word [esp + 0xa4], dx
cmp eax, 0x7b
je 0x4937e8
cmp eax, 0x37
je 0x4937e8
xor eax, eax
mov word [esp + 0xa6], ax
jmp 0x4937f5
mov edx, 8
mov word [esp + 0xa6], dx
mov eax, dword [edi + 0xc]
mov edx, dword [esi + 0x4c]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
lea edx, [esp + 0x90]
push edx
push 0
push 0
mov dword [esp + 0xbc], eax
mov ecx, dword [ecx]
push 0
lea eax, [esp + 0xb0]
push eax
push ecx
call fcn.004864d0
add esp, 0x18
mov dword [esp + 0x40], eax
test eax, eax
jne 0x495db1
mov edx, dword [esp + 0x98]
mov byte [edx + 0x11], al
xor ebx, ebx
mov eax, dword [esp + 0x98]
mov byte [eax + 0x17], 0
mov ecx, dword [esp + 0x98]
mov dword [ecx + 0x5c], ebx
mov eax, dword [esp + 0x94]
cmp eax, 0x6d
je 0x4938ca
cmp eax, 0x7b
je 0x4938ca
mov ecx, dword [esp + 0x90]
cmp ecx, ebx
jg 0x493897
jne 0x493879
cmp eax, 0x46
je 0x493897
mov edx, dword [esp + 0x98]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x43], 1
setne cl
mov dword [esp + 0x90], ecx
jmp 0x493919
mov eax, dword [esp + 0x98]
mov ecx, dword [eax]
lea edx, [esp + 0x90]
push edx
push ecx
call fcn.004869d0
add esp, 8
mov dword [esp + 0x40], eax
cmp eax, ebx
jne 0x495db1
mov edx, dword [esp + 0x98]
mov byte [edx + 0x11], 0
jmp 0x493919
mov ecx, dword [esp + 0x90]
cmp ecx, ebx
jl 0x4938e8
jne 0x4938dc
cmp eax, 0x7b
je 0x4938e8
mov dword [esp + 0x90], ebx
jmp case.0x490e23.12
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx]
lea eax, [esp + 0x90]
push eax
push edx
call fcn.004868b0
add esp, 8
mov dword [esp + 0x40], eax
cmp eax, ebx
jne 0x495db1
mov eax, dword [esp + 0x98]
mov byte [eax + 0x11], 0
cmp dword [esp + 0x90], ebx
je case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x34]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x90], eax
cmp dword [eax], 0
je case.0x490e23.12
mov esi, dword [esp + 0x60]
mov byte [eax + 0x14], 0
call fcn.0048bad0
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x90]
mov dword [eax + 0x24], edx
mov ecx, dword [esp + 0x90]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0x90]
mov byte [edx + 0x17], 1
jmp 0x495cb4
mov edx, dword [esi + 0x34]
xor ecx, ecx
mov dword [esp + 0x90], ecx
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x94], eax
cmp dword [eax], ecx
je 0x493a75
mov edx, dword [esp + 0x54]
mov ecx, 0x4000
mov ebx, edx
test word [edx + 0x1c], cx
je 0x4939c8
mov eax, ebx
call fcn.0048b7d0
mov eax, dword [esp + 0x94]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov eax, dword [eax + 0x40]
push ecx
push edx
push eax
mov edx, 0x97
lea eax, [esp + 0xac]
call fcn.0048ed70
add esp, 0xc
mov dword [esp + 0x9c], eax
test eax, eax
je 0x495e3b
cmp byte [edi], 0x80
jne 0x493a08
or word [eax + 6], 0x10
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x94]
lea ecx, [esp + 0x98]
push ecx
push 0
push 0
push 0
push eax
mov eax, dword [edx]
push eax
call fcn.004864d0
mov esi, dword [esp + 0xb4]
mov ebx, eax
add esp, 0x18
mov dword [esp + 0x40], ebx
call fcn.0048eec0
mov esi, dword [esp + 0x44]
test ebx, ebx
jne case.0x490e23.12
mov edx, dword [esp + 0x94]
xor ecx, ecx
cmp dword [esp + 0x98], ecx
sete cl
mov dword [esp + 0x90], ecx
mov byte [edx + 0x17], bl
mov eax, dword [esp + 0x94]
mov dword [eax + 0x5c], ebx
mov ecx, dword [esp + 0x90]
cmp byte [edi], 0x80
jne 0x493a8f
test ecx, ecx
je case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
test ecx, ecx
jne case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
mov eax, dword [edi + 0x10]
mov edx, dword [esi + 0x4c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov edx, dword [esi + 0x34]
mov dword [esp + 0xa0], eax
mov ecx, dword [edi + 4]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x94], eax
xor ecx, ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esp + 0x94]
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx]
mov dword [esp + 0x98], edx
mov eax, dword [ecx + 0x40]
mov dx, word [eax + 6]
xor ebx, ebx
xor eax, eax
cmp bx, dx
mov ebx, dword [esp + 0xa0]
mov word [esp + 0x9c], dx
mov word [esp + 0x90], ax
jae 0x493b37
lea ecx, [ecx]
movzx ecx, ax
lea ecx, [ecx + ecx*4]
test byte [ebx + ecx*8 + 0x1c], 1
jne 0x493c01
inc ax
mov word [esp + 0x90], ax
cmp ax, dx
jb 0x493b10
mov ecx, dword [esp + 0x94]
cmp dword [esp + 0x98], 0
je case.0x490e23.12
mov edx, dword [ecx + 0x40]
mov eax, dword [esp + 0x9c]
inc eax
mov dword [esp + 0xb8], ebx
mov ebx, dword [esp + 0x54]
mov word [esp + 0xac], ax
mov ecx, 0x20
mov eax, ebx
mov dword [esp + 0xa8], edx
mov word [esp + 0xae], cx
call fcn.0048bc40
mov ecx, dword [esp + 0x94]
mov edx, dword [ebx]
add ecx, 0x58
push ecx
push 0
mov dword [esp + 0xc8], edx
mov eax, dword [ebx + 4]
push 0
push 0
lea edx, [esp + 0xb8]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xa8]
push edx
push eax
call fcn.004864d0
add esp, 0x18
test byte [esp + 0xae], 0x20
mov dword [esp + 0x40], eax
jne 0x490ecb
mov eax, dword [esp + 0xb0]
cmp eax, dword [esp + 0xc0]
jne 0x493bf0
mov ecx, dword [esp + 0xb4]
cmp ecx, dword [esp + 0xc4]
je 0x490ecb
mov dword [ebx], eax
mov edx, dword [esp + 0xb4]
mov dword [ebx + 4], edx
jmp case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x98], 0
jmp case.0x490e23.12
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x90], ecx
mov eax, dword [ecx]
mov dword [esp + 0x94], eax
test eax, eax
je 0x493cf2
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x98], 0
mov ecx, dword [ebx]
mov dword [esp + 0xa0], ecx
mov edx, dword [ebx + 4]
mov dword [esp + 0xa4], edx
lea edx, [esp + 0x98]
push edx
mov edx, dword [esp + 0xa8]
push 0
push edx
push ecx
push 0
push eax
call fcn.004864d0
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x58], eax
mov eax, dword [ebx]
mov dword [ecx + 8], eax
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0xa8]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xa8]
add esp, 0x18
cmp dword [esp + 0x98], 0
sete cl
mov byte [edx + 0x11], cl
mov eax, dword [esp + 0x90]
mov byte [eax + 0x14], 0
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x5c], 0
mov edx, dword [esp + 0x90]
mov byte [edx + 0x17], 0
mov eax, dword [esp + 0x98]
test eax, eax
je 0x493ce3
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x58], eax
jmp case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
mov dword [ecx + 0x58], 0
jmp case.0x490e23.12
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x48]
mov dword [ebx], ecx
mov edx, dword [eax + 0x4c]
mov dword [ebx + 4], edx
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x48], 1
adc dword [eax + 0x4c], 0
mov dx, word [ebx + 0x1c]
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ebx + 0x1c], dx
jmp case.0x490e23.12
mov edx, dword [esi + 0x34]
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], eax
mov ecx, dword [edi + 4]
mov edx, dword [edx + ecx*4]
mov dword [esp + 0x98], edx
cmp dword [edx], eax
je 0x49402f
mov dword [esp + 0xa0], eax
cmp byte [edx + 0x13], al
jne 0x493f0e
mov ecx, dword [edx]
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x90], eax
mov ecx, dword [ecx + 0x1c]
mov ebx, eax
or ebx, ecx
mov dword [esp + 0x94], ecx
jne 0x493e3c
mov eax, dword [edx]
lea esi, [esp + 0x9c]
call fcn.00486490
mov dword [esp + 0x40], eax
test eax, eax
jne 0x495dad
cmp dword [esp + 0x9c], eax
je 0x493dcd
lea eax, [ebx + 1]
xor ecx, ecx
jmp 0x493e2a
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
lea edi, [esp + 0x90]
call fcn.00485b20
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x90]
cmp eax, 0xffffffff
jne 0x493e20
cmp ecx, 0x7fffffff
jne 0x493e20
mov ecx, dword [esp + 0x98]
mov edi, dword [esp + 0x58]
mov byte [ecx + 0x13], 1
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
jmp 0x493e38
mov edi, dword [esp + 0x58]
add eax, 1
adc ecx, 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], eax
mov esi, dword [esp + 0x44]
mov edi, dword [edi + 0xc]
test edi, edi
je 0x493edc
mov eax, dword [esi + 0x4c]
lea edx, [edi + edi*4]
lea eax, [eax + edx*8]
mov dword [esp + 0xa4], eax
call fcn.0048bc40
mov edx, dword [esp + 0xa4]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
cmp eax, 0xffffffff
jne 0x493e79
cmp ecx, 0x7fffffff
je 0x495da3
mov edi, dword [esp + 0x98]
cmp byte [edi + 0x13], 0
jne 0x495da3
mov esi, dword [esp + 0x94]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x493eb4
jl 0x493ea6
cmp dword [esp + 0x90], eax
jae 0x493eb4
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x90]
mov dword [edx], ecx
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x94]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
cmp ecx, 0x7fffffff
jg 0x493ef3
jl 0x493eeb
cmp eax, 0xffffffff
jae 0x493ef3
add eax, 1
adc ecx, 0
jmp 0x493ef7
xor eax, eax
xor ecx, ecx
push ecx
mov ecx, dword [esp + 0x9c]
mov esi, dword [ecx]
push eax
call fcn.00485980
mov esi, dword [esp + 0x4c]
add esp, 8
mov edx, dword [esp + 0x98]
cmp byte [edx + 0x13], 0
je 0x494007
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x90], ecx
mov edx, dword [eax + 0x34]
xor ecx, ecx
mov dword [esp + 0x94], edx
mov dword [esp + 0xa0], ecx
xor edi, edi
cmp ecx, edi
jne 0x493f76
mov edx, dword [esp + 0x90]
mov eax, edx
and eax, 0xffffff
xor ecx, ecx
cmp eax, edx
jne 0x493f76
cmp ecx, dword [esp + 0x94]
jne 0x493f76
add edx, 1
adc dword [esp + 0x94], edi
mov dword [esp + 0x90], edx
jmp 0x493fa4
lea eax, [esp + 0x90]
push eax
push 8
call fcn.0047a5e0
add esp, 8
cmp dword [esp + 0xa0], 5
jge 0x493fa4
and dword [esp + 0x90], 0xffffff
mov dword [esp + 0x94], edi
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
lea ecx, [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x9c]
push edi
push edx
mov edx, dword [ecx]
push eax
push edi
push edx
call fcn.004864d0
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xb4]
inc ecx
add esp, 0x18
cmp ecx, 0x64
mov dword [esp + 0x40], eax
mov dword [esp + 0xa0], ecx
jge 0x493ffb
cmp eax, edi
jne 0x494007
cmp edx, edi
je 0x493f42
cmp eax, edi
jne 0x494007
cmp edx, edi
je 0x495da3
mov eax, dword [esp + 0x98]
mov ebx, dword [esp + 0x50]
mov byte [eax + 0x11], 0
mov ecx, dword [esp + 0x98]
mov byte [ecx + 0x17], 0
mov edx, dword [esp + 0x98]
mov dword [edx + 0x5c], 0
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf04
and ax, cx
or ax, 4
mov word [ebx + 0x1c], ax
mov edx, dword [esp + 0x90]
mov dword [ebx], edx
mov eax, dword [esp + 0x94]
mov dword [ebx + 4], eax
jmp case.0x490e23.12
mov ecx, dword [edi + 8]
mov eax, dword [esi + 0x4c]
mov ebx, dword [esi + 0x34]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov dword [esp + 0x90], edx
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov dword [esp + 0x94], eax
mov ecx, dword [edi + 4]
mov ecx, dword [ebx + ecx*4]
mov dword [esp + 0xa0], ecx
mov ebx, dword [eax]
mov dword [esp + 0x98], ebx
mov ebx, dword [eax + 4]
mov dword [esp + 0x9c], ebx
test byte [edi + 3], 1
je 0x4940aa
inc dword [esi + 0x74]
test byte [edi + 3], 2
je 0x4940cd
mov edx, dword [eax]
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0x30], edx
mov eax, dword [eax + 4]
mov dword [ecx + 0x34], eax
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x90]
xor ebx, ebx
test byte [edx + 0x1c], 1
je 0x4940f0
mov dword [edx + 0x14], ebx
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x18], ebx
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x90]
cmp byte [ecx + 0x15], 0
je 0x49422d
cmp byte [ecx + 0x16], 0
jne 0x49411a
mov edx, dword [ecx + 0x30]
mov eax, dword [esp + 0x3c]
push edx
push eax
call fcn.00478e80
mov ecx, dword [esp + 0xa8]
add esp, 8
xor ebx, ebx
mov edx, dword [esp + 0x98]
mov dword [ecx + 0x38], edx
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov dword [ecx + 0x3c], eax
mov edx, dword [esp + 0x90]
mov eax, dword [edx + 0x18]
mov ecx, dword [esp + 0xa0]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0xa0]
cmp byte [eax + 0x16], 0
mov ecx, dword [esp + 0x90]
jne 0x4941e0
mov edx, dword [ecx + 0x14]
cmp edx, dword [ecx + 0x24]
je 0x4941e0
mov eax, dword [eax + 0x2c]
add eax, 2
push eax
call fcn.00478b20
mov ecx, dword [esp + 0xa4]
mov dword [ecx + 0x30], eax
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx + 0x30]
add esp, 4
test eax, eax
je 0x495e3b
mov edx, dword [ecx + 0x2c]
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [ecx + 0x14]
push edx
push eax
call fcn.004cf8d0
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x2c]
mov byte [ecx + edx], 0
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x2c]
mov byte [ecx + edx + 1], 0
mov ecx, dword [esp + 0xac]
add esp, 0xc
xor ebx, ebx
mov byte [ecx + 0x14], bl
jmp 0x4942c2
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x30], ecx
mov edx, dword [esp + 0xa0]
cmp byte [edx + 0x16], 0
jne 0x49421d
mov eax, dword [esp + 0x90]
mov ecx, 0xfbff
and word [eax + 0x1c], cx
mov eax, dword [esp + 0x90]
mov edx, 0x1000
or word [eax + 0x1c], dx
mov eax, dword [esp + 0x90]
mov dword [eax + 0x24], ebx
mov ecx, dword [esp + 0xa0]
mov byte [ecx + 0x14], 0
jmp 0x4942c2
test byte [edi + 3], 0x10
je 0x49423f
mov eax, dword [ecx + 0x58]
mov dword [esp + 0xa8], eax
jmp 0x494246
mov dword [esp + 0xa8], ebx
mov eax, 0x4000
test word [edx + 0x1c], ax
je 0x49425c
mov edx, dword [edx]
mov dword [esp + 0xa4], edx
jmp 0x494263
mov dword [esp + 0xa4], ebx
mov esi, dword [ecx]
push 0
push 0
call fcn.00485980
movzx eax, byte [edi + 3]
mov ecx, dword [esp + 0xac]
and eax, 8
push eax
mov eax, dword [esp + 0x9c]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
push ecx
mov ecx, dword [esp + 0xac]
push edx
mov edx, dword [esp + 0xac]
push eax
mov eax, dword [esp + 0xb8]
push ecx
mov ecx, dword [eax]
mov eax, dword [esp + 0xc4]
push edx
push 0
push ecx
call fcn.00488f10
mov esi, dword [esp + 0x6c]
add esp, 0x28
mov dword [esp + 0x40], eax
xor ebx, ebx
mov edx, dword [esp + 0xa0]
mov byte [edx + 0x11], 0
mov eax, dword [esp + 0xa0]
mov byte [eax + 0x17], 0
mov ecx, dword [esp + 0xa0]
mov dword [ecx + 0x5c], ebx
cmp dword [esp + 0x40], ebx
jne case.0x490e23.12
mov edx, dword [esp + 0x3c]
cmp dword [edx + 0xb4], ebx
je case.0x490e23.12
cmp dword [edi + 0x10], ebx
je case.0x490e23.12
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 8]
shl edx, 4
mov edx, dword [edx + eax]
mov dword [esp + 0xac], edx
mov ebx, dword [edi + 0x10]
mov dword [esp + 0xb0], ebx
mov al, byte [edi + 3]
mov edi, dword [esp + 0x9c]
and al, 4
movzx eax, al
push edi
mov edi, dword [esp + 0x9c]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push ebx
push edx
mov dword [esp + 0xc4], eax
mov edx, dword [ecx + 0xb0]
push eax
mov eax, dword [ecx + 0xb4]
push edx
call eax
add esp, 0x18
jmp case.0x490e23.12
mov edx, dword [esi + 0x34]
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x98], esi
cmp dword [ecx + 0xb4], eax
je 0x4943b5
cmp dword [edi + 0x10], eax
je 0x4943b5
mov edx, dword [esi + 8]
mov dword [esp + 0x90], edx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x94], eax
call fcn.0048e900
mov dword [esp + 0x40], eax
test eax, eax
jne 0x495dad
mov ecx, dword [esp + 0x98]
mov esi, dword [ecx]
push eax
push eax
call fcn.00485980
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
add esp, 8
call fcn.00489120
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x40], eax
mov dword [ecx + 0x5c], 0
test eax, eax
jne 0x494445
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + 0xb4]
test ecx, ecx
je 0x494445
mov eax, dword [edi + 0x10]
test eax, eax
je 0x494445
mov esi, dword [esp + 0x94]
push esi
mov esi, dword [esp + 0x94]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb0]
push eax
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 4]
shl eax, 4
mov eax, dword [eax + esi]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je 0x495cb4
mov eax, dword [esp + 0x44]
inc dword [eax + 0x74]
mov esi, eax
jmp case.0x490e23.12
cmp dword [edi + 4], 0
je 0x494470
mov eax, dword [esi + 0x74]
mov ecx, dword [esp + 0x3c]
add dword [ecx + 0x40], eax
mov dword [ecx + 0x3c], eax
mov dword [esi + 0x74], 0
jmp case.0x490e23.12
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x4c]
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esi + 0x34]
mov esi, dword [eax + edx*4]
mov dword [esp + 0x90], esi
mov ecx, dword [esi]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x94], ecx
call fcn.0048e900
mov dword [esp + 0x40], eax
test eax, eax
jne 0x495dad
mov edx, dword [esp + 0x90]
cmp byte [edx + 0x19], al
je 0x494508
mov eax, dword [esp + 0x94]
lea edi, [esp + 0xa0]
call fcn.00485b20
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0xa4]
cdq
cmp ecx, edx
jg 0x495e5a
mov ecx, dword [esp + 0xa0]
jl 0x4944fd
cmp ecx, eax
ja 0x495e5a
mov eax, ecx
mov dword [esp + 0x98], eax
jmp 0x49452d
mov esi, dword [esp + 0x94]
mov edi, esi
call fcn.00485ad0
mov eax, dword [edi + 0x30]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x98], eax
cmp eax, dword [edx + 0x48]
ja 0x495e5a
push 0
call fcn.0048b640
add esp, 4
test eax, eax
jne 0x495e37
mov esi, dword [esp + 0x50]
mov cx, word [esi + 0x1c]
mov eax, dword [esp + 0x98]
mov edx, 0xbf10
and cx, dx
or cx, 0x10
mov dword [esi + 0x18], eax
mov word [esi + 0x1c], cx
mov eax, dword [esp + 0x90]
cmp byte [eax + 0x19], 0
je 0x49459a
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x98]
push 0
push eax
mov eax, dword [esp + 0x9c]
push ecx
push 0
call fcn.00485d20
mov dword [esp + 0x50], eax
add esp, 0x10
mov byte [esi + 0x1f], 1
jmp 0x495cb4
mov edx, dword [esi + 0x14]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
push edx
push eax
push 0
push ecx
call fcn.00486010
mov dword [esp + 0x50], eax
add esp, 0x10
mov byte [esi + 0x1f], 1
jmp 0x495cb4
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x90], eax
cmp byte [eax + 0x14], 0
jne case.0x490e23.12
cmp byte [eax + 0x17], 0
je 0x4945fe
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x98], ecx
mov edx, dword [eax + 0x24]
mov dword [esp + 0x9c], edx
jmp 0x4946be
cmp byte [eax + 0x15], 0
je 0x49461d
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x98], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x9c], edx
jmp 0x4946be
mov ecx, dword [eax + 0x50]
test ecx, ecx
je 0x494672
mov ecx, dword [ecx]
mov dword [esp + 0xa0], ecx
mov ecx, dword [ecx]
mov dword [esp + 0xa4], ecx
mov eax, dword [eax + 0x50]
mov ecx, dword [ecx + 0x30]
lea edx, [esp + 0x98]
push edx
push eax
call ecx
mov edx, dword [esi + 0x68]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x44]
push edx
push eax
call fcn.00478e80
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax + 8]
mov dword [esi + 0x68], ecx
add esp, 0x10
mov dword [eax + 8], 0
jmp 0x4946be
mov esi, eax
call fcn.0048e900
mov dword [esp + 0x40], eax
test eax, eax
jne 0x495dad
mov eax, dword [esp + 0x90]
cmp byte [eax + 0x11], 0
je 0x4946a8
mov edx, dword [eax + 8]
mov dword [esp + 0x98], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x9c], eax
jmp 0x4946ba
mov eax, dword [eax]
lea edi, [esp + 0x98]
call fcn.00485b20
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0x9c]
mov cx, word [eax + 0x1c]
mov dword [eax + 4], edx
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x490e23.12
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x90], eax
mov byte [eax + 0x14], 1
mov edx, dword [esp + 0x90]
mov byte [edx + 0x11], 0
mov eax, dword [esp + 0x90]
mov eax, dword [eax]
test eax, eax
je case.0x490e23.12
mov esi, eax
call fcn.00482b80
jmp 0x495cb4
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x34]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x90], ecx
mov eax, dword [ecx]
mov dword [esp + 0x94], eax
test eax, eax
jne 0x494754
mov dword [esp + 0x98], 1
jmp 0x49476f
lea esi, [esp + 0x98]
call fcn.00486490
mov ecx, dword [esp + 0x90]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x40], eax
mov al, byte [esp + 0x98]
mov byte [ecx + 0x14], al
mov ecx, dword [esp + 0x90]
mov byte [ecx + 0x17], 0
mov edx, dword [esp + 0x90]
mov byte [edx + 0x11], 0
mov eax, dword [esp + 0x90]
mov dword [eax + 0x5c], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.0x490e23.12
cmp dword [esp + 0x98], 0
je case.0x490e23.12
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
inc dword [esi + 0xbc]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x34]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x90], ecx
mov eax, dword [ecx]
mov dword [esp + 0x94], eax
test eax, eax
je 0x494839
lea esi, [esp + 0x98]
call fcn.00486460
cmp dword [esp + 0x98], 0
mov ecx, dword [esp + 0x90]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x40], eax
sete al
mov byte [ecx + 0x12], al
mov edx, dword [esp + 0x90]
mov byte [edx + 0x17], 0
mov eax, dword [esp + 0x90]
mov dword [eax + 0x5c], 0
mov ecx, dword [esp + 0x90]
mov byte [ecx + 0x11], 0
mov ecx, dword [esp + 0x90]
jmp 0x494844
mov dword [esp + 0x98], 1
mov dl, byte [esp + 0x98]
mov byte [ecx + 0x14], dl
cmp dword [esp + 0x98], 0
je case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
jne 0x495e06
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x90], eax
test eax, eax
je case.0x490e23.12
mov ecx, dword [eax]
mov dword [esp + 0x94], ecx
test ecx, ecx
jne 0x4948a9
mov byte [eax + 0x14], 1
jmp case.0x490e23.12
mov dword [esp + 0x98], 1
cmp byte [edi], 0x6a
jne 0x4948c9
lea edx, [esp + 0x98]
push edx
push ecx
call fcn.004868b0
jmp 0x4948d7
lea eax, [esp + 0x98]
push eax
push ecx
call fcn.004869d0
mov ecx, dword [esp + 0x98]
mov dl, byte [esp + 0xa0]
mov byte [ecx + 0x14], dl
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x98]
add esp, 8
mov dword [eax + 0x5c], 0
cmp dword [esp + 0x98], 0
jne 0x494927
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x4c], eax
mov al, byte [edi + 3]
test al, al
je 0x494927
movzx ecx, al
inc dword [esi + ecx*4 + 0xb4]
lea eax, [esi + ecx*4 + 0xb4]
mov edx, dword [esp + 0x90]
mov byte [edx + 0x11], 0
jmp case.0x490e23.12
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x90], edx
mov ecx, dword [edx]
mov dword [esp + 0x94], ecx
test ecx, ecx
je case.0x490e23.12
mov ebx, dword [esp + 0x60]
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x494988
mov eax, ebx
call fcn.0048b7d0
mov dword [esp + 0x40], eax
test eax, eax
jne case.0x490e23.12
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x60]
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x98], eax
mov ebx, dword [ebx + 0x14]
mov dword [esp + 0x9c], ebx
test byte [edi + 3], 0x10
je 0x4949ab
mov ebx, dword [edx + 0x58]
jmp 0x4949ad
xor ebx, ebx
mov edx, dword [edi + 0xc]
push edx
push 0
push 0
cdq
push 0x4f65b8
push edx
push eax
mov eax, dword [esp + 0xb4]
push eax
push ecx
mov eax, ebx
call fcn.00488f10
mov ecx, dword [esp + 0xb0]
add esp, 0x20
mov dword [esp + 0x40], eax
mov dword [ecx + 0x5c], 0
jmp case.0x490e23.12
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x90], eax
mov ecx, dword [eax]
mov dword [esp + 0x94], ecx
test ecx, ecx
je case.0x490e23.12
mov edx, dword [eax + 0x40]
mov dword [esp + 0xa0], edx
mov ax, word [edi + 0xc]
xor edx, edx
mov word [esp + 0xa4], ax
mov word [esp + 0xa6], dx
mov edi, dword [edi + 8]
mov edx, dword [esi + 0x4c]
lea eax, [edi + edi*4]
lea eax, [edx + eax*8]
lea edx, [esp + 0x98]
push edx
push 0
push 0
mov dword [esp + 0xbc], eax
push 0
lea eax, [esp + 0xb0]
push eax
push ecx
call fcn.004864d0
add esp, 0x18
mov dword [esp + 0x40], eax
test eax, eax
jne 0x494a7b
cmp dword [esp + 0x98], eax
jne 0x494a7b
mov eax, dword [esp + 0x94]
call fcn.00489120
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x5c], 0
jmp case.0x490e23.12
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x94], eax
mov ecx, dword [eax]
mov dword [esp + 0x90], ecx
test ecx, ecx
je case.0x490e23.12
mov esi, eax
call fcn.0048e900
mov dword [esp + 0x40], eax
test eax, eax
jne 0x495dad
mov ecx, dword [esp + 0x94]
cmp byte [ecx + 0x14], al
jne 0x495cb4
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x98]
push edx
push eax
mov eax, dword [esp + 0x98]
call fcn.0048f100
add esp, 8
mov dword [esp + 0x40], eax
test eax, eax
jne 0x495dad
mov eax, dword [esp + 0x50]
mov cx, word [eax + 0x1c]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x98]
mov dword [eax], ecx
mov edx, dword [esp + 0x9c]
mov dword [eax + 4], edx
jmp 0x495cb4
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x90], eax
cmp dword [eax], 0
je case.0x490e23.12
mov edx, dword [eax + 0x40]
mov dword [esp + 0x98], edx
mov cx, word [edi + 0x10]
mov word [esp + 0x9c], cx
cmp byte [edi + 3], 0
je 0x494b6e
mov edx, 0xc
mov word [esp + 0x9e], dx
jmp 0x494b7b
mov ecx, 4
mov word [esp + 0x9e], cx
mov ecx, dword [edi + 0xc]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x4c]
lea edx, [ecx + edx*8]
lea ecx, [esp + 0x94]
mov dword [esp + 0xa8], edx
push ecx
lea edx, [esp + 0x9c]
push edx
call fcn.0048f210
add esp, 8
cmp byte [edi], 0x29
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x94]
jne 0x494bba
neg eax
jmp 0x494bbb
inc eax
mov dword [esp + 0x94], eax
test eax, eax
jle case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov dword [esp + 0x94], ecx
mov eax, dword [eax + 0x84]
mov dword [esp + 0x98], eax
test eax, eax
je 0x494c36
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x494c12
cmp byte [eax + 0x70], 2
jae 0x494c12
cmp dword [eax + 0x60], 0
jl 0x494c12
inc ecx
mov dword [esp + 0x94], ecx
mov eax, dword [eax + 8]
mov dword [esp + 0x98], eax
test eax, eax
jne 0x494bf5
cmp ecx, 1
jle 0x494c36
mov dword [esp + 0x40], 6
mov byte [esi + 0x38], 2
jmp case.0x490e23.12
mov eax, dword [edi + 0xc]
mov dword [esp + 0x9c], eax
mov edx, dword [edi + 4]
lea ecx, [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
call fcn.00489a70
mov ecx, eax
mov ax, word [ebx + 0x1c]
mov edx, 0xbf04
and ax, dx
or ax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x98]
cdq
add esp, 8
mov dword [esp + 0x40], ecx
mov dword [ebx], eax
mov dword [ebx + 4], edx
test ecx, ecx
jne case.0x490e23.12
mov edx, dword [esp + 0x90]
test edx, edx
je case.0x490e23.12
mov esi, dword [esp + 0x9c]
mov eax, dword [esp + 0x3c]
mov edi, dword [edi + 4]
shl esi, 4
add esi, dword [eax + 8]
call fcn.004a2df0
jmp 0x495cb4
mov dword [esp + 0x90], 0
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
neg ecx
sbb ecx, ecx
lea edx, [esp + 0x90]
and ecx, edx
mov edx, dword [esp + 0x3c]
mov edx, dword [edx + 8]
push ecx
mov ecx, dword [edi + 8]
shl ecx, 4
mov ecx, dword [ecx + edx + 4]
call fcn.004897c0
add esp, 4
cmp dword [edi + 0xc], 0
mov dword [esp + 0x40], eax
je case.0x490e23.12
mov eax, dword [esp + 0x90]
add dword [esi + 0x74], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.0x490e23.12
mov edx, dword [esi + 0x4c]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x490e23.12
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x90], 0
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [esp + 0x98], eax
cmp byte [edi], 0x35
lea edx, [esp + 0x90]
setne cl
dec ecx
and ecx, 3
add ecx, 2
push ecx
mov dword [esp + 0x98], ecx
mov eax, dword [eax + 4]
push edx
call fcn.004895d0
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x98]
cdq
mov dword [ebx], eax
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf04
and ax, cx
add esp, 8
or ax, 4
mov dword [ebx + 4], edx
mov word [ebx + 0x1c], ax
jmp case.0x490e23.12
mov edx, dword [edi + 4]
mov ebx, dword [esp + 0x3c]
push ebx
mov dword [esp + 0x94], edx
call fcn.00482620
mov eax, dword [esp + 0x94]
add esp, 4
cmp dword [edi + 8], 0
jne 0x494dda
mov edx, dword [ebx + 8]
mov ecx, eax
shl ecx, 4
mov ecx, dword [ecx + edx + 0xc]
test byte [ecx + 0x3a], 1
je 0x494e9b
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x494de9
mov ecx, str.sqlite_master
mov dword [esp + 0x94], ecx
mov dword [esp + 0x9c], ebx
mov edx, dword [edi + 4]
mov dword [esp + 0xa0], edx
add esi, 0x68
mov dword [esp + 0xa4], esi
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [ebx + 8]
shl eax, 4
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
mov esi, ebx
call fcn.0047a300
add esp, 0x10
mov dword [esp + 0x98], eax
test eax, eax
jne 0x494e3e
mov dword [esp + 0x40], 7
jmp 0x494e97
push 0
lea eax, [esp + 0xa0]
push eax
mov esi, ebx
mov byte [esi + 0x78], 1
mov ecx, dword [esp + 0xa0]
push fcn.004b09f0
push ecx
push esi
mov dword [esp + 0xbc], 0
call fcn.004ad2e0
add esp, 0x14
mov dword [esp + 0x40], eax
test eax, eax
jne 0x494e82
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x98]
push eax
push esi
call fcn.00478e80
add esp, 8
mov byte [esi + 0x78], 0
mov esi, dword [esp + 0x44]
push ebx
call fcn.00482700
add esp, 4
cmp dword [esp + 0x40], 7
je 0x495e3b
jmp case.0x490e23.12
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x3c]
call fcn.0049f390
mov dword [esp + 0x40], eax
jmp case.0x490e23.12
mov ecx, dword [esp + 0x3c]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [edi + 0x10]
call fcn.004a1210
add esp, 4
jmp case.0x490e23.12
mov edx, dword [esp + 0x3c]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.004a0bd0
add esp, 4
jmp case.0x490e23.12
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x58]
mov edi, dword [edi + 0x10]
push eax
mov eax, dword [ecx + 4]
call fcn.004ba070
add esp, 4
jmp case.0x490e23.12
mov eax, dword [edi + 8]
mov esi, dword [esp + 0x3c]
lea ecx, [eax*4 + 4]
mov dword [esp + 0x90], eax
call fcn.00479070
mov dword [esp + 0x94], eax
test eax, eax
je 0x495e37
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x44]
mov ebx, dword [edx + 0x4c]
lea ecx, [ecx + ecx*4]
lea edx, [ebx + ecx*8]
mov dword [esp + 0xa4], edx
mov ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea ebx, [ebx + ecx*8]
xor ecx, ecx
cmp dword [esp + 0x90], ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x98], ecx
jle 0x494faf
lea edx, [ecx + ecx*4]
lea esi, [ebx + edx*8]
call fcn.0048bad0
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x98]
inc ecx
cmp ecx, dword [esp + 0x90]
mov dword [esp + 0x98], ecx
jl 0x494f74
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0xa4]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x94]
lea eax, [esp + 0x9c]
push eax
mov eax, dword [esp + 0x94]
push edx
movzx edx, byte [edi + 3]
push eax
mov eax, dword [esi + 8]
shl edx, 4
push ecx
mov ecx, dword [edx + eax + 4]
call fcn.0048a740
mov ecx, dword [esp + 0xa4]
push ecx
push esi
mov dword [esp + 0xb8], eax
call fcn.00478e80
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xbc]
cdq
add esp, 0x18
sub dword [ecx], eax
mov eax, dword [esp + 0xa4]
mov esi, ebx
sbb dword [eax + 4], edx
call fcn.0048bd20
cmp dword [esp + 0x9c], 0
je 0x495057
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x495e37
push 1
push eax
mov eax, fcn.00478e00
or ecx, 0xffffffff
mov edx, ebx
call fcn.0048bfa0
add esp, 8
movzx ecx, byte [esp + 0x5c]
mov eax, ebx
call fcn.0048b620
jmp 0x495cb4
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x4c]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8]
mov dword [esp + 0x90], ecx
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
lea eax, [eax + edx*8]
mov dword [esp + 0x94], eax
test byte [ecx + 0x1c], 0x20
jne 0x4950b0
mov edi, ecx
call fcn.0048be00
mov ecx, dword [esp + 0x90]
test byte [ecx + 0x1c], 0x20
je 0x495e3b
mov eax, dword [esp + 0x94]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov edi, dword [ecx]
push edx
push eax
call fcn.0047e900
add esp, 8
jmp case.0x490e23.12
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 0xd0]
test edx, edx
jne 0x495e06
mov eax, dword [edi + 4]
mov esi, dword [esi + 0x4c]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov dword [esp + 0x90], ecx
test byte [ecx + 0x1c], 0x20
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea ebx, [esi + edx*8]
mov dword [esp + 0x50], ebx
je 0x495136
mov eax, dword [ecx]
lea esi, [esp + 0x98]
call fcn.0047ec60
test eax, eax
je 0x49512f
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push eax
push ecx
mov esi, ebx
call fcn.0048bd50
add esp, 8
jmp 0x495cb4
mov ecx, dword [esp + 0x90]
mov esi, ecx
call fcn.0048bd20
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp 0x495cb4
mov eax, dword [edi + 0x10]
mov dword [esp + 0x90], eax
test byte [ecx + 0x1c], 0x20
jne 0x49517a
mov edi, dword [esp + 0x48]
call fcn.0048be00
mov edx, edi
test byte [edx + 0x1c], 0x20
je 0x495e3b
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x58]
test eax, eax
je 0x4951cc
jl 0x495185
and eax, 0xf
jmp 0x49518a
mov eax, 0xff
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
push edx
mov edx, dword [esp + 0x4c]
mov bl, al
mov eax, dword [edx]
push ecx
call fcn.0047ece0
add esp, 8
mov dword [esp + 0x94], eax
test eax, eax
je 0x4951bd
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
mov eax, dword [esp + 0x90]
test eax, eax
jl case.0x490e23.12
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x48]
mov edi, dword [eax]
push ecx
push edx
call fcn.0047e900
add esp, 8
jmp case.0x490e23.12
mov eax, dword [esi + 0x54]
cmp eax, dword [esi + 0x58]
lea ecx, [eax + 1]
mov dword [esp + 0x90], eax
mov dword [esi + 0x54], ecx
jl 0x49522a
mov edi, dword [esi + 0x5c]
inc eax
mov dword [esi + 0x58], ecx
mov esi, dword [esp + 0x3c]
shl eax, 4
call fcn.00479190
mov ecx, dword [esp + 0x44]
mov dword [ecx + 0x5c], eax
mov esi, ecx
test eax, eax
je 0x495e3b
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x3c]
shl eax, 4
add eax, dword [esi + 0x5c]
mov dword [esp + 0x94], eax
mov edx, dword [ecx + 0x30]
mov dword [eax], edx
mov eax, dword [ecx + 0x34]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 4], eax
mov edx, dword [esi + 0x74]
mov eax, dword [esp + 0x94]
mov dword [eax + 8], edx
jmp case.0x490e23.12
dec dword [esi + 0x54]
mov eax, dword [esi + 0x54]
mov ecx, dword [esp + 0x3c]
shl eax, 4
add eax, dword [esi + 0x5c]
mov dword [esp + 0x90], eax
mov edx, dword [eax]
mov dword [ecx + 0x30], edx
mov eax, dword [eax + 4]
mov dword [ecx + 0x34], eax
mov ecx, dword [esp + 0x90]
mov edx, dword [ecx + 8]
mov dword [esi + 0x74], edx
jmp case.0x490e23.12
mov ebx, dword [esp + 0x48]
mov eax, ebx
call fcn.0048bc40
mov edi, dword [esp + 0x60]
mov eax, edi
call fcn.0048bc40
mov ecx, dword [edi]
mov edi, dword [edi + 4]
mov eax, dword [ebx + 4]
cmp eax, edi
jg case.0x490e23.12
jl 0x4952c7
mov edx, ebx
mov eax, dword [edx]
cmp eax, ecx
jae case.0x490e23.12
mov eax, dword [esp + 0x48]
mov dword [eax], ecx
mov dword [eax + 4], edi
jmp case.0x490e23.12
cmp dword [ecx + 4], 0
jl case.0x490e23.12
jg 0x4952ea
cmp dword [ecx], 0
jbe case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
cmp dword [ecx + 4], 0
jg case.0x490e23.12
jl 0x49530c
cmp dword [ecx], 0
jae case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
mov edx, dword [ecx]
or edx, dword [ecx + 4]
jne case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
movzx ecx, byte [edi + 3]
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x90], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [esi + 0x24]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0xe0], edx
mov dword [esp + 0x94], eax
test ecx, ecx
jle 0x4953a3
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xe0]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x9c]
call fcn.00490a60
mov eax, dword [esp + 0x94]
add dword [esp + 0x9c], 0x28
inc eax
cmp eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
jl 0x495366
mov eax, dword [edi + 0x10]
mov edx, dword [esi + 0x4c]
mov dword [esp + 0xa0], eax
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x98], eax
mov dword [esp + 0xd0], eax
inc dword [eax + 0x18]
xor ebx, ebx
mov eax, 1
mov word [esp + 0xc4], ax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
test byte [eax + 3], 8
je 0x49541e
mov edx, dword [edi - 4]
mov dword [esp + 0xd8], edx
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x90]
push ecx
push edx
mov edx, dword [eax + 0x10]
lea ecx, [esp + 0xa8]
push ecx
call edx
add esp, 0xc
cmp dword [esp + 0xd4], ebx
je 0x495475
mov bl, 1
lea edi, [esp + 0xa8]
call fcn.0048c4d0
push eax
mov eax, dword [esp + 0x40]
push 0x4fc568
lea edi, [esi + 0x68]
call fcn.00479260
mov eax, dword [esp + 0xdc]
add esp, 8
mov dword [esp + 0x40], eax
lea ecx, [esp + 0xa8]
push ecx
call fcn.0048ba00
add esp, 4
jmp case.0x490e23.12
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
lea ecx, [eax + edx*8]
mov dword [esp + 0x90], ecx
mov eax, dword [edi + 0x10]
call fcn.0048b930
mov dword [esp + 0x40], eax
test eax, eax
je 0x4954d0
mov edi, dword [esp + 0x90]
mov bl, 1
call fcn.0048c4d0
push eax
mov eax, dword [esp + 0x40]
push 0x4fc568
lea edi, [esi + 0x68]
call fcn.00479260
add esp, 8
movzx ecx, byte [esp + 0x5c]
mov eax, dword [esp + 0x90]
call fcn.0048b620
mov ecx, dword [esp + 0x90]
call fcn.0048be90
test eax, eax
jne 0x495e5e
jmp case.0x490e23.12
mov ecx, dword [esp + 0x3c]
cmp byte [ecx + 0x1c], 0
jne 0x495523
push str.cannot_VACUUM_from_within_a_transaction
lea edi, [esi + 0x68]
mov eax, ecx
call fcn.00479260
add esp, 4
mov dword [esp + 0x40], 1
jmp case.0x490e23.12
mov esi, ecx
call fcn.004bd100
mov dword [esp + 0x40], eax
jmp 0x495cb4
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x90], eax
call fcn.00485110
mov dword [esp + 0x40], eax
cmp eax, 0x65
jne case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x40], 0
jmp case.0x490e23.12
cmp dword [edi + 4], 0
jne 0x495586
mov eax, dword [esp + 0x3c]
call fcn.0048f2b0
jmp case.0x490e23.12
mov byte [esi + 0x6e], 1
jmp case.0x490e23.12
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x4955a7
mov edx, dword [esp + 0x3c]
test dword [edx + 0xc], 0x4000
jne case.0x490e23.12
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push edx
mov edx, dword [esp + 0x40]
mov edx, dword [edx + 8]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.0048ac30
add esp, 4
mov dword [esp + 0x40], eax
cmp al, 6
jne 0x495cb4
mov eax, dword [edi + 0x10]
mov edi, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x40]
push str.database_table_is_locked:__s
add edi, 0x68
call fcn.00479260
add esp, 8
jmp 0x495cb4
mov edi, dword [edi + 0x10]
mov ecx, dword [esp + 0x3c]
mov eax, edi
mov dword [esp + 0x90], edi
call fcn.004be590
cmp dword [esp + 0x90], 0
mov dword [esp + 0x40], eax
je case.0x490e23.12
mov ecx, dword [esi + 0x68]
mov edx, dword [esp + 0x3c]
push ecx
push edx
call fcn.00478e80
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 8]
mov dword [esi + 0x68], edx
mov eax, dword [eax + 8]
add esp, 8
mov dword [eax + 8], 0
jmp case.0x490e23.12
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
lea ecx, [esi + 0x68]
push ecx
mov ecx, dword [esp + 0x40]
push edx
call fcn.004be110
add esp, 8
mov dword [esp + 0x40], eax
jmp case.0x490e23.12
mov ecx, dword [esp + 0x3c]
mov byte [esi + 0x70], 2
mov eax, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.004be380
add esp, 4
mov dword [esp + 0x40], eax
mov byte [esi + 0x70], 0
jmp case.0x490e23.12
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x98], eax
mov ecx, dword [eax]
lea edx, [esp + 0x94]
push edx
mov dword [esp + 0xa0], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [esi + 0x68]
mov edx, dword [esp + 0x44]
push ecx
mov ebx, eax
push edx
mov dword [esp + 0x50], ebx
call fcn.00478e80
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 8]
add esp, 0x10
mov dword [esi + 0x68], ecx
mov dword [eax + 8], 0
test ebx, ebx
jne case.0x490e23.12
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
push ebx
mov dword [eax], edx
mov ecx, dword [edi + 4]
push 0xffffffffffffffff
push ebx
push ecx
mov eax, esi
call fcn.00490a90
add esp, 0x10
mov dword [esp + 0x90], eax
test eax, eax
je 0x495744
mov edx, dword [esp + 0x94]
mov dword [eax + 0x50], edx
mov eax, dword [esp + 0x94]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [esp + 0x90]
mov dword [eax + 0x54], edx
jmp case.0x490e23.12
mov ecx, dword [esp + 0x3c]
mov byte [ecx + 0x1e], 1
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
jmp case.0x490e23.12
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
lea eax, [eax + edx*8]
mov edx, dword [esi + 0x34]
mov dword [esp + 0x9c], eax
lea ebx, [eax + 0x28]
mov dword [esp + 0xa0], ebx
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0xac], ecx
mov edx, dword [ecx + 0x50]
mov dword [esp + 0xa4], edx
mov ecx, dword [edx]
mov dword [esp + 0xa8], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x98], ecx
mov ecx, dword [ebx]
mov dword [esp + 0x90], ecx
mov eax, dword [eax]
mov dword [esp + 0x94], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 0xb8], eax
xor eax, eax
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], eax
test ecx, ecx
jle 0x49583f
jmp 0x4957f7
mov ebx, dword [esp + 0xa0]
lea ecx, [eax + eax*4 + 5]
lea edx, [ebx + ecx*8]
mov ecx, dword [esp + 0xb8]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + edx*4]
call fcn.00490a60
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x90]
inc eax
cmp eax, ecx
mov dword [esp + 0xb4], eax
jl 0x4957f0
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xb8]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov byte [esi + 0x70], 1
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [esp + 0xa4]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov ecx, dword [esp + 0x50]
mov ebx, eax
mov eax, dword [esi + 0x68]
add esp, 0x14
push eax
push ecx
mov dword [esp + 0x48], ebx
mov byte [esi + 0x70], 0
call fcn.00478e80
mov eax, dword [esp + 0xb0]
mov edx, dword [eax + 8]
add esp, 8
mov dword [esi + 0x68], edx
mov dword [eax + 8], 0
test ebx, ebx
jne 0x4958b9
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0xb0], eax
cmp dword [esp + 0xb0], 0
je 0x4958cb
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0xac]
mov byte [eax + 0x14], 0
jmp case.0x490e23.12
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x34]
mov ecx, dword [edx + ecx*4]
mov eax, dword [edi + 0xc]
mov edx, dword [esi + 0x4c]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x98], eax
cmp byte [ecx + 0x14], 0
mov dword [esp + 0x64], ecx
je 0x495908
mov esi, eax
jmp 0x495caf
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x50]
mov eax, dword [ecx]
mov dword [esp + 0x90], eax
mov edx, dword [eax]
push 0x40
lea eax, [esp + 0xa4]
push 0
push eax
mov dword [esp + 0xa0], edx
call fcn.004cc620
mov ebx, dword [esp + 0xa4]
add esp, 0xc
lea eax, [esp + 0xa8]
call fcn.0048bf70
mov ecx, dword [esp + 0xc4]
and ecx, 0xbf01
or ecx, 1
mov word [esp + 0xc4], cx
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [ecx + 0x50]
lea eax, [esp + 0xa4]
push eax
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x2c]
push edx
call ecx
mov edx, dword [esi + 0x68]
add esp, 0xc
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x3c]
push edx
push eax
call fcn.00478e80
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 8]
mov dword [esi + 0x68], ecx
mov dword [eax + 8], 0
mov eax, dword [esp + 0xdc]
add esp, 8
test eax, eax
je 0x4959bb
mov dword [esp + 0x40], eax
movzx ecx, byte [esp + 0x5c]
lea eax, [esp + 0xa8]
call fcn.0048b620
mov eax, dword [esp + 0x98]
lea ebx, [esp + 0xa8]
call fcn.0048bf70
mov ecx, dword [esp + 0x98]
call fcn.0048be90
test eax, eax
jne 0x495e5e
jmp case.0x490e23.12
mov eax, dword [esi + 0x34]
mov dword [esp + 0x98], 0
mov edx, dword [edi + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x9c], eax
cmp byte [eax + 0x14], 0
jne case.0x490e23.12
mov ecx, dword [eax + 0x50]
mov ecx, dword [ecx]
mov dword [esp + 0x90], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x94], ecx
mov byte [esi + 0x70], 1
mov edx, dword [eax + 0x50]
mov eax, dword [ecx + 0x24]
push edx
call eax
mov ecx, dword [esi + 0x68]
mov edx, dword [esp + 0x40]
add esp, 4
push ecx
mov ebx, eax
push edx
mov dword [esp + 0x48], ebx
mov byte [esi + 0x70], 0
call fcn.00478e80
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 8]
add esp, 8
mov dword [esi + 0x68], ecx
mov dword [eax + 8], 0
test ebx, ebx
jne 0x495a96
mov edx, dword [esp + 0x9c]
mov eax, dword [edx + 0x50]
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x98], eax
cmp dword [esp + 0x98], 0
jne case.0x490e23.12
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x4c], edi
jmp case.0x490e23.12
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x90], eax
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x94], ecx
mov ecx, dword [ecx + 0x14]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x68]
push eax
push ecx
call fcn.00478e80
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 8]
mov dword [esi + 0x68], edx
add esp, 0x10
mov dword [eax + 8], 0
jmp case.0x490e23.12
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x90], eax
mov edx, dword [eax]
mov dword [esp + 0x94], edx
mov eax, dword [edi + 8]
mov dword [esp + 0x98], eax
cmp dword [edx + 0x34], 0
je case.0x490e23.12
mov ecx, dword [esi + 0x24]
mov ebx, dword [esi + 0x4c]
mov dword [esp + 0xa8], ecx
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x9c], 0
test eax, eax
jle 0x495bb0
call fcn.00490a60
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa8]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0x98]
inc edx
add ecx, 0x28
cmp edx, eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0x9c], edx
jl 0x495b61
mov edx, dword [esp + 0x94]
lea ecx, [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0xac]
push ecx
mov ecx, dword [edx + 0x34]
push eax
mov eax, dword [esp + 0x9c]
push eax
call ecx
mov edx, dword [esi + 0x68]
mov ebx, eax
mov eax, dword [esp + 0x4c]
push edx
push eax
mov dword [esp + 0x58], ebx
call fcn.00478e80
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 8]
add esp, 0x18
mov dword [esi + 0x68], ecx
mov dword [eax + 8], 0
test ebx, ebx
jne 0x495c1a
cmp dword [edi + 4], ebx
je 0x495c1a
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x3c]
mov dword [eax + 0x30], edx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 0x34], ecx
inc dword [esi + 0x74]
jmp case.0x490e23.12
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x90], edi
mov eax, dword [edx + 8]
shl edi, 4
mov ecx, dword [edi + eax + 4]
mov edx, dword [ecx + 4]
mov esi, dword [edx]
lea ebx, [esp + 0x94]
mov dword [esp + 0x98], esi
call fcn.004806c0
mov dword [esp + 0x40], eax
test eax, eax
jne 0x495cb4
mov ecx, dword [esp + 0x50]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x94]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x495cb4
mov edi, dword [edi + 0x10]
test edi, edi
jne 0x495c83
mov edi, dword [esi + 0xc0]
mov dword [esp + 0x90], edi
test edi, edi
je case.0x490e23.12
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x90]
test eax, eax
je case.0x490e23.12
mov edx, ecx
mov ecx, dword [edx + 0x94]
push edi
push ecx
call eax
add esp, 8
jmp case.0x490e23.12
mov esi, ebx
call fcn.0048bd20
mov esi, dword [esp + 0x44]
inc dword [esp + 0x4c]
cmp dword [esp + 0x40], 0
jne 0x495e7a
mov edi, dword [esp + 0x3c]
jmp 0x490d84
mov dword [esp + 0x40], 9
jmp 0x495e7a
lea edx, [esp + 0xa0]
push edx
call fcn.0048ba00
add esp, 4
jmp 0x495e3b
mov dword [esp + 0x40], 0x14
jmp 0x495db1
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x60], eax
mov byte [ebx + 0x1c], 0
mov edi, 5
mov dword [esi + 0x64], edi
jmp 0x495e9f
test edi, edi
je 0x495d49
mov esi, dword [esp + 0x3c]
call fcn.004c71a0
mov ecx, esi
mov byte [ecx + 0x1c], 1
mov edi, ecx
mov esi, edi
call fcn.004c6cb0
mov edx, dword [esp + 0x44]
mov edi, dword [edx + 0x64]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x495e9f
mov dl, byte [esp + 0x90]
mov edi, dword [esp + 0x3c]
push esi
mov byte [edi + 0x1c], dl
call fcn.0048e230
add esp, 4
cmp eax, 5
jne 0x495d2c
mov eax, dword [esp + 0x4c]
mov cl, 1
sub cl, byte [esp + 0x90]
mov dword [esi + 0x60], eax
mov byte [edi + 0x1c], cl
mov edi, 5
mov dword [esi + 0x64], edi
jmp 0x495e9f
mov eax, dword [esp + 0x4c]
mov edi, 5
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], edi
jmp 0x495e9f
mov dword [esp + 0x40], 0xb
jmp 0x495db1
mov dword [esp + 0x40], 0xd
jmp 0x495db1
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
cmp byte [ecx + 0x1e], 0
je 0x495dc5
mov dword [esp + 0x40], 7
jmp 0x495dd3
cmp dword [esp + 0x40], 0xc0a
je 0x495e7a
mov eax, dword [esp + 0x40]
and eax, 0xff
cmp eax, 0x1a
ja 0x495dec
mov eax, dword [eax*4 + 0x4f3f70]
test eax, eax
jne 0x495df1
mov eax, str.unknown_error
push eax
push 0x4fc568
lea edi, [esi + 0x68]
mov eax, ecx
call fcn.00479260
add esp, 8
jmp 0x495e7a
mov eax, 9
mov dword [esp + 0x40], eax
mov dword [esi + 0x64], eax
mov eax, dword [str.interrupted]
test eax, eax
jne 0x495e20
mov eax, str.unknown_error
push eax
mov eax, dword [esp + 0x40]
push 0x4fc568
lea edi, [esi + 0x68]
call fcn.00479260
add esp, 8
jmp 0x495e7a
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
push str.out_of_memory
lea edi, [esi + 0x68]
mov byte [eax + 0x1e], 1
call fcn.00479260
mov dword [esp + 0x44], 7
jmp 0x495e77
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
push str.string_or_blob_too_big
lea edi, [esi + 0x68]
call fcn.00479260
mov dword [esp + 0x44], 0x12
add esp, 4
mov edi, dword [esp + 0x40]
push esi
mov dword [esi + 0x64], edi
call fcn.0048e230
add esp, 4
cmp edi, 0xc0a
jne 0x495e9a
mov ecx, dword [esp + 0x3c]
mov byte [ecx + 0x1e], 1
mov edi, 1
mov ebx, dword [esp + 0x7c]
call fcn.00482800
mov ecx, dword [esp + 0x13c]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004c961b
mov esp, ebp
pop ebp
ret