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

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x130
mov eax, dword [0x4d5784]
xor eax, ebp
mov dword [ebp + 0x74], eax
push ebx
push esi
push edi
xor eax, eax
mov esi, ecx
mov ebx, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x4d]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x7d], al
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0x30]
mov byte [ebp - 0x78], cl
mov ecx, dword [esi + 8]
mov dword [ebp - 0x88], eax
mov eax, dword [ebx + 0x34]
mov edi, esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x84], eax
call fcn.0046c03f
cmp dword [esi + 0x5c], 7
je 0x499c0f
xor eax, eax
mov dword [esi + 0x5c], eax
mov dword [esi + 0x14], eax
mov ecx, dword [ebx + 0xe0]
mov dword [ebx + 0x1b4], eax
test ecx, ecx
jne 0x49aceb
cmp dword [ebx + 0x114], eax
mov eax, dword [esi + 0x58]
setne cl
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xa4], ecx
cmp byte [ebx + 0x1e], 0
jne 0x499c0f
mov ebx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x60]
imul ebx, ebx, 0x14
add ebx, dword [ebp - 0x98]
cmp dword [ebp - 0xa4], 0
mov dword [ebp - 0x70], ebx
je 0x496b00
mov eax, dword [edi + 0x11c]
cmp eax, dword [ebp - 0x94]
jne 0x496afa
push dword [edi + 0x118]
call dword [edi + 0x114]
pop ecx
test eax, eax
jne 0x49ab33
and dword [ebp - 0x94], eax
inc dword [ebp - 0x94]
test byte [ebx + 2], 2
mov edx, dword [ebp - 0x6c]
je 0x496b31
mov eax, dword [ebx + 8]
imul eax, eax, 0x28
add eax, edx
mov ecx, 0x2460
mov dword [ebp - 0x68], eax
test word [eax + 0x1c], cx
je 0x496b2a
call fcn.004718cd
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
push 4
pop ecx
mov word [eax + 0x1c], cx
movzx eax, byte [ebx]
mov ecx, dword [ebp - 0x68]
dec eax
cmp eax, 0x93
ja case.0x496b43.17
jmp dword [eax*4 + 0x49ad03]
mov eax, dword [edi + 0xe0]
test eax, eax
jne 0x49ace8
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x64], ebx
jmp case.0x496b43.17
mov ecx, dword [ebx + 4]
imul ecx, ecx, 0x28
add ecx, edx
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x64]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x64], eax
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
mov eax, dword [eax + edx + 0x10]
jmp 0x496b81
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, edx
push 4
pop eax
mov word [ebx + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x64]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov eax, dword [ebp - 0x54]
jmp 0x496b81
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
test byte [eax + edx + 0x1c], 1
je case.0x496b43.17
cmp dword [ebx + 4], 0
jne 0x49ab3f
lea ecx, [esi + 0xa8]
mov eax, dword [ecx]
test eax, eax
je 0x49ab3f
mov edx, dword [eax + 0x44]
dec dword [esi + 0xb0]
mov dword [ecx], edx
mov ecx, dword [esi + 0x6c]
add dword [edi + 0x40], ecx
mov dword [edi + 0x3c], ecx
call fcn.0046c145
cmp dword [ebx + 8], 4
mov ecx, dword [edi + 0x30]
mov dword [ebp - 0x88], ecx
mov ecx, dword [edi + 0x34]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x84], ecx
jne 0x496c26
mov ecx, dword [esi + 4]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 8]
dec eax
mov dword [ebp - 0x64], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x6c], eax
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x496b43.17
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebx]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0x14], eax
jmp case.0x496b43.17
push 8
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebx + 0x10]
fld qword [eax]
fstp qword [ecx + 8]
jmp case.0x496b43.17
mov ecx, dword [ebx + 0x10]
mov byte [ebx], 9
call fcn.004682c9
cmp byte [ebp - 0x78], 1
mov dword [ebx + 4], eax
je 0x496cfc
mov edx, dword [ebp - 0x68]
push 1
push ecx
xor eax, eax
or ecx, 0xffffffff
call fcn.0047c238
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
cmp eax, 0x12
je 0x49a34c
movzx eax, byte [ebp - 0x78]
mov edi, dword [ebp - 0x68]
push eax
mov eax, edi
call fcn.0047c1a7
pop ecx
test eax, eax
jne 0x499c0f
and dword [edi + 0x24], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [edi + 0x1c], ax
cmp byte [ebx + 1], 0xff
mov edi, dword [ebp - 0x60]
jne 0x496ce9
push dword [ebx + 0x10]
push edi
call fcn.00468173
pop ecx
pop ecx
mov eax, dword [ebp - 0x68]
mov byte [ebx + 1], 0xff
mov ecx, dword [eax + 4]
mov dword [ebx + 0x10], ecx
mov eax, dword [eax + 0x18]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
cmp eax, dword [edi + 0x48]
jg 0x49a34c
mov ecx, dword [ebp - 0x68]
mov eax, 0xa02
mov word [ecx + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0x18], eax
mov al, byte [ebp - 0x78]
mov byte [ecx + 0x1f], al
jmp case.0x496b43.17
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 8]
mov dword [ebp - 0x54], eax
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
jmp 0x496d62
add ecx, 0x28
mov eax, 0x2460
mov dword [ebp - 0x68], ecx
test word [ecx + 0x1c], ax
je 0x496d58
mov eax, ecx
call fcn.004718cd
mov ecx, dword [ebp - 0x68]
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
dec dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0
jg 0x496d3d
jmp case.0x496b43.17
mov edi, dword [ebp - 0x68]
mov ecx, dword [ebx + 4]
push 0
push dword [ebx + 0x10]
xor eax, eax
mov edx, edi
call fcn.0047c238
mov al, byte [ebp - 0x78]
pop ecx
pop ecx
mov byte [edi + 0x1f], al
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x48]
imul eax, eax, 0x28
lea edi, [eax + ecx - 0x28]
mov ecx, edi
mov dword [ebp - 0x54], edi
call fcn.0046bf76
test eax, eax
jne 0x49a34c
push 0x800
mov esi, dword [ebp - 0x68]
call fcn.00471a3c
pop ecx
mov esi, dword [ebp - 0x5c]
inc dword [ebp - 0x64]
cmp dword [ebp - 0x58], 0
jne 0x49a365
mov ebx, dword [ebp - 0x60]
jmp 0x496aac
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x50], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x4c], eax
imul eax, eax, 0x28
mov ebx, dword [ebx + 8]
mov dword [ebp - 0x48], ebx
imul ebx, ebx, 0x28
add eax, edx
add ebx, edx
mov edi, eax
mov dword [ebp - 0x68], ebx
test ecx, ecx
je 0x496e20
dec dword [ebp - 0x50]
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x54], eax
and dword [ebx + 0x24], 0
push ebx
mov esi, edi
call fcn.00471a7f
mov eax, dword [ebp - 0x54]
mov dword [edi + 0x24], eax
add edi, 0x28
add ebx, 0x28
cmp dword [ebp - 0x50], 0
pop ecx
jne 0x496df2
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x68], ebx
dec dword [ebp - 0x50]
jmp case.0x496b43.17
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x6c]
imul edi, edi, 0x28
add edi, dword [ebp - 0x6c]
push 0x1000
mov dword [ebp - 0x68], esi
call fcn.00471a3c
mov eax, 0x1000
pop ecx
test word [esi + 0x1c], ax
je 0x496db5
mov eax, esi
call fcn.004769de
mov esi, dword [ebp - 0x5c]
test eax, eax
jne 0x499c0f
jmp case.0x496b43.17
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x6c]
imul edi, edi, 0x28
add edi, dword [ebp - 0x6c]
mov dword [ebp - 0x68], esi
push 0x1000
jmp 0x496daf
xor edi, edi
push edi
mov eax, esi
call fcn.0047c763
pop ecx
mov dword [ebp - 0x58], eax
cmp eax, edi
jne case.0x496b43.17
push 1
push esi
call fcn.00486619
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
cmp eax, edi
jne case.0x496b43.17
mov eax, dword [esi + 0x54]
mov ecx, dword [ebp - 0x6c]
inc eax
inc eax
or eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
add eax, ecx
mov dword [esi + 0x14], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edi
cmp dword [ebx + 8], edi
jle 0x496f23
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
imul eax, eax, 0x28
add eax, ecx
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x496efc
call fcn.004769de
test eax, eax
jne 0x499c0f
mov eax, dword [ebp - 0x50]
imul eax, eax, 0x28
add eax, dword [ebp - 0x54]
call fcn.00471884
mov ecx, dword [ebp - 0x50]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x54]
call fcn.0046c80d
inc dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebx + 8]
jl 0x496ed9
mov edi, dword [ebp - 0x60]
cmp byte [edi + 0x1e], 0
jne 0x499c0f
mov eax, dword [ebp - 0x64]
inc eax
mov dword [esi + 0x58], eax
mov dword [ebp - 0x58], 0x64
jmp 0x49ac18
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
imul eax, eax, 0x28
mov ebx, dword [ebx + 0xc]
imul ecx, ecx, 0x28
imul ebx, ebx, 0x28
add eax, edx
add ecx, edx
mov dword [ebp - 0x7c], eax
movzx eax, word [eax + 0x1c]
mov dword [ebp - 0x70], ecx
mov cl, byte [ecx + 0x1c]
add ebx, edx
or cl, al
mov dword [ebp - 0x68], ebx
test cl, 1
je 0x496f7e
mov edi, ebx
call fcn.0046bf35
jmp case.0x496b43.17
test eax, 0x4000
je 0x496f8f
mov eax, dword [ebp - 0x7c]
call fcn.00471831
jmp 0x496f91
xor eax, eax
test eax, eax
jne 0x499c0f
mov ecx, dword [ebp - 0x70]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x496fb0
mov eax, ecx
call fcn.00471831
jmp 0x496fb2
xor eax, eax
test eax, eax
jne 0x499c0f
mov eax, dword [ebp - 0x7c]
test byte [eax + 0x1c], 0x12
jne 0x496fd9
movzx eax, byte [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x7c]
call fcn.0047c1c7
pop ecx
test eax, eax
jne 0x499c0f
mov eax, dword [ebp - 0x70]
test byte [eax + 0x1c], 0x12
jne 0x496ff8
movzx eax, byte [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x70]
call fcn.0047c1c7
pop ecx
test eax, eax
jne 0x499c0f
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0x70]
add eax, dword [ecx + 0x18]
cdq
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], eax
mov eax, dword [edi + 0x48]
cdq
cmp dword [ebp - 0x50], edx
jg 0x49a34c
jl 0x497023
cmp dword [ebp - 0x54], eax
ja 0x49a34c
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf02
and ax, cx
or ax, 2
mov word [ebx + 0x1c], ax
xor eax, eax
cmp ebx, dword [ebp - 0x70]
mov edi, ebx
sete al
push eax
mov eax, dword [ebp - 0x54]
add eax, 2
call fcn.00471772
pop ecx
test eax, eax
jne 0x499c0f
mov edi, dword [ebp - 0x70]
cmp ebx, edi
je 0x49706e
push dword [edi + 0x18]
push dword [edi + 4]
push dword [ebx + 4]
call fcn.004335c0
add esp, 0xc
mov eax, dword [ebp - 0x7c]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [edi + 0x18]
add eax, dword [ebx + 4]
push eax
call fcn.004335c0
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebx + 4]
mov byte [ecx + eax], 0
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebx + 4]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
add esp, 0xc
or word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x54]
mov dword [ebx + 0x18], eax
mov al, byte [ebp - 0x78]
mov byte [ebx + 0x1f], al
jmp case.0x496b43.17
mov edi, dword [ebx + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0x6c]
mov esi, edi
mov dword [ebp - 0x7c], edi
call fcn.0046c838
mov esi, dword [ebx + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0x6c]
mov dword [ebp - 0x70], esi
call fcn.0046c838
mov eax, dword [ebx + 0xc]
movzx ecx, word [edi + 0x1c]
imul eax, eax, 0x28
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x68], eax
movzx eax, word [esi + 0x1c]
or eax, ecx
mov dword [ebp - 0x54], eax
test al, 1
jne 0x4972cc
mov cl, byte [esi + 0x1c]
mov eax, edi
and cl, byte [eax + 0x1c]
test cl, 4
je 0x4971db
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x4c], ecx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x48], eax
mov edi, dword [esi + 0x10]
mov dword [ebp - 0x44], edi
mov esi, dword [esi + 0x14]
mov dword [ebp - 0x40], esi
movzx edx, byte [ebx]
sub edx, 0x56
je 0x4971a3
dec edx
je 0x497197
dec edx
je 0x49718b
dec edx
mov edx, ecx
je 0x49715d
or edx, eax
je 0x4972cc
mov edx, ecx
and edx, eax
cmp edx, 0xffffffff
jne 0x497152
xor ecx, ecx
inc ecx
xor eax, eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
push eax
push ecx
push esi
push edi
call fcn.0043fe00
jmp 0x497183
or edx, eax
je 0x4972cc
mov edx, ecx
and edx, eax
cmp edx, 0xffffffff
jne 0x49717a
test edi, edi
jne 0x49717a
cmp esi, 0x80000000
je 0x4971db
push eax
push ecx
push esi
push edi
call fcn.0043fd50
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp 0x4971b3
push eax
push ecx
lea esi, [ebp - 0x44]
call fcn.00468dba
jmp 0x4971ad
push eax
push ecx
lea eax, [ebp - 0x44]
call fcn.00468d6e
jmp 0x4971ad
push eax
push ecx
lea edi, [ebp - 0x44]
call fcn.00468cec
pop ecx
pop ecx
test eax, eax
jne 0x4971db
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x44]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 0x14], ecx
mov cx, word [eax + 0x1c]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp 0x496db5
mov eax, dword [ebp - 0x7c]
call fcn.0046bded
fstp qword [ebp - 0x3c]
mov eax, dword [ebp - 0x70]
call fcn.0046bded
fst qword [ebp - 0x34]
movzx eax, byte [ebx]
sub eax, 0x56
je 0x49727d
dec eax
je 0x497278
dec eax
je 0x497273
dec eax
je 0x497262
fld qword [ebp - 0x3c]
call fcn.004a7f46
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
call fcn.004a7f46
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
je 0x4972cc
mov ecx, dword [ebp - 0x4c]
and ecx, dword [ebp - 0x48]
cmp ecx, 0xffffffff
jne 0x497241
and dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 1
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push edx
push eax
call fcn.0043fe00
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
fild qword [ebp - 0xb0]
jmp 0x497280
fldz
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x44
jnp 0x4972ca
fdiv qword [ebp - 0x3c]
jmp 0x497280
fmul qword [ebp - 0x3c]
jmp 0x497280
fsub qword [ebp - 0x3c]
jmp 0x497280
fadd qword [ebp - 0x3c]
fstp qword [ebp - 0x34]
push ecx
fld qword [ebp - 0x34]
push ecx
fstp qword [esp]
call fcn.004682a0
add esp, 8
test eax, eax
jne 0x4972cc
mov eax, dword [ebp - 0x68]
fld qword [ebp - 0x34]
mov cx, word [eax + 0x1c]
fstp qword [eax + 8]
mov edx, 0xbf08
and cx, dx
or cx, 8
mov word [eax + 0x1c], cx
test byte [ebp - 0x54], 8
jne 0x496db5
mov esi, eax
call fcn.0046be30
jmp 0x496db5
fstp st(0)
mov edi, dword [ebp - 0x68]
call fcn.0046bf35
jmp 0x496db5
movzx ecx, byte [ebx + 3]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, edx
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 8]
and dword [ebp - 0x54], 0
imul eax, eax, 0x28
add eax, edx
mov dword [ebp - 0x50], eax
test ecx, ecx
jle 0x497344
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x54]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x50]
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x497328
call fcn.004769de
test eax, eax
jne 0x499c0f
mov ecx, dword [ebp - 0x50]
call fcn.0046c80d
inc dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
add eax, 0x28
cmp ecx, dword [ebp - 8]
mov dword [ebp - 0x50], eax
jl 0x497304
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x497353
and dword [ebp - 0x48], 0
jmp 0x497358
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x4c], eax
xor eax, eax
inc eax
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
xor edi, edi
push eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edi
call fcn.00471a7f
mov eax, dword [ebp - 0x28]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x18], edi
test byte [eax + 3], 8
pop ecx
je 0x49739e
mov eax, dword [ebx - 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x88]
mov esi, dword [ebp - 0x60]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x84]
mov dword [esi + 0x34], eax
push dword [ebp - 0xc]
lea eax, [ebp - 0x4c]
push dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x4c]
call dword [eax + 0xc]
mov eax, dword [esi + 0x30]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x88], eax
mov eax, dword [esi + 0x34]
add esp, 0xc
mov dword [ebp - 0x84], eax
test edi, edi
je 0x4973f2
push dword [ebx + 4]
call fcn.0046c199
mov eax, dword [ebp - 0x48]
pop ecx
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
cmp byte [esi + 0x1e], 0
jne 0x49abc9
cmp dword [ebp - 0x18], 0
je 0x497426
lea eax, [ebp - 0x44]
push eax
call fcn.0047c7cf
mov edi, dword [ebp - 0x5c]
push eax
push 0x4bb82c
push esi
add edi, 0x38
call fcn.0047ada1
mov eax, dword [ebp - 0x18]
add esp, 0x10
mov dword [ebp - 0x58], eax
movzx eax, byte [ebp - 0x78]
push eax
lea eax, [ebp - 0x44]
call fcn.0047c1a7
push dword [ebp - 0x68]
lea esi, [ebp - 0x44]
call fcn.00471a7f
pop ecx
pop ecx
mov ecx, dword [ebp - 0x68]
call fcn.0046bf76
mov esi, dword [ebp - 0x5c]
test eax, eax
jne 0x49a34c
jmp case.0x496b43.17
mov ecx, dword [ebx + 8]
mov edi, dword [ebx + 4]
imul ecx, ecx, 0x28
mov eax, dword [ebx + 0xc]
imul edi, edi, 0x28
imul eax, eax, 0x28
add ecx, edx
add eax, edx
add edi, edx
mov dl, byte [ecx + 0x1c]
or dl, byte [edi + 0x1c]
mov dword [ebp - 0x68], eax
test dl, 1
je 0x497485
mov edi, eax
jmp 0x496f74
call fcn.0046bd92
mov ecx, edi
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
call fcn.0046bd92
mov edi, eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edx
mov al, byte [ebx]
mov byte [ebp - 0x3c], al
cmp al, 0x52
jne 0x4974b3
and dword [ebp - 0x54], edi
and dword [ebp - 0x50], edx
jmp 0x497598
cmp al, 0x53
jne 0x4974c2
or dword [ebp - 0x54], edi
or dword [ebp - 0x50], edx
jmp 0x497598
mov ecx, edi
or ecx, edx
je 0x497598
xor ebx, ebx
cmp edx, ebx
jg 0x49750b
jl 0x4974d8
cmp edi, ebx
jae 0x497500
mov cl, 0xa9
sub cl, al
cmp edx, 0xffffffff
mov al, cl
mov byte [ebp - 0x3c], al
jl 0x4974f5
jg 0x4974ed
cmp edi, 0xffffffc0
jbe 0x4974f5
neg edi
adc edx, ebx
neg edx
jmp 0x4974fa
push 0x40
pop edi
xor edx, edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x44], edi
cmp edx, ebx
jl 0x49752b
jg 0x49750b
cmp edi, 0x40
jb 0x49752b
cmp dword [ebp - 0x50], ebx
jg 0x497520
jl 0x497517
cmp dword [ebp - 0x54], ebx
jae 0x497520
cmp al, 0x54
je 0x497520
or eax, 0xffffffff
jmp 0x497522
xor eax, eax
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
jmp 0x497598
push 8
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004335c0
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
add esp, 0xc
cmp byte [ebp - 0x3c], 0x54
jne 0x497559
call fcn.004a8a10
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp 0x497586
call fcn.00446eb0
cmp dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jg 0x497586
jl 0x497570
cmp dword [ebp - 0x54], ebx
jae 0x497586
push 0x40
pop ecx
sub ecx, dword [ebp - 0x44]
or edx, 0xffffffff
mov eax, edx
call fcn.004a8a10
or dword [ebp - 0x4c], eax
or dword [ebp - 0x48], edx
push 8
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.004335c0
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x54]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x50]
mov dword [eax + 0x14], ecx
mov cx, word [eax + 0x1c]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x496b43.17
mov esi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x6c]
call fcn.0046be86
mov eax, dword [ebx + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp 0x496db5
mov edi, dword [ebx + 4]
push dword [ebp - 0x78]
imul edi, edi, 0x28
add edi, dword [ebp - 0x6c]
push 0x63
mov eax, edi
call fcn.0047cba8
movzx eax, word [edi + 0x1c]
pop ecx
pop ecx
test al, 4
jne 0x497613
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x496b5b
mov dword [ebp - 0x58], 0x14
jmp 0x49ac9a
and eax, 0xbf04
or eax, 4
mov word [edi + 0x1c], ax
jmp case.0x496b43.17
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, edx
test byte [ebx + 0x1c], 4
je case.0x496b43.17
mov esi, ebx
call fcn.0046beaa
jmp 0x496db5
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, edx
movzx eax, word [ebx + 0x1c]
test al, 1
jne case.0x496b43.17
push dword [ebp - 0x78]
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
push 0x61
mov eax, ebx
mov word [ebx + 0x1c], cx
call fcn.0047cba8
mov eax, 0x4000
pop ecx
pop ecx
test word [ebx + 0x1c], ax
je 0x497689
mov eax, ebx
call fcn.00471831
mov dword [ebp - 0x58], eax
jmp 0x49768d
and dword [ebp - 0x58], 0
mov eax, 0xbfe3
and word [ebx + 0x1c], ax
jmp case.0x496b43.17
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, edx
movzx eax, word [ebx + 0x1c]
test al, 1
jne case.0x496b43.17
test al, 0x10
jne 0x4976d3
push dword [ebp - 0x78]
mov eax, ebx
push 0x61
call fcn.0047cba8
mov ax, word [ebx + 0x1c]
pop ecx
pop ecx
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
jmp 0x4976d8
and eax, 0xff10
mov word [ebx + 0x1c], ax
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x6c]
call fcn.0046becb
jmp case.0x496b43.17
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, edx
test byte [ebx + 0x1c], 1
jne case.0x496b43.17
mov esi, ebx
call fcn.0046be86
jmp 0x496db5
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, edx
test byte [ebx + 0x1c], 1
jne case.0x496b43.17
jmp 0x497636
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
imul eax, eax, 0x28
imul ecx, ecx, 0x28
add eax, edx
mov dword [ebp - 0x7c], eax
mov ax, word [eax + 0x1c]
add ecx, edx
mov word [ebp - 0x4e], ax
mov ax, word [ecx + 0x1c]
mov word [ebp - 0x4c], ax
or al, byte [ebp - 0x4e]
mov dword [ebp - 0x74], ecx
test al, 1
mov al, byte [ebx + 3]
je 0x4977a1
test al, al
jns 0x497770
mov al, byte [ebp - 0x4c]
and al, byte [ebp - 0x4e]
push 0
test al, 1
pop eax
sete al
jmp 0x49780b
test al, 0x10
je 0x497794
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, edx
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf01
and ax, cx
mov dword [ebp - 0x68], ebx
or ax, 1
jmp 0x4976d8
test al, 8
je case.0x496b43.17
jmp 0x496b58
and al, 0x67
mov byte [ebp - 0x50], al
je 0x4977d1
push dword [ebp - 0x78]
mov eax, dword [ebp - 0x7c]
push dword [ebp - 0x50]
call fcn.0047cba8
push dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
push dword [ebp - 0x50]
call fcn.0047cba8
add esp, 0x10
cmp byte [edi + 0x1e], 0
jne 0x499c0f
mov ecx, dword [ebp - 0x7c]
mov edi, 0x4000
mov eax, edi
test word [ecx + 0x1c], ax
je 0x4977e8
mov eax, ecx
call fcn.00471831
mov eax, dword [ebp - 0x74]
test word [eax + 0x1c], di
je 0x4977f6
call fcn.00471831
push dword [ebp - 0x7c]
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x74]
call fcn.004808ea
mov ebx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
pop ecx
mov edi, eax
mov dword [ebp - 0x54], edi
movzx eax, byte [ebx]
sub eax, 0x4b
je 0x497851
dec eax
je 0x497848
dec eax
je 0x49783f
dec eax
je 0x497836
dec eax
je 0x49782d
xor eax, eax
test edi, edi
setge al
jmp 0x497858
xor eax, eax
test edi, edi
setl al
jmp 0x497858
xor eax, eax
test edi, edi
setle al
jmp 0x497858
xor eax, eax
test edi, edi
setg al
jmp 0x497858
xor eax, eax
test edi, edi
sete al
jmp 0x497858
xor eax, eax
test edi, edi
setne al
mov dword [ebp - 0x54], eax
test byte [ebx + 3], 0x10
je 0x49788c
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, edx
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf04
and ax, cx
or ax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x54]
cdq
mov dword [ebp - 0x68], ebx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp 0x497899
cmp dword [ebp - 0x54], 0
je 0x497899
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x64], ebx
mov al, byte [ebp - 0x4e]
mov ecx, dword [ebp - 0x7c]
mov byte [ecx + 0x1c], al
mov al, byte [ebp - 0x4c]
mov ecx, dword [ebp - 0x74]
mov byte [ecx + 0x1c], al
jmp case.0x496b43.17
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x9c], eax
jmp case.0x496b43.17
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x54], edx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x44], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x50], eax
test edx, edx
jle 0x49794a
jmp 0x4978e4
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x9c]
test edx, edx
je 0x4978f3
mov edx, dword [edx + eax*4]
jmp 0x4978f5
mov edx, eax
mov dword [ebp - 0x40], edx
mov ebx, dword [ecx + eax*4 + 0xc]
mov dword [ebp - 0x3c], ebx
mov ecx, dword [ecx + 8]
movzx eax, byte [ecx + eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x48]
add eax, edx
imul eax, eax, 0x28
add eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x4c]
add eax, edx
imul eax, eax, 0x28
add eax, dword [ebp - 0x6c]
call fcn.004808ea
pop ecx
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x49793e
mov eax, dword [ebp - 0x50]
inc eax
cmp eax, dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
jl 0x4978e1
jmp 0x49794a
cmp dword [ebp - 0x38], 0
je 0x49794a
neg dword [ebp - 0x90]
and dword [ebp - 0x9c], 0
jmp case.0x496b43.17
cmp dword [ebp - 0x90], 0
jge 0x497967
mov ebx, dword [ebx + 4]
jmp 0x496b5b
je 0x496b58
mov ebx, dword [ebx + 0xc]
jmp 0x496b5b
mov ecx, dword [ebx + 4]
imul ecx, ecx, 0x28
xor edi, edi
add ecx, edx
inc edi
test byte [ecx + 0x1c], 1
je 0x49798b
push 2
pop eax
jmp 0x49799a
call fcn.0046bd92
or eax, edx
je 0x497998
mov eax, edi
jmp 0x49799a
xor eax, eax
mov dword [ebp - 0x54], eax
mov ecx, dword [ebx + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x6c]
test byte [ecx + 0x1c], 1
je 0x4979b5
mov dword [ebp - 0x50], 2
jmp 0x4979ca
call fcn.0046bd92
or eax, edx
mov eax, dword [ebp - 0x54]
je 0x4979c6
mov dword [ebp - 0x50], edi
jmp 0x4979ca
and dword [ebp - 0x50], 0
mov ecx, dword [ebp - 0x50]
imul eax, eax, 3
cmp byte [ebx], 0x45
jne 0x4979df
movzx eax, byte [eax + ecx + 0x4bd3fc]
jmp 0x4979e7
movzx eax, byte [eax + ecx + 0x4bd430]
mov dword [ebp - 0x54], eax
mov ebx, dword [ebx + 0xc]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x6c]
mov dword [ebp - 0x68], ebx
cmp eax, 2
jne 0x497a0f
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, di
jmp 0x4976d8
cdq
mov dword [ebx + 0x10], eax
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf04
and ax, cx
mov dword [ebx + 0x14], edx
or ax, 4
jmp 0x4976d8
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx + 8]
imul ecx, ecx, 0x28
imul ebx, ebx, 0x28
add ecx, edx
add ebx, edx
test byte [ecx + 0x1c], 1
mov dword [ebp - 0x68], ebx
jne 0x496f72
call fcn.0046bd92
or eax, edx
jne 0x497a54
inc eax
jmp 0x497a56
xor eax, eax
cdq
push edx
push eax
mov esi, ebx
call fcn.00471981
pop ecx
jmp 0x496db4
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx + 8]
imul ecx, ecx, 0x28
imul ebx, ebx, 0x28
add ecx, edx
add ebx, edx
test byte [ecx + 0x1c], 1
mov dword [ebp - 0x68], ebx
jne 0x496f72
call fcn.0046bd92
not eax
not edx
jmp 0x497a57
mov eax, dword [esi + 0xc0]
mov ecx, dword [ebx + 4]
add eax, ecx
cmp byte [eax], 0
jne 0x496b58
mov byte [eax], 1
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
add eax, edx
test byte [eax + 0x1c], 1
je 0x497abd
mov eax, dword [ebx + 0xc]
jmp 0x497ae9
call fcn.0046bded
fcomp qword [0x4b2440]
fnstsw ax
test ah, 0x44
jnp 0x497ad8
mov dword [ebp - 0x54], 1
jmp 0x497adc
and dword [ebp - 0x54], 0
cmp byte [ebx], 0x1c
jne 0x497aec
xor eax, eax
cmp dword [ebp - 0x54], eax
sete al
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jmp 0x497796
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
test byte [eax + edx + 0x1c], 1
jmp 0x497796
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
test byte [eax + edx + 0x1c], 1
jne case.0x496b43.17
jmp 0x496b58
mov eax, dword [ebx + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 8]
xor edi, edi
push 0x28
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x14]
push edi
push eax
mov dword [ebp - 0x3c], edi
call fcn.00430560
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x44]
imul edx, edx, 0x28
add edx, dword [ebp - 0x6c]
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x38], edi
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x3c], eax
mov ecx, dword [eax]
add esp, 0xc
mov dword [ebp - 0x34], ecx
cmp ecx, edi
je 0x497bd2
mov esi, eax
call fcn.00491537
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac97
mov eax, dword [ebp - 0x3c]
cmp byte [eax + 0x1c], 0
je 0x497b88
and dword [ebp - 0x54], edi
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x5c]
jmp 0x497c10
mov ecx, dword [eax + 0x50]
mov edx, dword [ebp - 0x5c]
cmp ecx, dword [edx + 0x54]
jne 0x497ba1
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0x54], ecx
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0x38], ecx
jmp 0x497bca
cmp byte [eax + 0x1f], 0
je 0x497bb7
mov eax, dword [ebp - 0x34]
lea edi, [ebp - 0x4c]
call fcn.0046bb92
mov eax, dword [ebp - 0x4c]
jmp 0x497bc4
mov edi, dword [ebp - 0x34]
mov esi, edi
call fcn.0046bb6c
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x5c]
jmp 0x497c09
mov ecx, dword [eax + 0x10]
cmp ecx, edi
jle 0x497c06
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x6c]
mov dword [ebp + 0x30], ecx
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x54], edx
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x38], ecx
test byte [ebx + 3], 0x20
je 0x497bf8
xor ecx, ecx
jmp 0x497bfb
mov ecx, dword [esi + 0x54]
mov dword [eax + 0x50], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
jmp 0x497c09
mov dword [ebp - 0x54], edi
mov ecx, dword [ebp - 0x54]
test ecx, ecx
jne 0x497c29
mov ax, word [edx + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, 1
mov word [edx + 0x1c], ax
jmp case.0x496b43.17
mov edi, dword [ebp - 0x60]
cmp ecx, dword [edi + 0x48]
ja 0x49a34c
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x28], ecx
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0x30], ecx
mov edi, dword [eax + 0x50]
cmp edi, dword [esi + 0x54]
jne 0x497c54
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x2c], eax
jmp 0x497e1e
mov edx, dword [ebp - 0x28]
and dword [ebp + 0x28], 0
lea ecx, [ecx + edx*4]
mov dword [ebp - 0x2c], ecx
mov dword [eax + 0x5c], ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x54]
mov dword [eax + 0x54], ecx
mov eax, dword [esi + 0x54]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x497c82
mov dword [ebp - 0x1c], eax
jmp 0x497cd0
mov eax, dword [ebp - 0x3c]
cmp byte [eax + 0x1f], 0
mov ecx, dword [ebp - 0x34]
je 0x497c99
xor eax, eax
cmp byte [ecx + 0x53], 1
jne 0x497cb3
push eax
jmp 0x497ca3
xor eax, eax
cmp byte [ecx + 0x53], 1
jne 0x497cb3
push 1
lea eax, [ebp + 0x28]
push eax
mov esi, ecx
call fcn.0046bbb8
mov esi, dword [ebp - 0x5c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x1c], eax
cmp ecx, dword [ebp + 0x28]
ja 0x497cc9
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov dword [ecx + 0x60], eax
jmp 0x497cd0
mov eax, dword [ebp - 0x3c]
and dword [eax + 0x60], 0
mov ecx, dword [ebp - 0x1c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x497ce4
movzx eax, al
mov dword [ebp + 0x1c], eax
xor eax, eax
inc eax
jmp 0x497cef
lea edi, [ebp + 0x1c]
call fcn.00468c2c
movzx eax, al
cmp dword [ebp + 0x1c], 0x18003
movzx eax, al
mov dword [ebp + 0x24], eax
jbe 0x497d08
push 0x105d9
jmp 0x497f52
mov ecx, dword [ebp - 0x28]
imul ecx, ecx, 5
add ecx, 3
cmp ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x24], ecx
jle 0x497d1f
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x24], ecx
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x497d65
cmp dword [ebp + 0x28], ecx
jge 0x497d65
xor edx, edx
mov word [ebp + 8], dx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], eax
movzx edx, byte [edx + 0x1f]
push edx
push eax
mov ebx, ecx
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x14]
call fcn.004910e0
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
jne case.0x496b43.17
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x1c], eax
jmp 0x497d68
mov eax, dword [ebp - 0x1c]
add ecx, eax
mov dword [ebp + 0x18], ecx
mov ecx, dword [ebp + 0x24]
add ecx, eax
xor eax, eax
cmp dword [ebp - 0x28], eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 0x20], eax
jle 0x497de1
mov ecx, dword [ebp + 0x18]
cmp dword [ebp + 0x14], ecx
mov ecx, dword [ebp - 0x2c]
jae 0x497e65
mov edx, dword [ebp + 0x1c]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebp + 0x14]
mov al, byte [ecx]
cmp al, 0x80
jae 0x497da9
movzx eax, al
inc ecx
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x14], ecx
jmp 0x497db7
lea edi, [ebp + 0x2c]
call fcn.00468c2c
movzx eax, al
add dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x2c]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp + 0x2c]
call fcn.0046c2aa
add dword [ebp + 0x1c], eax
mov dword [ebp + 0x20], eax
cmp dword [ebp + 0x1c], eax
jae 0x497e69
mov eax, dword [ebp + 0x18]
inc eax
mov dword [ebp + 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.00471927
xor eax, eax
pop ecx
mov ecx, dword [ebp + 0x14]
inc eax
mov word [ebp + 8], ax
cmp ecx, dword [ebp + 0x18]
ja 0x497f4d
mov eax, dword [ebp + 0x1c]
cmp eax, dword [ebp - 0x54]
ja 0x497f4d
cmp ecx, dword [ebp + 0x18]
jne 0x497e18
cmp eax, dword [ebp - 0x54]
jne 0x497f4d
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x2c]
shl eax, 2
cmp dword [edi + eax], 0
je 0x497ee4
cmp dword [ebp - 0x38], 0
je 0x497e7e
mov eax, 0x2460
test word [edx + 0x1c], ax
je 0x497e4f
mov eax, edx
call fcn.004718cd
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
shl eax, 2
push dword [ecx + eax]
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + eax]
add ecx, dword [ebp - 0x38]
mov esi, edx
jmp 0x497ed3
and dword [ecx + eax*4], 0
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jl 0x497d7f
jmp 0x497de1
mov eax, dword [ecx + eax]
call fcn.0046c2aa
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x14]
push eax
mov esi, edx
call fcn.00471a7f
mov eax, dword [ebp - 0x3c]
movzx eax, byte [eax + 0x1f]
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x2c]
push dword [eax + ecx*4]
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x14]
call fcn.004910e0
add esp, 0xc
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x496db5
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x1c], ecx
push dword [eax + edx*4]
call fcn.0046c368
mov eax, dword [ebp - 0x18]
pop ecx
mov cl, byte [ebp - 0x78]
mov byte [eax + 0x1f], cl
jmp 0x497efa
cmp byte [ebx + 1], 0xf8
jne 0x497eff
mov edi, dword [ebx + 0x10]
push 0x800
mov esi, edx
call fcn.00471a3c
pop ecx
mov esi, dword [ebp - 0x5c]
jmp 0x497f13
mov ax, word [edx + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, 1
mov word [edx + 0x1c], ax
cmp dword [ebp + 0x10], 0
je 0x497f43
mov eax, dword [ebp - 0x18]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0x18]
mov ecx, 0x200
or word [eax + 0x1c], cx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x18]
call fcn.004769de
jmp 0x497f58
push 0x10629
call fcn.0047a8e2
pop ecx
mov dword [ebp - 0x58], eax
jmp case.0x496b43.17
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x54], eax
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, edx
jmp 0x497f9a
inc dword [ebp - 0x54]
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x497f85
mov eax, ebx
call fcn.00471831
push dword [ebp - 0x78]
mov eax, ebx
push dword [ebp - 0x50]
call fcn.0047cba8
mov eax, dword [ebp - 0x54]
pop ecx
pop ecx
add ebx, 0x28
mov al, byte [eax]
mov byte [ebp - 0x50], al
test al, al
jne 0x497f70
inc dword [ebp - 0x54]
jmp case.0x496b43.17
xor eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x20], eax
imul eax, eax, 0x28
mov ecx, dword [ebx + 0x10]
add eax, edx
mov dword [ebp - 0x1c], ecx
mov ecx, eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0x20], eax
imul eax, eax, 0x28
lea eax, [eax + ecx - 0x28]
mov dword [ebp - 0x24], eax
movzx eax, byte [esi + 0x65]
mov dword [ebp - 0x18], eax
mov ebx, dword [ebx + 0xc]
imul ebx, ebx, 0x28
add ebx, edx
cmp ecx, dword [ebp - 0x24]
mov dword [ebp - 0x68], ebx
mov ebx, ecx
jmp 0x49808d
cmp dword [ebp - 0x1c], 0
je 0x498023
push dword [ebp - 0x78]
mov eax, ebx
sub eax, dword [ebp - 0x28]
push 0x28
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x1c]
movzx eax, byte [eax + ecx]
push eax
mov eax, ebx
call fcn.0047cba8
mov ebx, dword [ebp - 0x50]
pop ecx
pop ecx
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x49803e
cmp dword [ebx + 0x18], 0
jle 0x49803e
mov eax, ebx
call fcn.00471831
mov ebx, dword [ebp - 0x50]
push dword [ebp - 0x18]
mov edx, ebx
call fcn.0046c1d7
mov dword [ebp - 0x2c], eax
call fcn.0046c2aa
mov dword [ebp - 0x10], eax
cdq
add dword [ebp - 0x4c], eax
push 0
push dword [ebp - 0x2c]
adc dword [ebp - 0x48], edx
call fcn.00468c8e
add dword [ebp - 0x44], eax
mov eax, 0x4000
add esp, 0xc
test word [ebx + 0x1c], ax
je 0x49807d
mov eax, dword [ebx + 0x10]
add dword [ebp - 0x34], eax
jmp 0x498087
cmp dword [ebp - 0x10], 0
je 0x498087
and dword [ebp - 0x34], 0
add ebx, 0x28
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0x50], ebx
jbe 0x497ffb
mov eax, dword [ebp - 0x44]
cdq
push edx
push eax
call fcn.00468c8e
mov ebx, eax
add dword [ebp - 0x44], ebx
mov eax, dword [ebp - 0x44]
cdq
push edx
push eax
mov dword [ebp - 0x30], ebx
call fcn.00468c8e
add esp, 0x10
cmp ebx, eax
jge 0x4980be
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
cdq
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x44]
mov ecx, edx
cdq
mov ebx, eax
mov eax, dword [ebp - 0x74]
sub ebx, eax
mov eax, ecx
mov ecx, edx
sbb ecx, eax
add ebx, dword [ebp - 0x4c]
adc ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ecx
mov eax, dword [edi + 0x48]
cdq
cmp ecx, edx
jg 0x49a34c
jl 0x4980fa
cmp ebx, eax
ja 0x49a34c
mov edi, dword [ebp - 0x68]
push 0
mov eax, ebx
call fcn.00471772
pop ecx
test eax, eax
jne 0x499c0f
mov eax, dword [ebp - 0x44]
mov ecx, dword [edi + 4]
mov ebx, 0x80
mov dword [ebp - 0x54], ecx
cmp eax, ebx
jae 0x498128
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x49812d
call fcn.00468a6f
movzx eax, al
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x50], eax
jmp 0x498170
push dword [ebp - 0x18]
mov edx, dword [ebp - 0x50]
call fcn.0046c1d7
mov edx, dword [ebp - 0x14]
pop ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x2c], eax
cmp eax, ebx
jae 0x49815c
mov byte [edx + ecx], al
xor eax, eax
inc eax
jmp 0x498163
add ecx, edx
call fcn.00468a6f
movzx eax, al
add dword [ebp - 0x14], eax
add dword [ebp - 0x50], 0x28
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x24]
jbe 0x49813b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x50], eax
cmp eax, dword [ebp - 0x24]
ja 0x4981ae
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
push dword [ebp - 0x18]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x54]
lea ebx, [eax + ecx]
mov eax, dword [ebp - 0x50]
call fcn.0046c2bd
add dword [ebp - 0x14], eax
add dword [ebp - 0x50], 0x28
mov eax, dword [ebp - 0x50]
pop ecx
pop ecx
cmp eax, dword [ebp - 0x24]
jbe 0x498180
mov edi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x3c]
and dword [edi + 0x20], 0
mov dword [edi + 0x18], eax
mov eax, 0x410
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x4981d4
mov dword [edi + 0x10], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov byte [edi + 0x1f], 1
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x4981fe
lea ecx, [ebp - 0x54]
push ecx
call fcn.0048f646
pop ecx
mov dword [ebp - 0x58], eax
jmp 0x498206
and dword [ebp - 0x54], 0
and dword [ebp - 0x50], 0
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x68]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x50]
mov dword [eax + 0x14], ecx
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x50], ecx
test eax, eax
jne 0x4982fb
cmp dword [edi + 0x90], eax
jle 0x49824d
push str.cannot_open_savepoint___SQL_statements_in_progress
push dword [ebp - 0x60]
lea edi, [esi + 0x38]
call fcn.0047ada1
pop ecx
pop ecx
jmp 0x498502
mov ecx, dword [ebp - 0x50]
call fcn.004682c9
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0x4c], eax
mov eax, dword [edi + 0x1e4]
add eax, dword [edi + 0x1e0]
push eax
push 0
call fcn.0046e348
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac9a
mov eax, dword [ebp - 0x4c]
add eax, 0x19
push eax
mov esi, edi
call fcn.0046f93e
pop ecx
mov dword [ebp - 0x48], eax
test eax, eax
je 0x496db5
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x4c]
inc eax
push eax
push dword [ebp - 0x50]
mov eax, dword [ebp - 0x48]
push dword [eax]
call fcn.004335c0
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x4982c5
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1e8], 1
jmp 0x4982cb
inc dword [eax + 0x1e0]
mov esi, dword [ebp - 0x48]
lea ecx, [eax + 0x1dc]
mov edx, dword [ecx]
mov dword [esi + 0x10], edx
mov edx, dword [ebp - 0x48]
mov dword [ecx], edx
mov ecx, dword [eax + 0x1f0]
mov edx, dword [ebp - 0x48]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0x1f4]
mov ecx, dword [ebp - 0x48]
mov dword [ecx + 0xc], eax
jmp 0x496db5
and dword [ebp - 0x3c], 0
mov ebx, dword [edi + 0x1dc]
mov dword [ebp - 0x44], ebx
test ebx, ebx
je 0x49832d
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebx]
call fcn.0046833e
test eax, eax
je 0x498327
inc dword [ebp - 0x3c]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0x44], ebx
test ebx, ebx
jne 0x49830c
xor eax, eax
cmp ebx, eax
jne 0x49834f
push dword [ebp - 0x50]
lea edi, [esi + 0x38]
push str.no_such_savepoint:__s
push dword [ebp - 0x60]
call fcn.0047ada1
add esp, 0xc
mov dword [ebp - 0x58], 1
jmp case.0x496b43.17
cmp dword [edi + 0x90], eax
jg 0x4984dc
cmp dword [ebp - 0x54], 2
jne 0x49836e
cmp dword [edi + 0x8c], 1
jg 0x4984e2
cmp dword [ebx + 0x10], eax
jne 0x4983c9
cmp byte [edi + 0x1e8], 0
je 0x4983c9
xor ecx, ecx
inc ecx
mov dword [ebp - 0x74], ecx
cmp dword [ebp - 0x54], ecx
jne 0x4983cc
push ecx
mov eax, esi
call fcn.0047c763
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac18
mov eax, esi
mov byte [edi + 0x1c], 1
call fcn.004925ec
push 5
pop ecx
cmp eax, ecx
je 0x49abd8
mov byte [edi + 0x1e8], 0
mov eax, dword [esi + 0x5c]
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x58], eax
mov edi, dword [ebp - 0x60]
jmp 0x49846c
mov dword [ebp - 0x74], eax
mov ecx, dword [edi + 0x1e0]
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
dec ecx
mov dword [ebp - 0x3c], ecx
cmp dword [edi + 4], eax
jle 0x49841b
jmp 0x4983e6
mov ecx, dword [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx + 8]
push dword [ebp - 0x54]
shl eax, 4
mov eax, dword [eax + ecx + 4]
call fcn.004865b7
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac9a
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x38], eax
cmp eax, dword [ecx + 4]
jl 0x4983e3
mov ebx, dword [ebp - 0x44]
cmp dword [ebp - 0x54], 2
jne 0x4983c1
mov edi, dword [ebp - 0x60]
test dword [edi + 0xc], 0x200
je 0x49846c
mov eax, edi
call fcn.0046c5e1
push 0xffffffffffffffff
mov ebx, edi
call fcn.0047d478
or dword [edi + 0xc], 0x200
jmp 0x498468
mov eax, dword [edi + 0x1dc]
mov dword [ebp - 0x40], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1dc], eax
push dword [ebp - 0x40]
push edi
call fcn.00468173
dec dword [edi + 0x1e0]
pop ecx
mov ebx, dword [ebp - 0x44]
pop ecx
cmp dword [edi + 0x1dc], ebx
jne 0x498446
cmp dword [ebp - 0x54], 1
jne 0x4984a0
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x1dc], eax
push dword [ebp - 0x44]
push edi
call fcn.00468173
cmp dword [ebp - 0x74], 0
pop ecx
pop ecx
jne case.0x496b43.17
dec dword [edi + 0x1e0]
jmp 0x4984bc
cmp dword [ebp - 0x74], 0
mov eax, dword [ebx + 8]
mov dword [edi + 0x1f0], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x1f4], eax
jne case.0x496b43.17
push dword [ebp - 0x3c]
mov edi, dword [ebp - 0x60]
push dword [ebp - 0x54]
call fcn.0046e348
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac9a
jmp case.0x496b43.17
cmp dword [ebp - 0x54], 2
jne 0x4984e9
mov eax, str.rollback
jmp 0x4984ee
mov eax, str.release
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
push dword [ebp - 0x60]
lea edi, [esi + 0x38]
call fcn.0047ada1
add esp, 0xc
mov dword [ebp - 0x58], 5
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x50], ecx
test eax, eax
je 0x498540
cmp byte [edi + 0x1c], 0
jne 0x498540
xor ebx, ebx
inc ebx
mov dword [ebp - 0x4c], ebx
test ecx, ecx
je 0x49855e
cmp dword [edi + 0x8c], ebx
jle 0x498547
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x49823b
and dword [ebp - 0x4c], 0
xor ebx, ebx
inc ebx
movzx edx, byte [edi + 0x1c]
cmp eax, edx
jne 0x49abea
test eax, eax
jne 0x498571
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x49857f
cmp dword [edi + 0x90], 0
jle 0x498547
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x49823b
mov eax, str.cannot_rollback___no_transaction_is_active
test ecx, ecx
jne 0x49857f
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push dword [ebp - 0x60]
lea edi, [esi + 0x38]
call fcn.0047ada1
pop ecx
pop ecx
mov dword [ebp - 0x58], ebx
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x54], eax
test eax, eax
je case.0x496b43.17
push dword [ebx + 8]
push eax
call fcn.0048dc7b
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
push 5
pop eax
cmp dword [ebp - 0x58], eax
je 0x49ac7b
xor eax, eax
cmp dword [ebp - 0x58], eax
jne 0x49ac9a
cmp dword [ebx + 8], eax
je case.0x496b43.17
cmp byte [esi + 0x67], al
je case.0x496b43.17
cmp byte [edi + 0x1c], al
je 0x4985f6
cmp dword [edi + 0x8c], 1
jle case.0x496b43.17
cmp dword [esi + 0x78], eax
jne 0x498610
mov ecx, dword [edi + 0x1e0]
lea eax, [edi + 0x1e4]
inc dword [eax]
mov eax, dword [eax]
add ecx, eax
mov dword [esi + 0x78], ecx
mov eax, dword [esi + 0x78]
mov edi, dword [ebp - 0x60]
dec eax
push eax
push 0
call fcn.0046e348
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x498653
mov eax, dword [ebp - 0x54]
mov esi, dword [esi + 0x78]
mov edi, dword [eax + 4]
mov ebx, eax
call fcn.0046b4be
push esi
mov esi, dword [edi]
call fcn.00470da1
pop ecx
mov esi, ebx
mov edi, eax
call fcn.0046b52c
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x58], edi
mov edi, dword [ebp - 0x60]
mov eax, dword [edi + 0x1f0]
mov dword [esi + 0x98], eax
mov eax, dword [edi + 0x1f4]
mov dword [esi + 0x9c], eax
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov dword [ebp - 0x50], eax
mov ebx, dword [ebx + 0xc]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x4c], ebx
push ecx
mov ecx, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push ebx
call fcn.0046bcac
mov eax, dword [ebp - 0x54]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x68]
jmp 0x496c3d
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [edi + 8]
mov dword [ebp - 0x54], eax
mov esi, dword [ebx + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0x6c]
call fcn.0046be86
push dword [esi + 0x10]
mov eax, dword [ebp - 0x54]
push dword [ebx + 8]
mov ebx, dword [eax + 4]
call fcn.00480710
pop ecx
pop ecx
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x58], eax
mov eax, dword [ecx + 8]
cmp eax, 1
jne 0x4986ef
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0xc]
mov edx, dword [esi + 0x10]
mov dword [eax], edx
mov eax, dword [ebp - 0x60]
or dword [eax + 0xc], 0x200
jmp 0x498700
cmp eax, 2
jne 0x498700
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0xc]
mov dl, byte [esi + 0x10]
mov byte [eax + 0x4c], dl
cmp dword [ecx + 4], 1
jne 0x496db5
mov eax, dword [ebp - 0x60]
call fcn.0046c5e1
mov eax, dword [ebp - 0x5c]
mov byte [eax + 0x63], 0
mov esi, eax
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x498753
lea ecx, [ebp - 0x54]
push ecx
push 1
call fcn.0046bcac
mov eax, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax + 4]
jmp 0x498759
and dword [ebp - 0x54], 0
xor eax, eax
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
cmp ecx, dword [ebx + 8]
jne 0x49876d
cmp eax, dword [ebx + 0xc]
je case.0x496b43.17
push dword [esi + 0x38]
push edi
call fcn.00468173
push str.database_schema_has_changed
mov edx, edi
call fcn.0046fa4c
mov dword [esi + 0x38], eax
mov ebx, dword [ebx + 4]
mov ecx, dword [edi + 8]
mov eax, ebx
shl eax, 4
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax]
add esp, 0xc
cmp eax, dword [ebp - 0x54]
je 0x4987a7
push ebx
mov ebx, edi
call fcn.0047d478
pop ecx
mov byte [esi + 0x63], 1
mov dword [ebp - 0x58], 0x11
jmp case.0x496b43.17
cmp byte [esi + 0x63], 0
je 0x4987c9
mov dword [ebp - 0x58], 4
jmp case.0x496b43.17
xor edx, edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], edx
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x48], eax
shl eax, 4
add eax, dword [edi + 8]
mov dword [ebp - 0x38], eax
mov edi, dword [eax + 4]
mov dword [ebp - 0x40], edi
cmp byte [ebx], 0x28
jne 0x498808
mov dword [ebp - 0x44], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x65]
jae 0x49880c
mov byte [esi + 0x65], al
jmp 0x49880c
and dword [ebp - 0x44], 0
cmp byte [ebx + 3], 0
je 0x498834
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x6c]
mov esi, ecx
call fcn.0046be86
mov esi, dword [esi + 0x10]
cmp esi, 2
mov dword [ebp - 0x4c], esi
jl 0x49ac89
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x5c]
mov al, byte [ebx + 1]
cmp al, 0xfa
jne 0x498859
mov eax, dword [ebx + 0x10]
mov ecx, dword [esi]
mov dword [ebp - 0x50], eax
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x4d]
mov byte [eax + 4], cl
mov eax, dword [ebp - 0x50]
movzx edx, word [eax + 6]
inc edx
jmp 0x498860
cmp al, 0xf2
jne 0x498863
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x54], edx
push 1
push dword [ebp - 0x48]
mov eax, esi
push edx
mov edx, dword [ebx + 4]
call fcn.00491747
add esp, 0xc
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x499c0f
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x20], 1
push dword [ebp - 0x50]
mov eax, dword [ebp - 0x3c]
push dword [ebp - 0x4c]
mov eax, dword [eax]
mov ebx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
call fcn.0046bad9
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x3c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x50]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x70]
cmp byte [eax + 1], 0xfa
mov ecx, dword [ebp - 0x3c]
setne al
mov byte [ecx + 0x1e], al
mov eax, dword [ebp - 0x3c]
cmp byte [eax + 0x1e], 0
sete cl
mov byte [eax + 0x1f], cl
jmp case.0x496b43.17
mov edx, dword [ebx + 4]
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
mov eax, esi
call fcn.00491747
add esp, 0xc
mov dword [ebp - 0x54], eax
test eax, eax
je 0x499c0f
mov byte [eax + 0x1c], 1
movzx eax, byte [ebx + 3]
mov ecx, dword [ebp - 0x54]
push 0x41e
or eax, 9
push eax
push 0
push dword [edi]
add ecx, 4
mov edx, edi
call fcn.0049055f
add esp, 0x10
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x4989cf
mov eax, dword [ebp - 0x54]
xor edi, edi
inc edi
push edi
push dword [eax + 4]
call fcn.0048dc7b
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x4989cf
cmp dword [ebx + 0x10], eax
je 0x4989ae
movzx eax, byte [ebx + 3]
or eax, 2
push eax
lea eax, [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 4]
call fcn.0048bc4f
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x4989a5
push dword [ebx + 0x10]
mov ecx, dword [ebp - 0x54]
mov eax, dword [ecx]
push dword [ebp - 0xa0]
mov ecx, dword [ecx + 4]
mov ebx, edi
call fcn.0046bad9
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x54]
mov dword [ecx + 8], eax
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x1e], 0
jmp 0x4989cf
mov ecx, dword [ebp - 0x54]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
push 0
push edi
mov ebx, edi
call fcn.0046bad9
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x54]
pop ecx
pop ecx
mov byte [eax + 0x1e], 1
cmp byte [ebx + 3], 0x10
mov ecx, dword [ebp - 0x54]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [ebp - 0x54]
jmp 0x4988c3
mov edx, dword [ebx + 4]
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
mov eax, esi
call fcn.00491747
add esp, 0xc
mov dword [ebp - 0x54], eax
test eax, eax
je 0x499c0f
mov ecx, dword [ebx + 0x10]
mov dword [eax + 8], ecx
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x54]
mov al, byte [eax + 0x4d]
mov ecx, dword [ecx + 8]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x21], 1
mov eax, dword [ebp - 0x54]
push edi
call fcn.00476e56
jmp 0x497f57
mov edx, dword [ebx + 4]
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
mov eax, esi
call fcn.00491747
add esp, 0xc
mov dword [ebp - 0x54], eax
test eax, eax
je 0x499c0f
mov byte [eax + 0x1c], 1
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x54]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x1f], 0
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov ebx, esi
call fcn.004914f0
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x44]
and dword [ecx + eax*4], 0
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x4c], eax
cmp dword [eax], 0
je 0x496b58
movzx ecx, byte [ebx]
mov dword [ebp - 0x50], ecx
mov byte [eax + 0x1c], 0
mov edi, dword [ebp - 0x4c]
cmp byte [edi + 0x1e], 0
je 0x498c17
mov esi, dword [ebx + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0x6c]
call fcn.0046c838
mov ecx, esi
call fcn.0046bd92
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x498bc8
test al, 8
jne 0x498afd
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x64], ebx
jmp 0x496db5
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
jne 0x498b8f
mov eax, SysReAllocString
cmp dword [ebp - 0x20], eax
jne 0x498b8f
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb8], ecx
fild qword [ebp - 0xb8]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x498b3a
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x498b8f
fldz
mov dword [ebp - 0x54], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x498b62
cmp dword [ebp - 0x50], 0x30
jl 0x498af1
mov eax, dword [ebp - 0x4c]
mov esi, dword [eax]
lea edi, [ebp - 0x54]
call fcn.0048e4ef
jmp 0x498b75
cmp dword [ebp - 0x50], 0x2f
jg 0x498af1
mov eax, dword [ebp - 0x4c]
mov esi, dword [eax]
lea edi, [ebp - 0x54]
call fcn.0048e510
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac97
cmp dword [ebp - 0x54], 0
je 0x496db5
jmp 0x498af1
cmp dword [ebp - 0x50], 0x2e
je 0x498bb2
cmp dword [ebp - 0x50], 0x30
je 0x498bb2
fild qword [ebp - 0x24]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x498bca
add dword [ebp - 0x24], 0xffffffff
adc dword [ebp - 0x20], 0xffffffff
jmp 0x498bca
fild qword [ebp - 0x24]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x498bca
add dword [ebp - 0x24], 1
adc dword [ebp - 0x20], ecx
jmp 0x498bca
xor ecx, ecx
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x4c]
mov ebx, dword [eax]
push ecx
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push ecx
call fcn.0048e549
add esp, 0x14
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac97
mov esi, dword [ebp - 0x5c]
xor ebx, ebx
cmp dword [ebp - 0x54], ebx
jne 0x498c7e
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x44], eax
jmp 0x498c7e
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x2c], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x44], eax
mov ax, word [ebp - 0x2c]
mov word [ebp - 0x40], ax
mov al, byte [ebp - 0x50]
and al, 1
mov byte [ebp - 0x3e], al
mov ebx, dword [ebx + 0xc]
imul ebx, ebx, 0x28
add ebx, edx
mov eax, 0x4000
mov dword [ebp - 0x34], ebx
test word [ebx + 0x1c], ax
je 0x498c53
mov eax, ebx
call fcn.00471831
mov edi, dword [ebp - 0x4c]
mov ebx, dword [edi]
lea eax, [ebp - 0x54]
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0048e549
add esp, 0x14
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac9a
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x19], 0
xor ebx, ebx
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x1d], bl
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x50], ebx
cmp dword [ebp - 0x50], 0x30
jl 0x498cb5
cmp dword [ebp - 0x54], ebx
jl 0x498ca5
jne 0x498c9d
cmp dword [ebp - 0x50], 0x31
je 0x498ca5
mov dword [ebp - 0x54], ebx
jmp case.0x496b43.17
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x4c]
push dword [eax]
call fcn.00490ac3
jmp 0x498ce3
cmp dword [ebp - 0x54], ebx
jg 0x498cd5
jne 0x498cc2
cmp dword [ebp - 0x50], 0x2e
je 0x498cd5
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
xor ecx, ecx
cmp byte [eax + 0x53], 1
setne cl
mov dword [ebp - 0x54], ecx
jmp 0x498cf8
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x4c]
push dword [eax]
call fcn.00490bc9
pop ecx
mov dword [ebp - 0x58], eax
pop ecx
cmp eax, ebx
jne 0x49ac9a
mov eax, dword [ebp - 0x4c]
xor ebx, ebx
mov byte [eax + 0x19], bl
cmp dword [ebp - 0x54], ebx
je case.0x496b43.17
jmp 0x499e88
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x54], eax
cmp dword [eax], 0
je case.0x496b43.17
mov byte [eax + 0x1c], 0
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x6c]
mov ecx, ebx
call fcn.0046bd92
mov ecx, dword [ebp - 0x54]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x1d], 1
jmp case.0x496b43.17
and dword [ebp - 0x54], 0
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0x50], ecx
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, edx
cmp dword [ecx], 0
mov dword [ebp - 0x74], eax
je 0x498e2c
cmp dword [ebx + 0x10], 0
jle 0x498d95
mov edx, dword [ecx + 8]
mov dword [ebp - 0x3c], edx
mov dx, word [ebx + 0x10]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x38], dx
mov byte [ebp - 0x36], 2
mov dword [ebp - 0x44], eax
jmp 0x498dd9
mov edi, dword [ecx + 8]
push 0x97
lea ebx, [ebp - 0x48]
lea edx, [ebp - 0x24]
call fcn.0047205e
pop ecx
mov dword [ebp - 0x44], eax
test eax, eax
je 0x499c0f
mov ecx, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x74]
push dword [eax + 0x18]
mov ebx, dword [eax + 4]
push dword [ecx + 8]
call fcn.0046c520
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x60]
add esp, 0xc
or byte [eax + 6], 2
mov ecx, dword [ebp - 0x50]
mov ebx, dword [ecx]
lea eax, [ebp - 0x4c]
push eax
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0x44]
call fcn.0048e549
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x70]
add esp, 0x14
cmp dword [eax + 0x10], 0
jne 0x498e06
push dword [ebp - 0x48]
push edi
call fcn.00468173
pop ecx
pop ecx
cmp dword [ebp - 0x58], 0
jne case.0x496b43.17
mov ebx, dword [ebp - 0x70]
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x4c], eax
sete cl
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x50]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x50], eax
cmp byte [ebx], 0x34
je 0x497aec
cmp dword [ebp - 0x54], 0
jmp 0x497b10
mov eax, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
imul eax, eax, 0x28
mov ecx, dword [esi + 0x44]
imul edi, edi, 0x28
add eax, edx
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x50], eax
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0x50]
and dword [eax + 0x50], 0
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [eax + 8]
mov cx, word [ecx + 6]
add edi, edx
xor edx, edx
mov word [ebp - 0x48], cx
cmp dx, cx
mov ecx, dword [ebp - 0x44]
mov word [ebp - 0x54], dx
jae 0x498eb2
movzx edx, word [ebp - 0x54]
imul edx, edx, 0x28
test byte [edx + ecx + 0x1c], 1
jne 0x498ea7
mov dx, word [ebp - 0x48]
inc word [ebp - 0x54]
cmp word [ebp - 0x54], dx
jb 0x498e89
jmp 0x498eb2
mov ebx, dword [ebx + 8]
dec ebx
and dword [ebp - 0x4c], 0
mov dword [ebp - 0x64], ebx
cmp dword [ebp - 0x4c], 0
je case.0x496b43.17
mov eax, dword [eax + 8]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x48]
inc eax
mov esi, edi
mov word [ebp - 0x38], ax
mov byte [ebp - 0x36], 4
mov dword [ebp - 0x2c], ecx
call fcn.0046be86
mov eax, dword [edi + 0x10]
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x50]
add eax, 0x4c
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0048e549
add esp, 0x14
test byte [ebp - 0x36], 4
mov dword [ebp - 0x58], eax
jne 0x498f26
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x24]
jne 0x498f18
mov ecx, dword [ebp - 0x30]
cmp ecx, dword [ebp - 0x20]
je 0x498f26
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x30]
mov dword [edi + 0x14], eax
jmp 0x496db5
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0x64], eax
jmp 0x496db5
mov edi, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
imul edi, edi, 0x28
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x54], eax
mov ecx, dword [eax]
add edi, edx
mov dword [ebp - 0x50], ecx
test ecx, ecx
je 0x498fc7
and dword [ebp - 0x4c], 0
mov eax, dword [edi + 0x10]
lea ebx, [ebp - 0x4c]
push ebx
mov dword [ebp - 0x44], eax
mov edx, dword [edi + 0x14]
push 0
push edx
push eax
push 0
mov ebx, ecx
mov dword [ebp - 0x40], edx
call fcn.0048e549
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x40], eax
mov ecx, dword [ebp - 0x54]
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x44], eax
mov edx, dword [ebp - 0x54]
xor eax, eax
add esp, 0x14
cmp dword [ebp - 0x4c], eax
sete cl
mov byte [edx + 0x19], cl
mov ecx, dword [ebp - 0x54]
mov byte [ecx + 0x1c], al
mov ecx, dword [ebp - 0x54]
mov dword [ecx + 0x50], eax
mov ecx, dword [ebp - 0x54]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0x4c]
cmp ecx, eax
je 0x498fbc
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x4c], ecx
jmp case.0x496b43.17
mov ebx, dword [ebx + 8]
dec ebx
and dword [eax + 0x4c], 0
mov dword [ebp - 0x64], ebx
jmp case.0x496b43.17
mov edx, dword [esi + 0x44]
mov eax, dword [ebx + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [eax + 0x30]
mov dword [ecx + 0x10], edx
mov eax, dword [eax + 0x34]
mov dword [ecx + 0x14], eax
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x496b43.17
mov edi, dword [esi + 0x44]
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 4]
mov eax, dword [edi + eax*4]
mov dword [ebp - 0x4c], eax
mov edi, dword [eax]
test edi, edi
je 0x49922f
cmp byte [eax + 0x1b], 0
jne 0x49916a
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x54], ecx
mov edi, dword [edi + 0x1c]
or ecx, edi
mov dword [ebp - 0x50], edi
jne 0x49909d
mov esi, dword [eax]
lea edi, [ebp - 0x48]
call fcn.0048e510
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac97
mov eax, dword [ebp - 0x4c]
xor esi, esi
cmp dword [ebp - 0x48], esi
je 0x499068
mov dword [ebp - 0x54], 1
mov dword [ebp - 0x50], esi
jmp 0x499097
mov eax, dword [eax]
lea edi, [ebp - 0x54]
call fcn.0046bb92
cmp dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x58], eax
jne 0x49908d
cmp dword [ebp - 0x50], 0x7fffffff
jne 0x49908d
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x1b], 1
jmp 0x499094
add dword [ebp - 0x54], 1
adc dword [ebp - 0x50], esi
mov eax, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x499130
mov esi, dword [esi + 0xa8]
test esi, esi
je 0x4990cd
mov eax, esi
jmp 0x4990b8
mov eax, ecx
mov dword [ebp - 0x3c], eax
mov ecx, dword [eax + 0x44]
test ecx, ecx
jne 0x4990b6
mov esi, dword [ebx + 0xc]
imul esi, esi, 0x28
add esi, dword [eax + 0x10]
jmp 0x4990d4
imul ecx, ecx, 0x28
add ecx, edx
mov esi, ecx
mov dword [ebp - 0x40], esi
call fcn.0046be86
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x14]
add eax, 0x10
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jne 0x4990f8
cmp edx, 0x7fffffff
je 0x49acd6
mov esi, dword [ebp - 0x4c]
cmp byte [esi + 0x1b], 0
jne 0x49acd6
mov esi, dword [ebp - 0x50]
add ecx, 1
adc edx, 0
cmp esi, edx
jg 0x49911f
jl 0x499119
cmp dword [ebp - 0x54], ecx
jae 0x49911f
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x5c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x50]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
cmp edx, 0x7fffffff
jg 0x49914d
mov ecx, dword [ebp - 0x54]
jl 0x499145
cmp ecx, 0xffffffff
jae 0x49914d
add ecx, 1
adc edx, 0
jmp 0x499151
xor ecx, ecx
xor edx, edx
push edx
push ecx
mov ecx, dword [eax]
call fcn.0046bb49
mov eax, dword [ebp - 0x4c]
add esp, 8
cmp byte [eax + 0x1b], 0
je 0x49921a
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x88]
mov edi, 0x3fffffff
and ecx, edi
add edx, 1
lea ebx, [ebp - 0x48]
push ebx
adc ecx, 0
and dword [ebp - 0x44], 0
push 0
push ecx
push edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ebx, dword [eax]
push 0
call fcn.0048e549
xor ebx, ebx
add esp, 0x14
mov dword [ebp - 0x58], eax
cmp eax, ebx
jne 0x499217
cmp dword [ebp - 0x48], ebx
jne 0x499209
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0x64
jge 0x499209
lea eax, [ebp - 0x54]
push eax
push 8
call fcn.0046fd06
cmp dword [ebp - 0x44], 5
pop ecx
pop ecx
jge 0x4991d7
and dword [ebp - 0x54], 0xffffff
mov dword [ebp - 0x50], ebx
jmp 0x4991e0
mov eax, dword [ebp - 0x54]
and dword [ebp - 0x50], edi
mov dword [ebp - 0x54], eax
add dword [ebp - 0x54], 1
lea eax, [ebp - 0x48]
push eax
adc dword [ebp - 0x50], ebx
mov eax, dword [ebp - 0x4c]
push ebx
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push ebx
mov ebx, dword [eax]
call fcn.0048e549
add esp, 0x14
xor ebx, ebx
mov dword [ebp - 0x58], eax
test eax, eax
je 0x4991aa
cmp dword [ebp - 0x58], ebx
jne 0x499217
cmp dword [ebp - 0x48], ebx
je 0x49acdf
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x68]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x4c]
and dword [eax + 0x50], 0
mov eax, dword [ebp - 0x54]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x50]
jmp 0x496c54
mov eax, dword [ebx + 8]
mov ecx, dword [esi + 0x44]
imul eax, eax, 0x28
add eax, edx
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x44], eax
cmp byte [ebx], 0x39
jne 0x49926f
mov ecx, dword [ebx + 0xc]
imul ecx, ecx, 0x28
add ecx, edx
mov dword [ebp - 0x50], ecx
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x4c], eax
mov edx, dword [ecx + 0x14]
jmp 0x499276
mov eax, dword [ebx + 0xc]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
test byte [ebx + 3], 1
je 0x499282
inc dword [esi + 0x6c]
test byte [ebx + 3], 2
je 0x49929d
mov dword [ebp - 0x88], eax
mov dword [edi + 0x30], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x84], edx
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0x54]
test byte [eax + 0x1c], 1
je 0x4992b4
and dword [eax + 4], 0
mov eax, dword [ebp - 0x54]
and dword [eax + 0x18], 0
mov eax, dword [ebp - 0x54]
test byte [ebx + 3], 0x10
je 0x4992c5
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx + 0x4c]
mov dword [ebp - 0x3c], ecx
jmp 0x4992c9
and dword [ebp - 0x3c], 0
mov ecx, 0x4000
test word [eax + 0x1c], cx
je 0x4992dc
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x40], eax
jmp 0x4992e0
and dword [ebp - 0x40], 0
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
push 0
push 0
call fcn.0046bb49
push dword [ebp - 0x3c]
movzx eax, byte [ebx + 3]
and eax, 8
push eax
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [ebp - 0x44]
push dword [ebp - 0x48]
mov eax, dword [eax]
push dword [ebp - 0x4c]
push 0
call fcn.00490cce
mov ecx, dword [ebp - 0x44]
mov byte [ecx + 0x19], 0
mov ecx, dword [ebp - 0x44]
mov byte [ecx + 0x1d], 0
mov ecx, dword [ebp - 0x44]
and dword [ecx + 0x50], 0
add esp, 0x28
mov dword [ebp - 0x58], eax
test eax, eax
jne case.0x496b43.17
cmp dword [edi + 0xbc], eax
je case.0x496b43.17
cmp dword [ebx + 0x10], eax
je case.0x496b43.17
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0xc]
mov ecx, dword [edi + 8]
push dword [ebp - 0x48]
shl eax, 4
mov ecx, dword [eax + ecx]
push dword [ebp - 0x4c]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x34], edx
mov al, byte [ebx + 3]
and al, 4
movzx eax, al
neg eax
sbb eax, eax
push edx
and eax, 5
add eax, 0x12
push ecx
push eax
mov dword [ebp - 0x30], eax
push dword [edi + 0xb8]
call dword [edi + 0xbc]
add esp, 0x18
jmp case.0x496b43.17
mov edx, dword [esi + 0x44]
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov ecx, dword [ebx + 4]
mov esi, dword [edx + ecx*4]
mov dword [ebp - 0x4c], esi
cmp dword [edi + 0xbc], eax
je 0x4993c6
cmp dword [ebx + 0x10], eax
je 0x4993c6
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x54], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x50], eax
call fcn.00491537
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac97
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
xor edi, edi
push edi
push edi
call fcn.0046bb49
mov eax, dword [ebp - 0x4c]
mov esi, dword [eax]
add esp, 8
call fcn.00490e90
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x58], eax
mov dword [ecx + 0x50], edi
cmp eax, edi
jne 0x499435
mov eax, dword [ebp - 0x60]
mov edx, dword [eax + 0xbc]
cmp edx, edi
je 0x499435
mov ecx, dword [ebx + 0x10]
cmp ecx, edi
je 0x499435
push dword [ebp - 0x50]
mov esi, dword [eax + 8]
push dword [ebp - 0x54]
push ecx
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ecx + 0xc]
shl ecx, 4
push dword [ecx + esi]
push 9
push dword [eax + 0xb8]
call edx
add esp, 0x18
test byte [ebx + 8], 1
je 0x496db5
mov eax, dword [ebp - 0x5c]
inc dword [eax + 0x6c]
jmp 0x498719
mov eax, dword [esi + 0x6c]
add dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
and dword [esi + 0x6c], 0
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x54], eax
mov edi, dword [ebx + 0xc]
mov ecx, dword [eax + 0x48]
imul edi, edi, 0x28
add edi, dword [ebp - 0x6c]
lea edx, [ebp - 0xa8]
call fcn.0046c990
lea ecx, [ebp - 0x50]
push ecx
push dword [ebp - 0xa8]
mov ecx, eax
push dword [edi + 0x18]
mov eax, dword [ebp - 0x54]
push dword [edi + 4]
push 1
call fcn.00481246
and dword [ebp - 0x58], 0
add esp, 0x14
cmp dword [ebp - 0x50], 0
jmp 0x497796
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
imul ecx, ecx, 0x28
mov edx, dword [esi + 0x44]
add ecx, dword [ebp - 0x6c]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x54], eax
call fcn.004725a4
jmp 0x497f58
mov eax, dword [ebx + 8]
mov ecx, dword [esi + 0x44]
imul eax, eax, 0x28
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
mov dword [ebp - 0x54], esi
mov eax, dword [esi]
mov dword [ebp - 0x50], eax
call fcn.00491537
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac97
mov eax, dword [ebp - 0x54]
cmp byte [eax + 0x1f], 0
je 0x499534
mov eax, dword [ebp - 0x50]
lea edi, [ebp - 0x44]
call fcn.0046bb92
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 0x48]
cdq
mov ecx, eax
mov eax, dword [ebp - 0x40]
cmp eax, edx
jg 0x49a349
mov eax, dword [ebp - 0x44]
jl 0x49952f
cmp eax, ecx
ja 0x49a349
mov dword [ebp - 0x4c], eax
jmp 0x499550
mov edi, dword [ebp - 0x50]
mov esi, edi
call fcn.0046bb6c
mov eax, dword [edi + 0x2c]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x4c], eax
cmp eax, dword [ecx + 0x48]
ja 0x49a349
mov edi, dword [ebp - 0x68]
push 0
call fcn.00471772
pop ecx
test eax, eax
jne 0x499c0c
mov eax, dword [ebp - 0x4c]
mov esi, edi
mov dword [esi + 0x18], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0x54]
cmp byte [eax + 0x1f], 0
je 0x49959d
mov eax, dword [esi + 4]
push 0
push eax
push dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
push 0
call fcn.0048a945
jmp 0x4995ad
push dword [esi + 4]
push dword [ebp - 0x4c]
push 0
push dword [ebp - 0x50]
call fcn.00490a86
mov dword [ebp - 0x58], eax
add esp, 0x10
mov byte [esi + 0x1f], 1
jmp 0x496db5
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x54], eax
cmp byte [eax + 0x1c], 0
je 0x4995da
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
jmp case.0x496b43.17
cmp byte [eax + 0x1d], 0
je 0x4995ee
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x4c], ecx
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x48], eax
jmp 0x499658
cmp dword [eax + 0x24], 0
je 0x49961f
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [ebp - 0x44], ecx
mov ecx, dword [ecx]
lea edx, [ebp - 0x4c]
push edx
mov dword [ebp - 0x40], ecx
push dword [eax + 0x24]
call dword [ecx + 0x30]
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x5c]
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
call fcn.00472360
mov esi, edi
jmp 0x499658
mov esi, eax
call fcn.00491537
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac97
mov eax, dword [ebp - 0x54]
cmp byte [eax + 0x19], 0
je 0x499648
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x4c], ecx
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x48], eax
jmp 0x499655
mov eax, dword [eax]
lea edi, [ebp - 0x4c]
call fcn.0046bb92
mov dword [ebp - 0x58], eax
mov esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x68]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x48]
jmp 0x498212
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x54], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
test eax, eax
je case.0x496b43.17
mov esi, eax
call fcn.0046b690
jmp 0x496db5
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x54], eax
mov ecx, dword [eax]
and dword [ebp - 0x4c], 0
mov dword [ebp - 0x50], ecx
test ecx, ecx
je 0x4996c5
lea edi, [ebp - 0x4c]
mov esi, ecx
call fcn.0048e510
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x54]
mov cl, byte [ebp - 0x4c]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x54]
and dword [eax + 0x50], 0
mov ebx, dword [ebx + 8]
test ebx, ebx
jle case.0x496b43.17
cmp dword [ebp - 0x4c], 0
je case.0x496b43.17
jmp 0x496b5b
inc dword [esi + 0x80]
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x4c], 1
cmp dword [eax + 0x48], 0
je 0x49972c
lea ecx, [ebp - 0x4c]
push ecx
push eax
push edi
call fcn.00486a50
add esp, 0xc
mov dword [ebp - 0x58], eax
jmp 0x499763
mov eax, dword [eax]
lea edi, [ebp - 0x4c]
mov esi, eax
mov dword [ebp - 0x50], eax
call fcn.0048e4ef
cmp dword [ebp - 0x4c], 0
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x58], eax
sete al
mov byte [ecx + 0x1a], al
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x54]
and dword [eax + 0x50], 0
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x19], 0
mov al, byte [ebp - 0x4c]
mov ecx, dword [ebp - 0x54]
mov byte [ecx + 0x1c], al
cmp dword [ebp - 0x4c], 0
jmp 0x497796
mov eax, dword [edi + 0xe0]
test eax, eax
jne 0x49ace8
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x54], eax
test eax, eax
je case.0x496b43.17
cmp dword [eax + 0x48], 0
lea ecx, [ebp - 0x50]
push ecx
je 0x4997ad
push eax
push edi
call fcn.0048166d
add esp, 0xc
jmp 0x4997bb
mov dword [ebp - 0x50], 1
push dword [eax]
call dword [ebx + 0x10]
pop ecx
pop ecx
mov cl, byte [ebp - 0x50]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0x54]
and dword [eax + 0x50], 0
cmp dword [ebp - 0x50], 0
jne 0x4997eb
mov eax, dword [ebx + 8]
mov bl, byte [ebx + 3]
dec eax
mov dword [ebp - 0x64], eax
test bl, bl
je 0x4997eb
movzx eax, bl
lea eax, [esi + eax*4 + 0x78]
inc dword [eax]
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x19], 0
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebx + 8]
imul ecx, ecx, 0x28
add ecx, edx
mov edx, dword [eax]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x50], edx
test edx, edx
je case.0x496b43.17
mov edx, 0x4000
test word [ecx + 0x1c], dx
je 0x499838
mov eax, ecx
call fcn.00471831
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x54]
jmp 0x49983c
and dword [ebp - 0x58], 0
cmp dword [ebp - 0x58], 0
jne case.0x496b43.17
cmp dword [eax + 0x48], 0
je 0x49985b
mov ebx, dword [ebp - 0x70]
push eax
push edi
call fcn.0048154c
jmp 0x49a680
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x48], ecx
test byte [ebx + 3], 0x10
je 0x499872
mov eax, dword [eax + 0x4c]
jmp 0x499874
xor eax, eax
push eax
push dword [ebx + 0xc]
xor edi, edi
push edi
push edi
mov eax, edx
cdq
push 0x4ca5a3
push edx
push eax
mov eax, dword [ebp - 0x50]
push ecx
call fcn.00490cce
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x54]
add esp, 0x20
mov dword [eax + 0x50], edi
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x54], eax
mov ecx, dword [eax]
mov dword [ebp - 0x50], ecx
test ecx, ecx
je case.0x496b43.17
mov eax, dword [eax + 8]
mov dword [ebp - 0x44], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x40], ax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x6c]
mov ebx, ecx
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x4c]
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0048e549
add esp, 0x14
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x499908
cmp dword [ebp - 0x4c], eax
jne 0x499908
mov esi, dword [ebp - 0x50]
call fcn.00490e90
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x54]
and dword [eax + 0x50], 0
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x50], eax
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0x54], 0
je case.0x496b43.17
mov esi, dword [ebp - 0x50]
call fcn.00491537
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac97
mov eax, dword [ebp - 0x50]
cmp byte [eax + 0x1c], 0
jne 0x496db5
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x54]
call fcn.004915d3
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac97
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x68]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x48]
push 4
mov dword [eax + 0x14], ecx
pop ecx
jmp 0x4971d2
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x54], eax
cmp dword [eax], 0
je case.0x496b43.17
mov ecx, dword [eax + 8]
mov dword [ebp - 0x4c], ecx
mov cx, word [ebx + 0x10]
mov word [ebp - 0x48], cx
cmp byte [ebx + 3], 0
mov esi, eax
setne cl
add cl, 2
mov byte [ebp - 0x46], cl
mov ecx, dword [ebx + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x4c]
push ecx
call fcn.004916b9
cmp byte [ebx], 0x64
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
jne 0x4999e0
neg dword [ebp - 0x50]
jmp 0x4999e3
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0
mov esi, dword [ebp - 0x5c]
jle case.0x496b43.17
jmp 0x496b58
and dword [ebp - 0x50], 0
mov eax, dword [edi + 0x88]
jmp 0x499a1c
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x499a19
cmp byte [eax + 0x66], 2
jae 0x499a19
cmp dword [eax + 0x58], 0
jl 0x499a19
inc dword [ebp - 0x50]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x4c], eax
test eax, eax
jne 0x499a01
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0x50], eax
jle 0x499a3f
mov dword [ebp - 0x58], 6
mov byte [esi + 0x60], 2
jmp case.0x496b43.17
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x74], ecx
mov ecx, dword [edi + 8]
shl eax, 4
mov esi, dword [eax + ecx + 4]
mov eax, esi
call fcn.0046b4be
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0x74]
push esi
call fcn.0048f4b2
add esp, 0xc
mov edi, eax
call fcn.0046b52c
mov ecx, dword [ebp - 0x68]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x54]
cdq
mov dword [ebp - 0x58], edi
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
test edi, edi
jne 0x496db5
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x496db5
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x60]
mov ebx, dword [ebx + 4]
shl eax, 4
add eax, dword [ecx + 8]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x10]
jmp 0x499ac1
mov edx, dword [ecx + 8]
cmp dword [edx + 0x14], esi
jne 0x499abf
mov dword [edx + 0x14], ebx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x499ab4
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x20]
jmp 0x499ada
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x499ad8
mov dword [ecx + 0x14], ebx
mov eax, dword [eax]
test eax, eax
jne 0x499acd
mov al, byte [ebp - 0x48]
inc al
mov byte [ebp - 0x7d], al
jmp 0x496db5
and dword [ebp - 0x54], 0
mov eax, dword [ebx + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0x54]
and eax, ecx
mov ecx, dword [edi + 8]
push eax
mov eax, dword [ebx + 8]
push dword [ebx + 4]
shl eax, 4
mov eax, dword [eax + ecx + 4]
call fcn.0048f464
cmp dword [ebx + 0xc], 0
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
je case.0x496b43.17
mov eax, dword [ebp - 0x54]
add dword [esi + 0x6c], eax
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jle case.0x496b43.17
mov ecx, dword [ebp - 0x6c]
imul ebx, ebx, 0x28
lea ecx, [ebx + ecx + 0x10]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x496b43.17
and dword [ebp - 0x54], 0
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [edi + 8]
xor ecx, ecx
mov dword [ebp - 0x4c], eax
cmp byte [ebx], 0x69
setne cl
inc ecx
mov dword [ebp - 0x50], ecx
mov eax, dword [eax + 4]
push ecx
lea ecx, [ebp - 0x54]
push ecx
call fcn.0048bc4f
mov dword [ebp - 0x58], eax
jmp 0x498690
mov eax, dword [ebx + 4]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], str.sqlite_temp_master
cmp eax, 1
je 0x499b90
mov dword [ebp - 0x50], str.sqlite_master
mov dword [ebp - 0x48], edi
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x44], ecx
add esi, 0x38
mov dword [ebp - 0x40], esi
push dword [ebx + 0x10]
mov ecx, dword [edi + 8]
push dword [ebp - 0x50]
shl eax, 4
push dword [eax + ecx]
mov esi, edi
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.0047539d
add esp, 0x10
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x499c0c
mov esi, dword [ebp - 0x60]
push 0
lea eax, [ebp - 0x48]
push eax
mov byte [esi + 0x7c], 1
and dword [ebp - 0x3c], 0
push fcn.00495374
push dword [ebp - 0x4c]
push esi
call fcn.0049bda1
add esp, 0x14
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x499bf3
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x58], eax
push dword [ebp - 0x4c]
push esi
call fcn.00468173
cmp dword [ebp - 0x58], 7
pop ecx
pop ecx
mov byte [esi + 0x7c], 0
jne 0x496db5
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
push 0x4bbda8
push eax
lea edi, [esi + 0x38]
mov byte [eax + 0x1e], 1
call fcn.0047ada1
mov dword [ebp - 0x58], 7
jmp 0x49a363
mov ecx, dword [ebx + 4]
mov eax, edi
call fcn.0047785c
jmp 0x497f58
mov ecx, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
mov eax, dword [ebp - 0x60]
shl ebx, 4
add ebx, dword [eax + 8]
push 0
call fcn.004682c9
push eax
mov eax, dword [ebx + 0xc]
add eax, 8
mov edi, ecx
call fcn.0046fe5f
mov edi, dword [ebp - 0x60]
push eax
push edi
call fcn.00477be4
add esp, 0x10
or dword [edi + 0xc], 0x200
jmp case.0x496b43.17
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov ebx, edi
call fcn.00473004
jmp case.0x496b43.17
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edx, edi
call fcn.0047396b
jmp case.0x496b43.17
mov eax, dword [ebx + 8]
mov dword [ebp - 0x54], eax
lea eax, [eax*4 + 4]
push eax
mov esi, edi
call fcn.0046f93e
pop ecx
mov dword [ebp - 0x50], eax
test eax, eax
je 0x499c0c
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x6c]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov edi, dword [ebx + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0x6c]
cmp dword [ebp - 0x54], ecx
mov dword [ebp - 0x4c], ecx
jle 0x499cff
imul ecx, ecx, 0x28
add ecx, edi
call fcn.0046bd92
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x4c]
inc ecx
cmp ecx, dword [ebp - 0x54]
mov dword [ebp - 0x4c], ecx
jl 0x499ce0
mov eax, dword [ebp - 0x50]
and dword [eax + ecx*4], 0
mov eax, dword [ebp - 0x40]
push dword [eax + 0x10]
movzx eax, byte [ebx + 3]
push dword [ebp - 0x54]
mov esi, dword [ebp - 0x60]
push dword [ebp - 0x50]
mov ecx, dword [esi + 8]
shl eax, 4
push dword [eax + ecx + 4]
lea ecx, [ebp - 0x48]
call fcn.0048c436
push dword [ebp - 0x50]
mov dword [ebp - 0x44], eax
push esi
call fcn.00468173
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x40]
cdq
add ecx, 0x10
add esp, 0x18
sub dword [ecx], eax
sbb dword [ecx + 4], edx
call fcn.0046bf35
cmp dword [ebp - 0x48], 0
je 0x499d74
cmp dword [ebp - 0x44], 0
je 0x499c0c
push 1
push dword [ebp - 0x44]
mov eax, fcn.00468118
or ecx, 0xffffffff
mov edx, edi
call fcn.0047c238
pop ecx
pop ecx
movzx eax, byte [ebp - 0x78]
push eax
mov eax, edi
call fcn.0047c1a7
jmp 0x496db4
mov edi, dword [ebx + 4]
mov ebx, dword [ebx + 8]
imul edi, edi, 0x28
imul ebx, ebx, 0x28
add edi, edx
add ebx, edx
test byte [edi + 0x1c], 0x20
jne 0x499daa
call fcn.004719dc
test byte [edi + 0x1c], 0x20
je 0x499c0f
push dword [ebx + 0x14]
push dword [ebx + 0x10]
mov edi, dword [edi + 0x10]
call fcn.00470377
pop ecx
pop ecx
jmp case.0x496b43.17
mov eax, dword [edi + 0xe0]
test eax, eax
jne 0x49ace8
mov edi, dword [ebx + 4]
imul edi, edi, 0x28
add edi, edx
test byte [edi + 0x1c], 0x20
je 0x499e23
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x74], eax
call fcn.0046a54b
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x499e23
mov edx, dword [ecx]
mov dword [ebp - 0x54], edx
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x50], ecx
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
test ecx, ecx
jne 0x499e0f
mov esi, eax
call fcn.0046a361
mov esi, dword [ebx + 0xc]
push dword [ebp - 0x50]
imul esi, esi, 0x28
push dword [ebp - 0x54]
add esi, dword [ebp - 0x6c]
jmp 0x497a5b
call fcn.0046bf35
jmp 0x496b58
mov edi, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
imul edi, edi, 0x28
mov ebx, dword [ebx + 0x10]
imul eax, eax, 0x28
add edi, edx
add eax, edx
mov dword [ebp - 0x54], ebx
test byte [edi + 0x1c], 0x20
mov dword [ebp - 0x74], eax
jne 0x499e5e
call fcn.004719dc
test byte [edi + 0x1c], 0x20
je 0x499c0f
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x499e9e
jl 0x499e69
and ebx, 0xf
jmp 0x499e6e
mov ebx, 0xff
mov eax, dword [ebp - 0x74]
push dword [eax + 0x14]
push dword [eax + 0x10]
mov eax, dword [edi + 0x10]
call fcn.0046a58b
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
test eax, eax
je 0x499e93
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 8]
jmp 0x496b80
mov ebx, dword [ebp - 0x54]
test ebx, ebx
jl case.0x496b43.17
mov eax, dword [ebp - 0x74]
push dword [eax + 0x14]
push dword [eax + 0x10]
jmp 0x499db0
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, edx
mov dword [ebp - 0x4c], eax
cmp byte [ebx + 3], 0
je 0x499eed
mov edx, dword [esi + 0xa8]
mov ebx, dword [ecx + 0x14]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x40], edx
test edx, edx
je 0x499eed
cmp dword [edx + 0x28], ebx
je 0x499ee5
mov edx, dword [edx + 0x44]
mov dword [ebp - 0x40], edx
test edx, edx
jne 0x499ed6
test edx, edx
jne case.0x496b43.17
mov edx, dword [esi + 0xb0]
cmp edx, dword [edi + 0x70]
jl 0x499f14
push str.too_many_levels_of_trigger_recursion
push dword [ebp - 0x60]
lea edi, [esi + 0x38]
mov dword [ebp - 0x58], 1
call fcn.0047ada1
jmp 0x499db8
test byte [eax + 0x1c], 0x40
jne 0x49a021
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0x54], eax
imul eax, eax, 0xa
add eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [ecx + eax*4 + 0x48]
mov dword [ebp - 0x50], eax
push eax
mov eax, edi
call fcn.00474851
pop ecx
mov dword [ebp - 0x40], eax
test eax, eax
je 0x499c0f
push dword [ebp - 0x4c]
call fcn.00471927
pop ecx
mov ecx, dword [ebp - 0x4c]
push 0x40
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x40]
mov dword [eax], esi
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x54]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x64]
mov dword [eax + 4], ecx
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x20], eax
mov ax, word [esi + 0x32]
mov ecx, dword [ebp - 0x40]
mov word [ecx + 0x24], ax
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x28], eax
mov eax, dword [esi + 0xc0]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0xbc]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x2c]
imul ecx, ecx, 0x28
lea edx, [ecx + eax + 0x48]
lea ecx, [eax + 0x48]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x48], ecx
cmp ecx, edx
je 0x49a027
mov eax, 0x80
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x48]
mov dword [eax], edi
mov ecx, dword [ebp - 0x48]
add ecx, 0x28
mov dword [ebp - 0x48], ecx
cmp ecx, dword [ebp - 0x44]
jne 0x49a000
mov eax, dword [ebp - 0x40]
jmp 0x49a027
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x40], eax
inc dword [esi + 0xb0]
mov ecx, dword [esi + 0xa8]
mov dword [eax + 0x44], ecx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x88]
mov dword [eax + 0x38], ecx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x84]
mov dword [eax + 0x3c], ecx
mov eax, dword [esi + 0x6c]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x40]
and dword [esi + 0x6c], 0
lea ecx, [eax + 0x20]
mov dword [esi + 0xa8], eax
mov dword [esi + 8], ecx
mov edx, dword [eax + 0x2c]
mov dword [esi + 0x18], edx
mov ax, word [eax + 0x30]
mov word [esi + 0x32], ax
mov eax, edx
inc eax
imul eax, eax, 0x28
or dword [ebp - 0x64], 0xffffffff
mov dword [ebp - 0x6c], ecx
add ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x44], ecx
mov edx, dword [eax]
mov dword [esi + 4], edx
mov dword [ebp - 0x98], edx
mov edx, dword [eax + 4]
mov dword [esi + 0x1c], edx
movzx edx, word [esi + 0x32]
lea edx, [ecx + edx*4]
mov dword [esi + 0xc0], edx
mov edi, dword [eax + 0x10]
lea ecx, [esi + 0xbc]
push edi
mov dword [ecx], edi
mov eax, dword [eax + 4]
push 0
push edx
mov dword [esi + 0x1c], eax
call fcn.00430560
add esp, 0xc
jmp case.0x496b43.17
mov esi, dword [esi + 0xa8]
mov dword [ebp - 0x54], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
imul eax, eax, 0x14
mov edi, dword [eax + ecx + 4]
add edi, dword [ebx + 4]
push 0x1000
imul edi, edi, 0x28
add edi, dword [esi + 0x10]
mov dword [ebp - 0x50], edi
jmp 0x496dac
cmp dword [ebx + 4], 0
mov eax, dword [ebx + 8]
cdq
je 0x49a113
add edi, 0x1f0
add dword [edi], eax
adc dword [edi + 4], edx
jmp case.0x496b43.17
lea ecx, [esi + 0x90]
jmp 0x499b3c
cmp dword [ebx + 4], 0
je 0x49a135
mov eax, dword [edi + 0x1f0]
or eax, dword [edi + 0x1f4]
jmp 0x497b10
mov eax, dword [esi + 0x90]
or eax, dword [esi + 0x94]
jmp 0x497b10
mov esi, dword [esi + 0xa8]
test esi, esi
je 0x49a16b
mov eax, esi
jmp 0x49a156
mov eax, ecx
mov dword [ebp - 0x50], eax
mov ecx, dword [eax + 0x44]
test ecx, ecx
jne 0x49a154
mov esi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [eax + 0x10]
jmp 0x49a173
mov esi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, edx
mov dword [ebp - 0x54], esi
call fcn.0046be86
mov esi, dword [ebx + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0x6c]
call fcn.0046be86
mov eax, dword [ebp - 0x54]
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov edx, dword [eax + 0x14]
add eax, 0x10
cmp edx, esi
jg 0x496db5
jl 0x49a1ac
mov edx, dword [eax]
cmp edx, ecx
jae 0x496db5
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp 0x496db5
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
cmp dword [eax + edx + 0x14], 0
jl case.0x496b43.17
jg 0x496b58
cmp dword [eax + edx + 0x10], 0
jbe case.0x496b43.17
jmp 0x496b58
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
cmp dword [eax + edx + 0x14], 0
jg case.0x496b43.17
jl 0x496b58
cmp dword [eax + edx + 0x10], 0
jae case.0x496b43.17
jmp 0x496b58
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
imul ecx, ecx, 0x28
add ecx, edx
cdq
add dword [ecx + 0x10], eax
mov eax, dword [ecx + 0x10]
adc dword [ecx + 0x14], edx
or eax, dword [ecx + 0x14]
jmp 0x497b10
movzx ecx, byte [ebx + 3]
mov dword [ebp - 0x54], ecx
mov eax, dword [ebx + 8]
and dword [ebp - 0x50], 0
imul eax, eax, 0x28
add eax, edx
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], edx
test ecx, ecx
jle 0x49a266
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x50]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0x48]
call fcn.0046c80d
inc dword [ebp - 0x50]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x50]
add eax, 0x28
cmp ecx, dword [ebp - 0x54]
mov dword [ebp - 0x48], eax
jl 0x49a241
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x6c]
xor edi, edi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x14], eax
inc dword [eax + 0x18]
xor eax, eax
inc eax
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xc], edi
test byte [eax + 3], 8
je 0x49a2ab
mov ecx, dword [ebx - 4]
mov dword [ebp - 0xc], ecx
push dword [ebp - 4]
lea ecx, [ebp - 0x44]
push dword [ebp - 0x54]
push ecx
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 0x10], edi
je 0x49a2e3
lea eax, [ebp - 0x3c]
push eax
call fcn.0047c7cf
push eax
push 0x4bb82c
push dword [ebp - 0x60]
lea edi, [esi + 0x38]
call fcn.0047ada1
mov eax, dword [ebp - 0x10]
add esp, 0x10
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00471927
jmp 0x499db9
mov esi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x6c]
mov dword [ebp - 0x54], esi
mov edi, dword [ebx + 0x10]
call fcn.0046bcfa
mov dword [ebp - 0x58], eax
test eax, eax
je 0x49a32b
push dword [ebp - 0x54]
call fcn.0047c7cf
mov edi, dword [ebp - 0x5c]
push eax
push 0x4bb82c
push dword [ebp - 0x60]
add edi, 0x38
call fcn.0047ada1
add esp, 0x10
movzx eax, byte [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x54]
call fcn.0047c1a7
pop ecx
mov ecx, dword [ebp - 0x54]
call fcn.0046bf76
test eax, eax
je 0x496db5
mov esi, dword [ebp - 0x5c]
push str.string_or_blob_too_big
push dword [ebp - 0x60]
lea edi, [esi + 0x38]
call fcn.0047ada1
mov dword [ebp - 0x58], 0x12
pop ecx
pop ecx
push dword [esi + 0x38]
mov edi, dword [ebp - 0x58]
push dword [esi + 0xa0]
mov dword [esi + 0x5c], edi
push dword [ebp - 0x64]
push str.statement_aborts_at__d:___s___s
push edi
call fcn.0047553d
add esp, 0x14
mov eax, esi
call fcn.004925ec
cmp edi, 0xc0a
jne 0x49a39b
mov eax, dword [ebp - 0x60]
mov byte [eax + 0x1e], 1
cmp byte [ebp - 0x7d], 0
mov dword [ebp - 0x58], 1
jbe 0x49ac15
movzx eax, byte [ebp - 0x7d]
mov ebx, dword [ebp - 0x60]
dec eax
push eax
call fcn.0047d478
pop ecx
mov edi, ebx
jmp 0x49ac18
and dword [ebp - 0x50], 0
or dword [ebp - 0x48], 0xffffffff
or dword [ebp - 0x4c], 0xffffffff
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x4c]
push eax
push dword [ebx + 8]
push dword [ebx + 4]
mov ebx, edi
call fcn.004902ae
add esp, 0x10
mov dword [ebp - 0x58], eax
cmp eax, 5
jne 0x49a3f9
and dword [ebp - 0x58], 0
mov dword [ebp - 0x50], 1
and dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x70]
mov esi, dword [eax + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0x6c]
mov dword [ebp - 0x44], esi
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp + eax*4 - 0x50]
cdq
push edx
push eax
call fcn.00471981
mov esi, dword [ebp - 0x44]
inc dword [ebp - 0x54]
add esi, 0x28
cmp dword [ebp - 0x54], 3
pop ecx
pop ecx
mov dword [ebp - 0x44], esi
jl 0x49a40c
jmp 0x496db5
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebx + 4]
mov edx, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0x54], eax
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov dword [ebp - 0x50], edx
movzx eax, byte [edx + 5]
mov dword [ebp - 0x48], eax
cmp ecx, 0xffffffff
jne 0x49a461
mov dword [ebp - 0x4c], eax
cmp byte [edx + 0x10], 3
jae 0x49a47d
mov ecx, dword [edx + 0x40]
cmp dword [ecx], 0
je 0x49a480
cmp dword [edx + 0x4c], 0
jl 0x49a480
jg 0x49a47d
cmp dword [edx + 0x48], 0
jbe 0x49a480
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 5
mov ecx, dword [edx + 0x90]
mov dword [ebp - 0x44], ecx
jne 0x49a4a9
call fcn.004682c9
test eax, eax
je 0x49a4a3
mov eax, edx
call fcn.0046ad2f
test eax, eax
jne 0x49a4a9
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x48]
cmp dword [ebp - 0x4c], ecx
je 0x49a521
push 5
pop eax
cmp ecx, eax
je 0x49a4bd
cmp dword [ebp - 0x4c], eax
jne 0x49a521
cmp byte [edi + 0x1c], 0
je 0x49a54f
cmp dword [edi + 0x8c], 1
jg 0x49a54f
cmp dword [ebp - 0x48], eax
jne 0x49a4eb
mov eax, edx
call fcn.004903fb
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49a518
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
jmp 0x49a4f6
cmp dword [ebp - 0x48], 4
jne 0x49a4fb
push 2
pop ecx
mov eax, edx
call fcn.0048d774
push dword [ebp - 0x54]
xor ebx, ebx
cmp dword [ebp - 0x4c], 5
sete bl
inc ebx
call fcn.0048f73d
mov ebx, dword [ebp - 0x70]
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
je 0x49a51e
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov eax, edx
call fcn.0048d774
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x6c]
mov eax, 0xa02
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x68], ebx
cmp eax, 6
jne 0x49a57b
xor ecx, ecx
jmp 0x49a582
cmp dword [ebp - 0x4c], eax
mov dword [ebp - 0x58], 1
mov eax, str.into
je 0x49a565
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push dword [ebp - 0x60]
lea edi, [esi + 0x38]
call fcn.0047ada1
jmp 0x49a0c5
mov ecx, dword [eax*4 + 0x4bd8f8]
mov dword [ebx + 4], ecx
call fcn.004682c9
mov dword [ebx + 0x18], eax
movzx eax, byte [ebp - 0x78]
push eax
mov eax, ebx
mov byte [ebx + 0x1f], 1
call fcn.0047c1a7
jmp 0x499db9
lea eax, [esi + 0x38]
push eax
mov eax, edi
call fcn.00494102
jmp 0x497f57
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x54], eax
call fcn.0048e033
mov dword [ebp - 0x58], eax
cmp eax, 0x65
jne case.0x496b43.17
mov ebx, dword [ebx + 8]
dec ebx
and dword [ebp - 0x58], 0
mov dword [ebp - 0x64], ebx
jmp case.0x496b43.17
cmp dword [ebx + 4], 0
jne 0x49a5f5
mov eax, edi
call fcn.0046c5e1
jmp case.0x496b43.17
mov byte [esi + 0x63], 1
jmp case.0x496b43.17
mov al, byte [ebx + 0xc]
test al, al
jne 0x49a612
test dword [edi + 0xc], 0x80000
jne case.0x496b43.17
mov edx, dword [ebx + 4]
mov edi, dword [edi + 8]
mov ecx, dword [ebx + 8]
shl edx, 4
mov edx, dword [edx + edi + 4]
call fcn.00471726
mov dword [ebp - 0x58], eax
cmp al, 6
jne case.0x496b43.17
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x49a56b
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x60]
mov edi, ebx
mov dword [ebp - 0x54], ebx
call fcn.00473b5b
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x54]
test eax, eax
je case.0x496b43.17
mov esi, dword [eax + 8]
mov edi, dword [ebp - 0x5c]
call fcn.00472360
mov esi, edi
jmp case.0x496b43.17
lea eax, [esi + 0x38]
push eax
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov ecx, edi
call fcn.0047a21d
pop ecx
jmp 0x497f57
mov byte [esi + 0x66], 2
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov ecx, edi
call fcn.0046e28c
pop ecx
mov dword [ebp - 0x58], eax
mov byte [esi + 0x66], 0
jmp case.0x496b43.17
and dword [ebp - 0x54], 0
and dword [ebp - 0x50], 0
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
lea edx, [ebp - 0x50]
mov dword [ebp - 0x4c], eax
mov ecx, dword [eax]
push edx
push eax
mov dword [ebp - 0x48], ecx
call dword [ecx + 0x18]
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x5c]
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
call fcn.00472360
cmp dword [ebp - 0x58], 0
jne 0x496db5
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
push 0
mov dword [ecx], eax
mov edx, dword [ebx + 4]
push 0xffffffffffffffff
push 0
mov eax, edi
call fcn.00491747
add esp, 0xc
mov dword [ebp - 0x54], eax
test eax, eax
je 0x49a716
mov ecx, dword [ebp - 0x50]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x54]
mov dword [ecx + 0x28], eax
jmp 0x49a668
mov eax, dword [ebp - 0x60]
mov byte [eax + 0x1e], 1
push dword [ebp - 0x50]
mov eax, dword [ebp - 0x48]
call dword [eax + 0x1c]
pop ecx
jmp 0x49a668
mov eax, dword [ebx + 0xc]
mov edi, dword [esi + 0x44]
imul eax, eax, 0x28
add eax, edx
mov dword [ebp - 0x48], eax
lea edx, [eax + 0x28]
mov dword [ebp - 0x44], edx
mov ecx, dword [ebx + 4]
mov ecx, dword [edi + ecx*4]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x40], ecx
mov edi, dword [ecx]
mov dword [ebp - 0x3c], edi
mov edi, dword [edi]
mov dword [ebp - 0x4c], edi
mov edi, dword [edx + 0x10]
mov dword [ebp - 0x54], edi
mov eax, dword [eax + 0x10]
and dword [ebp - 0x34], 0
and dword [ebp - 0x30], 0
mov dword [ebp - 0x50], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x2c], eax
test edi, edi
jle 0x49a7a9
jmp 0x49a77c
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
lea ecx, [eax + 1]
imul ecx, ecx, 0x28
add ecx, edx
mov edx, dword [ebp - 0x2c]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + eax*4]
call fcn.0046c80d
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x54]
jl 0x49a779
mov ecx, dword [ebp - 0x40]
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4c]
push dword [ebp - 0x54]
mov byte [esi + 0x66], 1
push dword [ebx + 0x10]
push dword [ebp - 0x50]
push ecx
call dword [eax + 0x20]
mov edi, dword [ebp - 0x5c]
mov byte [esi + 0x66], 0
mov esi, dword [ebp - 0x3c]
add esp, 0x14
mov dword [ebp - 0x58], eax
call fcn.00472360
cmp dword [ebp - 0x58], 0
jne 0x49a7e8
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x4c]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x49a7f5
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x64], ebx
mov eax, dword [ebp - 0x38]
mov byte [eax + 0x1c], 0
jmp 0x49a668
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov edi, dword [ecx + eax*4]
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, edx
mov dword [ebp - 0x4c], eax
cmp byte [edi + 0x1c], 0
jne 0x49747e
mov eax, dword [edi + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [eax]
push 0x40
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x44]
push 0
push eax
call fcn.00430560
mov esi, dword [ebp - 0x4c]
lea eax, [ebp - 0x3c]
push eax
call fcn.00471a7f
mov eax, dword [ebp - 0x20]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x20], ax
push dword [ebx + 8]
lea eax, [ebp - 0x44]
push eax
push dword [edi + 0x24]
mov eax, dword [ebp - 0x50]
call dword [eax + 0x2c]
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x5c]
add esp, 0x1c
mov dword [ebp - 0x58], eax
call fcn.00472360
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x49a87f
mov dword [ebp - 0x58], eax
movzx eax, byte [ebp - 0x78]
push eax
lea eax, [ebp - 0x3c]
call fcn.0047c1a7
push dword [ebp - 0x4c]
lea esi, [ebp - 0x3c]
call fcn.00471a7f
pop ecx
pop ecx
mov ecx, dword [ebp - 0x4c]
call fcn.0046bf76
test eax, eax
jne 0x49a349
jmp 0x49a668
and dword [ebp - 0x4c], 0
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x48], eax
cmp byte [eax + 0x1c], 0
jne case.0x496b43.17
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [ebp - 0x54], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0x50], ecx
mov byte [esi + 0x66], 1
push dword [eax + 0x24]
call dword [ecx + 0x24]
mov edi, dword [ebp - 0x5c]
mov byte [esi + 0x66], 0
mov esi, dword [ebp - 0x54]
pop ecx
mov dword [ebp - 0x58], eax
call fcn.00472360
cmp dword [ebp - 0x58], 0
jne 0x49a908
mov eax, dword [ebp - 0x48]
push dword [eax + 0x24]
mov eax, dword [ebp - 0x50]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jne 0x496db5
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x64], ebx
jmp 0x49a668
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x54], eax
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x6c]
push 1
mov eax, ebx
mov dword [ebp - 0x50], ebx
call fcn.0047c1a7
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
jne case.0x496b43.17
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
push dword [edx + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x5c]
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
call fcn.00472360
mov byte [edi + 0x63], 0
jmp 0x49a668
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x54], eax
mov ecx, dword [eax]
mov dword [ebp - 0x50], ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0x4c], eax
cmp dword [ecx + 0x34], 0
je case.0x496b43.17
mov cl, byte [edi + 0x22]
mov byte [ebp - 0x89], cl
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebx + 0xc]
and dword [ebp - 0x48], 0
imul ecx, ecx, 0x28
add ecx, edx
mov dword [ebp - 0x38], ecx
test eax, eax
jle 0x49a9d5
call fcn.0046c80d
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x3c]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x28
inc dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x4c]
mov dword [ebp - 0x38], ecx
jl 0x49a9b0
mov al, byte [ebx + 3]
mov esi, dword [ebp - 0x60]
mov byte [esi + 0x22], al
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x3c]
mov eax, dword [ebp - 0x50]
push dword [ebp - 0x4c]
push dword [ebp - 0x54]
call dword [eax + 0x34]
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x58], eax
mov al, byte [ebp - 0x89]
mov byte [esi + 0x22], al
mov esi, dword [ebp - 0x54]
add esp, 0x10
call fcn.00472360
cmp dword [ebp - 0x58], 0
jne 0x49aa35
cmp dword [ebx + 4], 0
je 0x49aa35
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x88], eax
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0x40]
mov dword [ecx + 0x34], eax
cmp dword [ebp - 0x58], 0x13
jne 0x49aa6a
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x49aa6a
mov bl, byte [ebx + 3]
cmp bl, 4
jne 0x49aa55
and dword [ebp - 0x58], 0
jmp 0x49a668
cmp bl, 5
jne 0x49aa5f
push 2
pop eax
jmp 0x49aa62
movzx eax, bl
mov byte [edi + 0x60], al
jmp 0x49a668
inc dword [edi + 0x6c]
jmp 0x49a668
mov eax, dword [ebx + 4]
mov edx, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
and dword [ecx + 0x14], 0
mov dword [ecx + 0x10], eax
jmp case.0x496b43.17
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 8]
mov ebx, dword [ebx + 0xc]
shl eax, 4
mov esi, dword [eax + ecx + 4]
xor edi, edi
test ebx, ebx
je 0x49aab3
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x2c]
cmp edi, ebx
jae 0x49aab3
mov edi, ebx
mov eax, esi
call fcn.0046b4be
mov eax, dword [esi + 4]
mov eax, dword [eax]
test edi, edi
jle 0x49aac9
mov dword [eax + 0x84], edi
mov edi, dword [eax + 0x84]
call fcn.0046b52c
mov ecx, dword [ebp - 0x68]
mov eax, edi
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x496db5
cmp dword [edi + 0x98], 0
je case.0x496b43.17
mov ebx, dword [ebx + 0x10]
mov ecx, ebx
test ebx, ebx
jne 0x49ab01
mov ecx, dword [esi + 0xa0]
mov dword [ebp - 0x54], ecx
test ecx, ecx
je case.0x496b43.17
push esi
call fcn.0047c91f
push eax
mov dword [ebp - 0x50], eax
push dword [edi + 0x9c]
call dword [edi + 0x98]
push dword [ebp - 0x50]
push edi
call fcn.00468173
add esp, 0x14
jmp case.0x496b43.17
mov dword [ebp - 0x58], 9
jmp 0x49a365
mov eax, dword [ebx + 4]
mov dword [esi + 0x5c], eax
mov al, byte [ebx + 8]
mov byte [esi + 0x60], al
mov eax, dword [ebp - 0x64]
mov dword [esi + 0x58], eax
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x49ab8a
push eax
push 0x4bb82c
push dword [ebp - 0x60]
lea edi, [esi + 0x38]
call fcn.0047ada1
push dword [ebx + 0x10]
push dword [esi + 0xa0]
push dword [ebp - 0x64]
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.0047553d
mov edi, dword [ebp - 0x60]
add esp, 0x20
jmp 0x49aba9
cmp dword [esi + 0x5c], 0
je 0x49aba9
push dword [esi + 0xa0]
push dword [ebp - 0x64]
push str.constraint_failed_at__d_in___s_
push dword [ebx + 4]
call fcn.0047553d
add esp, 0x10
mov eax, esi
call fcn.004925ec
push 5
pop ecx
cmp eax, ecx
je 0x49abe2
mov eax, dword [esi + 0x5c]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 0x58], eax
jmp 0x49ac18
lea eax, [ebp - 0x44]
push eax
call fcn.00471927
pop ecx
jmp 0x499c0c
mov eax, dword [ebp - 0x64]
mov dword [esi + 0x58], eax
mov byte [edi + 0x1c], 0
mov dword [ebp - 0x58], ecx
mov dword [esi + 0x5c], ecx
jmp 0x49ac18
test ecx, ecx
je 0x49ac46
mov eax, edi
call fcn.00490208
mov byte [edi + 0x1c], bl
mov esi, edi
call fcn.0046ef12
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x5c]
mov esi, dword [ebp - 0x5c]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 0x58], eax
mov edi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x88]
mov dword [edi + 0x30], eax
mov eax, dword [ebp - 0x84]
mov ebx, esi
mov dword [edi + 0x34], eax
call fcn.0046c092
mov ecx, dword [ebp + 0x74]
mov eax, dword [ebp - 0x58]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043039d
add ebp, 0x78
leave
ret
push ebx
mov eax, esi
call fcn.0047c763
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x49ac18
mov al, byte [ebp - 0x54]
mov byte [edi + 0x1c], al
mov eax, esi
call fcn.004925ec
push 5
pop ecx
cmp eax, ecx
jne 0x49abf8
mov eax, dword [ebp - 0x64]
sub bl, byte [ebp - 0x54]
mov dword [esi + 0x58], eax
mov byte [edi + 0x1c], bl
jmp 0x49abe2
mov ecx, dword [ebp - 0x64]
mov dword [esi + 0x58], ecx
mov dword [ebp - 0x58], eax
mov dword [esi + 0x5c], eax
jmp 0x49ac18
push 0x1093f
call fcn.0047a8e2
pop ecx
mov dword [ebp - 0x58], eax
mov esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
cmp byte [ecx + 0x1e], 0
je 0x49acaa
mov dword [ebp - 0x58], 7
cmp dword [ebp - 0x58], 0xc0a
je 0x49a365
mov eax, dword [ebp - 0x58]
call fcn.0046ef6c
push eax
push 0x4bb82c
push ecx
lea edi, [esi + 0x38]
call fcn.0047ada1
add esp, 0xc
jmp 0x49a365
mov dword [ebp - 0x58], 0xd
jmp 0x49ac97
mov dword [ebp - 0x58], 0xd
jmp 0x49ac9a
mov ebx, dword [ebp - 0x60]
push 9
pop eax
mov dword [ebp - 0x58], eax
mov dword [esi + 0x5c], eax
call fcn.0046ef6c
push eax
push 0x4bb82c
push ebx
jmp 0x49acc6