Function at 0x487100
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
mov eax, dword [0x511080]
xor eax, esp
mov dword [esp + 0xc0], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ecx + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x48], esi
push edi
mov edi, edx
test esi, esi
jne 0x487164
cmp dword [ecx + 0x78], esi
jne 0x487151
test byte [eax + 0x50], 8
jne 0x487151
mov byte [ecx + 0x17], 1
call fcn.00440600
mov esi, eax
mov dword [esp + 0x4c], eax
test esi, esi
je 0x48ccf3
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x487183
push 0
push 1
push 1
mov edx, 0xa6
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x4871b6
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x24]
push ecx
push ebx
mov edx, edi
mov ecx, eax
mov dword [eax + 0x2c], 2
call fcn.0046c9f0
mov ecx, eax
add esp, 8
mov dword [esp + 0x34], ecx
test ecx, ecx
js 0x48ccf3
mov eax, dword [esp + 0x10]
mov edi, ecx
shl edi, 4
add edi, dword [eax + 0x10]
mov dword [esp + 0x94], edi
cmp ecx, 1
jne 0x48720e
mov ecx, dword [esp + 0x18]
call fcn.00474900
test eax, eax
jne 0x48ccf3
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov ecx, eax
call fcn.0046c890
mov dword [esp + 0x3c], eax
test eax, eax
je 0x48ccf3
cmp dword [ebp + 0x10], 0
je 0x487242
push dword [esp + 0x20]
push 0x50a54c
push dword [esp + 0x18]
call fcn.0041b790
add esp, 0xc
jmp 0x48724f
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
call fcn.0046c890
cmp dword [ebx + 4], 0
mov dword [esp + 0x14], eax
jbe 0x48725d
mov ebx, dword [edi]
jmp 0x48725f
xor ebx, ebx
mov ecx, dword [esp + 0x18]
mov edx, 0x13
push ebx
push eax
push dword [esp + 0x44]
mov dword [esp + 0x50], ebx
call fcn.0046aec0
add esp, 0xc
test eax, eax
jne 0x48ccd3
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], 0
mov dword [ecx + 0x1c8], 0
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x28], 1
test eax, eax
je 0x4872d5
push eax
call dword [0x511c68]
mov ecx, dword [esp + 0x14]
add esp, 4
test ebx, ebx
je 0x4872eb
mov edx, ebx
call fcn.0046c920
mov ebx, eax
test ebx, ebx
jns 0x4872ed
jmp 0x487372
xor ebx, ebx
mov eax, dword [esp + 0x10]
add ebx, ebx
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ebx*8 + 4]
test ebx, ebx
je 0x487372
cmp byte [ebx + 9], 0
je 0x487314
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x487314
mov ecx, ebx
call fcn.0042fda0
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x48733a
mov dword [esp + 0x28], 0xc
jmp 0x487351
lea edx, [esp + 0xbc]
push edx
push 0xe
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x1c8], eax
cmp byte [ebx + 9], 0
je 0x487372
add dword [ebx + 0xc], 0xffffffff
jne 0x487372
mov ecx, ebx
call fcn.0042fd80
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x487387
push eax
call dword [0x511c70]
add esp, 4
mov ebx, dword [esp + 0x28]
test ebx, ebx
jne 0x48749e
mov ebx, 1
mov ecx, esi
mov edx, ebx
call fcn.00442820
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x4873c2
mov edx, dword [esp + 0xbc]
mov ecx, dword [esi + 0x74]
push 0xffffffffffffffff
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0043fa00
add esp, 0x10
mov edi, dword [esp + 0xbc]
test edi, edi
je 0x48ccd3
push edi
mov edx, ebx
mov ecx, esi
call fcn.00440900
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x4873fd
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x487428
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0xbc]
test edi, edi
je 0x48ccd3
cmp dword [0x511c18], 0
je 0x48748f
mov eax, dword [0x514e38]
test eax, eax
je 0x487453
push eax
call dword [0x511c68]
add esp, 4
push edi
call dword [0x511c44]
sub dword [0x514cc8], eax
add esp, 4
dec dword [0x514cec]
push edi
call dword [0x511c3c]
mov eax, dword [0x514e38]
add esp, 4
test eax, eax
je 0x48ccd3
push eax
call dword [0x511c70]
add esp, 4
jmp 0x48ccd3
push edi
call dword [0x511c3c]
add esp, 4
jmp 0x48ccd3
cmp ebx, 0xc
je 0x48754a
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x48753b
push eax
push 0x506b40
push dword [esp + 0x20]
call fcn.0041c910
mov esi, dword [esp + 0xc8]
add esp, 0xc
test esi, esi
je 0x48753b
cmp dword [0x511c18], 0
je 0x487531
mov eax, dword [0x514e38]
test eax, eax
je 0x4874ef
push eax
call dword [0x511c68]
add esp, 4
push esi
call dword [0x511c44]
sub dword [0x514cc8], eax
add esp, 4
dec dword [0x514cec]
push esi
call dword [0x511c3c]
mov eax, dword [0x514e38]
add esp, 4
test eax, eax
je 0x48753b
push eax
call dword [0x511c70]
mov eax, dword [esp + 0x1c]
add esp, 4
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x48ccd3
push esi
call dword [0x511c3c]
add esp, 4
mov eax, dword [esp + 0x18]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x48ccd3
mov ecx, dword [esp + 0x3c]
call fcn.00486e90
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x48ccd3
test byte [ebx + 5], 1
je 0x487578
mov ecx, dword [esp + 0x18]
call fcn.0048e1c0
test eax, eax
jne 0x48ccd3
mov al, byte [ebx + 5]
test al, 2
jne 0x487594
test al, 4
je 0x48758b
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x487598
mov edx, ebx
mov ecx, esi
call fcn.00486d00
mov ecx, dword [esp + 0x14]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x4875a6.5
jmp dword [eax*4 + 0x48cd08]
mov eax, dword [esi + 0x9c]
mov ebx, dword [esp + 0x34]
bts eax, ebx
mov dword [esi + 0x9c], eax
cmp ebx, 1
je 0x4875e7
mov eax, dword [esi]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
cmp byte [eax + 9], 0
je 0x4875e7
mov eax, dword [esi + 0xa0]
bts eax, ebx
mov dword [esi + 0xa0], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x487620
mov ecx, dword [esp + 0x18]
lea edx, [eax + 9]
push ecx
push 0x4ff8d0
add dword [ecx + 0x2c], 2
mov ecx, esi
call fcn.00441230
mov edx, dword [esp + 0x44]
add esp, 8
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x48ccea
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
mov ecx, eax
call fcn.0041d470
mov ebx, dword [esp + 0x20]
test ebx, ebx
jns 0x48764c
cmp ebx, 0x80000000
jne 0x48764a
mov ebx, 0x7fffffff
jmp 0x48764c
neg ebx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x18], ecx
mov edx, dword [ecx + 0x58]
mov ecx, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0x18]
test edx, eax
jne 0x48768a
mov eax, dword [esp + 0x34]
bts edx, eax
mov dword [ecx + 0x58], edx
cmp eax, 1
jne 0x48768a
call fcn.00474900
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x54]
mov edx, dword [esp + 0x34]
bts eax, edx
mov dword [ecx + 0x54], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4876b4
push ebx
push 3
push edx
mov edx, 0x64
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x4876df
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x64
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0xc]
mov dword [eax + 0x50], ebx
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.00432c10
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x487734
test edi, edi
je 0x48771c
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
jmp 0x48771e
xor eax, eax
cdq
mov ecx, esi
push edx
push eax
call fcn.00486da0
mov edx, dword [esp + 0x44]
add esp, 8
jmp 0x48ccea
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
call fcn.0041d470
mov eax, dword [esp + 0x10]
mov ecx, edi
mov edx, dword [esp + 0x20]
push 0
push 0
mov dword [eax + 0x64], edx
call fcn.00432e80
add esp, 8
cmp eax, 7
jne 0x48ccd3
mov ecx, dword [esp + 0x10]
call fcn.004192e0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
mov eax, dword [esp + 0x14]
or ecx, 0xffffffff
mov ebx, dword [edi + 4]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], ecx
test eax, eax
je 0x4877f5
mov edi, str.fast
mov edx, eax
sub edi, eax
movzx ecx, byte [edx]
movzx eax, byte [edi + edx]
cmp ecx, eax
jne 0x4877b7
test ecx, ecx
je 0x4877d0
inc edx
jmp 0x4877a5
movzx eax, byte [eax + 0x501178]
movzx ecx, byte [ecx + 0x501178]
sub ecx, eax
jne 0x4877cc
inc edx
jmp 0x4877a5
test ecx, ecx
jne 0x4877d7
mov ecx, 2
jmp 0x4877f1
mov ecx, dword [esp + 0x14]
mov edx, 1
push 0
call fcn.00486c10
xor ecx, ecx
add esp, 4
test al, al
setne cl
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x2c]
mov edi, 0xfff3
cmp dword [eax + 4], 0
jne 0x4878a4
test ecx, ecx
js 0x4878a4
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x28], edx
cmp dword [eax + 0x14], edx
jle 0x4878a4
mov ebx, dword [esp + 0x38]
xor esi, esi
nop dword [eax]
mov eax, dword [eax + 0x10]
mov edi, dword [esi + eax + 4]
test edi, edi
je 0x487886
cmp byte [edi + 9], 0
je 0x487855
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x487855
mov ecx, edi
call fcn.0042fda0
mov edx, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov ecx, 0xfff3
and word [eax + 0x18], cx
lea eax, [ebx*4]
mov ecx, dword [edi + 4]
or word [ecx + 0x18], ax
cmp byte [edi + 9], 0
je 0x487886
add dword [edi + 0xc], 0xffffffff
jne 0x487886
mov ecx, edi
call fcn.0042fd80
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
inc edx
add esi, 0x10
mov dword [esp + 0x28], edx
cmp edx, dword [eax + 0x14]
jl 0x487830
mov esi, dword [esp + 0x4c]
mov edi, 0xfff3
mov ebx, dword [esp + 0x24]
test ebx, ebx
jne 0x4878b1
xor edi, edi
push edi
push edi
jmp 0x48ccc9
cmp byte [ebx + 9], 0
je 0x4878c7
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x4878c7
mov ecx, ebx
call fcn.0042fda0
mov edx, dword [esp + 0x38]
test edx, edx
js 0x4878e4
mov eax, dword [ebx + 4]
and word [eax + 0x18], di
lea eax, [edx*4]
mov ecx, dword [ebx + 4]
or word [ecx + 0x18], ax
mov eax, dword [ebx + 4]
movzx edi, word [eax + 0x18]
shr edi, 2
and edi, 3
cmp byte [ebx + 9], 0
je 0x487904
add dword [ebx + 0xc], 0xffffffff
jne 0x487904
mov ecx, ebx
call fcn.0042fd80
push 0
push edi
jmp 0x48ccc9
mov ebx, dword [esp + 0x18]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x34]
mov edx, ebx
movlpd qword [esp + 0x60], xmm0
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x58]
test edi, eax
jne 0x487947
bts edi, ecx
mov dword [edx + 0x58], edi
cmp ecx, 1
jne 0x487947
mov ecx, edx
call fcn.00474900
mov edi, dword [ebx + 0x2c]
mov eax, dword [esp + 0x3c]
inc edi
mov dword [ebx + 0x2c], edi
movzx eax, byte [eax]
cmp byte [eax + 0x501178], 0x70
jne 0x4879ad
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x487981
push 0
push edi
push dword [esp + 0x3c]
mov edx, 0xb1
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x487a47
mov ebx, dword [esp + 0x34]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb1
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
jmp 0x487a3f
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4879f0
lea edx, [esp + 0x60]
mov ecx, eax
call fcn.0041d360
test eax, eax
jne 0x4879f0
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
test eax, eax
jg 0x4879e1
jl 0x4879f0
test edx, edx
jb 0x4879f0
test eax, eax
jl 0x4879fd
jg 0x4879e1
cmp edx, 0xfffffffe
jbe 0x4879fd
mov edx, 0xfffffffe
mov dword [esp + 0x64], 0
jmp 0x4879fd
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x487a1c
push edx
push edi
push dword [esp + 0x3c]
mov edx, 0xb2
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x487a47
mov ebx, dword [esp + 0x34]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb2
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x487a68
push 0
push 1
push edi
mov edx, 0x54
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48ccd3
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48ccd3
test ecx, ecx
je 0x487b0c
mov ebx, str.exclusive
mov edx, ecx
sub ebx, ecx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x487ac6
test ecx, ecx
jne 0x487ad8
mov ecx, 1
jmp 0x487b0f
movzx eax, byte [eax + 0x501178]
movzx ecx, byte [ecx + 0x501178]
sub ecx, eax
jne 0x487adb
inc edx
jmp 0x487ab0
mov edx, dword [esp + 0x14]
mov ebx, str.normal
sub ebx, edx
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x487af7
test ecx, ecx
jne 0x487b09
jmp 0x487b0f
movzx eax, byte [eax + 0x501178]
movzx ecx, byte [ecx + 0x501178]
sub ecx, eax
jne 0x487b0c
inc edx
jmp 0x487ae6
or ecx, 0xffffffff
mov eax, dword [esp + 0x2c]
cmp dword [eax + 4], 0
jne 0x487b76
mov eax, dword [esp + 0x10]
cmp ecx, 0xffffffff
jne 0x487b27
mov cl, byte [eax + 0x59]
jmp 0x487b9e
mov edx, 2
cmp dword [eax + 0x14], edx
jle 0x487b73
mov ebx, 0x20
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebx + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x487b5f
cmp byte [eax + 0xc], 0
jne 0x487b5f
mov edi, dword [eax + 0xe8]
test edi, edi
je 0x487b5c
cmp byte [edi + 0x2b], 2
je 0x487b5f
mov byte [eax + 4], cl
mov eax, dword [esp + 0x10]
inc edx
add ebx, 0x10
cmp edx, dword [eax + 0x14]
jl 0x487b36
mov edi, dword [esp + 0x94]
mov byte [eax + 0x59], cl
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x487b9b
cmp byte [eax + 0xc], 0
jne 0x487b9b
mov edx, dword [eax + 0xe8]
test edx, edx
je 0x487b98
cmp byte [edx + 0x2b], 2
je 0x487b9b
mov byte [eax + 4], cl
mov cl, byte [eax + 4]
cmp cl, 1
mov edx, str.exclusive
mov eax, str.normal
mov ecx, esi
cmove eax, edx
mov edx, 1
push eax
call fcn.00440900
add esp, 4
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x487be0
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48ccd3
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
jmp 0x487a7f
test ecx, ecx
je 0x487ca6
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x487c10
sub ecx, edx
and ecx, 0x3fffffff
xor eax, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
cmp eax, 6
je 0x487ca6
mov edi, dword [eax*4 + 0x500090]
test edi, edi
je 0x487ca6
mov ebx, dword [esp + 0x14]
mov edx, ecx
test ecx, ecx
je 0x487c64
mov al, byte [ebx]
dec edx
test al, al
je 0x487c65
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x501178]
cmp al, byte [ecx + 0x501178]
jne 0x487c65
inc ebx
inc edi
test edx, edx
jg 0x487c43
dec edx
test edx, edx
js 0x487c8c
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x501178]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x501178]
sub eax, ecx
je 0x487c8c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
inc eax
jmp 0x487c25
mov ebx, dword [esp + 0x28]
cmp ebx, 2
jne 0x487cc4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x487cc9
or ebx, 0xffffffff
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 4], 0
jne 0x487ccd
mov dword [esp + 0x34], 0
mov dword [ecx + 4], 1
jmp 0x487ccd
cmp ebx, 0xffffffff
je 0x487ca9
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x487bbe
mov edx, edi
shl edx, 4
mov dword [esp + 0x28], edx
nop word [eax + eax]
mov eax, dword [eax + 0x10]
cmp dword [eax + edx + 4], 0
je 0x487d88
cmp edi, dword [esp + 0x34]
je 0x487d0a
cmp dword [ecx + 4], 0
jne 0x487d88
mov eax, dword [esi + 0x9c]
bts eax, edi
mov dword [esi + 0x9c], eax
cmp edi, 1
je 0x487d3c
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x487d3c
mov eax, dword [esi + 0xa0]
bts eax, edi
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x487d59
push ebx
push 1
push edi
mov edx, 4
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x487d84
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 4
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
sub edx, 0x10
sub edi, 1
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], edx
jns 0x487cf0
jmp 0x487bbe
mov eax, dword [edi + 4]
or ecx, 0xffffffff
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x64], ecx
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0x60], eax
test ebx, ebx
je 0x487df3
lea edx, [esp + 0x60]
mov ecx, ebx
call fcn.0041d360
mov ecx, dword [esp + 0x64]
cmp ecx, 0xffffffff
jg 0x487deb
jl 0x487de4
mov eax, dword [esp + 0x60]
cmp eax, 0xffffffff
jae 0x487def
or eax, 0xffffffff
or ecx, eax
jmp 0x487def
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x14]
cmp ecx, 0xffffffff
jl 0x487e1b
jg 0x487dff
cmp eax, 0xffffffff
jb 0x487e1b
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], ecx
mov edx, dword [edi + 0xe8]
test edx, edx
je 0x487e1b
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [edi + 0xb4]
mov ecx, esi
push dword [edi + 0xb0]
call fcn.00486da0
add esp, 8
jmp 0x48ccd7
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x487e8b
cmp byte [edi + 9], cl
je 0x487e51
inc dword [edi + 0xc]
cmp byte [edi + 0xa], cl
jne 0x487e51
mov ecx, edi
call fcn.0042fda0
mov eax, dword [edi + 4]
xor ebx, ebx
cmp byte [eax + 0x11], bl
je 0x487e62
cmp byte [eax + 0x12], bl
setne bl
inc ebx
cmp byte [edi + 9], 0
je 0x487e75
add dword [edi + 0xc], 0xffffffff
jne 0x487e75
mov ecx, edi
call fcn.0042fd80
push 0
push ebx
mov ecx, esi
call fcn.00486da0
mov edx, dword [esp + 0x44]
add esp, 8
jmp 0x48ccea
mov edx, ecx
mov ecx, str.none
sub ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
nop word [eax + eax]
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x487eb6
test eax, eax
jne 0x487ecc
xor ebx, ebx
jmp 0x487f74
movzx ecx, byte [eax + 0x501178]
movzx eax, byte [ebx + 0x501178]
sub ecx, eax
jne 0x487ecf
mov ecx, dword [esp + 0x24]
inc edx
jmp 0x487ea0
mov edx, dword [esp + 0x14]
mov ecx, str.full
sub ecx, edx
mov dword [esp + 0x24], ecx
nop
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x487ef7
test eax, eax
jne 0x487f0d
lea ebx, [eax + 1]
jmp 0x487f74
movzx ecx, byte [eax + 0x501178]
movzx eax, byte [ebx + 0x501178]
sub ecx, eax
jne 0x487f10
mov ecx, dword [esp + 0x24]
inc edx
jmp 0x487ee0
mov edx, dword [esp + 0x14]
mov ecx, str.incremental
sub ecx, edx
mov dword [esp + 0x24], ecx
nop
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x487f34
test eax, eax
jne 0x487f4a
lea ebx, [eax + 2]
jmp 0x487f74
movzx ecx, byte [eax + 0x501178]
movzx eax, byte [ebx + 0x501178]
sub ecx, eax
jne 0x487f4d
mov ecx, dword [esp + 0x24]
inc edx
jmp 0x487f20
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
call fcn.0041d470
mov eax, dword [esp + 0x20]
xor edx, edx
cmp eax, 2
movzx ecx, al
cmova ecx, edx
movzx ebx, cl
mov eax, dword [esp + 0x10]
mov edx, ebx
mov ecx, edi
mov byte [eax + 0x5a], bl
call fcn.00432fc0
test eax, eax
jne 0x48ccd3
cmp ebx, 1
je 0x487f9a
cmp ebx, 2
jne 0x48ccd3
mov edi, dword [esi + 0x6c]
mov edx, 5
push ecx
push 0x500b4c
mov ecx, esi
call fcn.00441230
mov edx, dword [esp + 0x3c]
lea ecx, [edi + 4]
add esp, 8
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
mov eax, dword [esi + 0x9c]
bts eax, edx
mov dword [esi + 0x9c], eax
cmp edx, 1
je 0x48ccd3
mov eax, dword [esi]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
cmp byte [eax + 9], 0
je 0x48ccd3
mov eax, dword [esi + 0xa0]
mov ecx, dword [esp + 0x10]
bts eax, edx
mov edx, dword [esp + 0x3c]
mov dword [esi + 0xa0], eax
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
mov dword [esp + 0x20], 0
test ecx, ecx
je 0x488040
lea edx, [esp + 0x20]
call fcn.0041d470
test eax, eax
je 0x488040
mov edi, dword [esp + 0x20]
test edi, edi
jg 0x488045
mov edi, 0x7fffffff
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne ebx, eax
mov eax, 1
shl eax, cl
mov edx, dword [ebx + 0x58]
test edx, eax
jne 0x488079
bts edx, ecx
mov dword [ebx + 0x58], edx
cmp ecx, 1
jne 0x488079
mov ecx, ebx
call fcn.00474900
mov ecx, dword [esp + 0x34]
mov eax, dword [ebx + 0x54]
bts eax, ecx
mov dword [ebx + 0x54], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4880a0
push 0
push 1
push edi
mov edx, 0x47
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x4880cf
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esi + 0x6c]
cmp dword [esi + 0x70], edi
jg 0x4880f2
push 0
push 0
push dword [esp + 0x3c]
mov edx, 0x3e
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov edi, eax
jmp 0x488125
mov ebx, dword [esp + 0x34]
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x3e
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x488144
push 0
push 0
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x488177
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x488196
push 0
push 0xffffffffffffffff
push 1
mov edx, 0x56
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x4881c9
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0xffffffff
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4881e7
push 0
push edi
push 1
mov edx, 0x3b
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x488216
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x3b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x48822e
mov eax, 0x514d18
mov dword [eax + 8], edx
jmp 0x48ccd3
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x48ccd3
test ecx, ecx
jne 0x48824f
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x48771e
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
call fcn.0041d470
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x50], eax
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.00432c10
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
test ecx, ecx
jne 0x4882c2
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x20
or eax, ecx
je 0x4882aa
mov ecx, dword [edi + 4]
xor edx, edx
call fcn.00432cb0
cdq
mov ecx, esi
push edx
push eax
call fcn.00486da0
mov edx, dword [esp + 0x44]
add esp, 8
mov ecx, ebx
jmp 0x48ccee
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 1
call fcn.0041d470
mov esi, dword [esp + 0x20]
test eax, eax
je 0x4882e5
mov ecx, dword [edi + 4]
mov edx, esi
call fcn.00432cb0
mov ecx, dword [esp + 0x14]
test esi, esi
mov edx, 1
setne al
movzx eax, al
push eax
call fcn.00486c10
mov edx, dword [esp + 0x14]
add esp, 4
mov ebx, dword [esp + 0x10]
test al, al
mov eax, ebx
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
je 0x488337
or ecx, 0x20
mov dword [eax + 0x20], ecx
mov ecx, ebx
mov dword [eax + 0x24], edx
call fcn.00486e40
mov edx, dword [esp + 0x3c]
mov ecx, ebx
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
and ecx, 0xffffffdf
mov dword [eax + 0x20], ecx
mov ecx, ebx
mov dword [eax + 0x24], edx
call fcn.00486e40
mov edx, dword [esp + 0x3c]
mov ecx, ebx
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
test ecx, ecx
je 0x488473
lea edx, [esp + 0xa8]
call fcn.0041d360
cmp dword [esp + 0xac], 0
jg 0x48839e
jl 0x488385
cmp dword [esp + 0xa8], 0
jae 0x48839e
mov eax, dword [0x511cc0]
mov ecx, dword [0x511cc4]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x4883c4
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], ecx
mov ecx, dword [esp + 0x2c]
mov ebx, dword [edx + 0x14]
sub ebx, 1
js 0x488473
mov esi, ebx
shl esi, 4
mov eax, dword [edx + 0x10]
mov edi, dword [eax + esi + 4]
test edi, edi
je 0x48845f
cmp ebx, dword [esp + 0x34]
je 0x4883f0
cmp dword [ecx + 4], 0
jne 0x48845f
cmp byte [edi + 9], 0
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x20], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x94], ecx
je 0x488431
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x488431
mov ecx, edi
call fcn.0042fda0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x94]
mov ecx, dword [ecx]
mov dword [ecx + 0x88], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x8c], eax
call fcn.004292f0
cmp byte [edi + 9], 0
je 0x48845b
add dword [edi + 0xc], 0xffffffff
jne 0x48845b
mov ecx, edi
call fcn.0042fd80
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
sub esi, 0x10
sub ebx, 1
jns 0x4883d5
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
mov ebx, 1
mov dword [esp + 0xa8], 0xffffffff
mov dword [esp + 0xac], 0xffffffff
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x4884a7
push eax
call dword [0x511c68]
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4884c1
mov edx, eax
call fcn.0046c920
mov edi, eax
test edi, edi
jns 0x4884c3
jmp 0x488541
xor edi, edi
mov eax, dword [esp + 0x10]
add edi, edi
mov eax, dword [eax + 0x10]
mov edi, dword [eax + edi*8 + 4]
test edi, edi
je 0x488541
cmp byte [edi + 9], 0
je 0x4884ea
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x4884ea
mov ecx, edi
call fcn.0042fda0
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x48850b
lea ebx, [ecx + 0xc]
jmp 0x488520
lea edx, [esp + 0xa8]
push edx
push 0x12
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov ebx, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x1c8], eax
cmp byte [edi + 9], 0
je 0x488541
add dword [edi + 0xc], 0xffffffff
jne 0x488541
mov ecx, edi
call fcn.0042fd80
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x488556
push eax
call dword [0x511c70]
add esp, 4
test ebx, ebx
jne 0x48856d
push dword [esp + 0xac]
push dword [esp + 0xac]
jmp 0x48ccc9
cmp ebx, 0xc
je 0x48ccd3
mov eax, dword [esp + 0x18]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x48ccd3
test ecx, ecx
jne 0x488596
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx + 0x56]
jmp 0x4882aa
mov cl, byte [ecx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x4885a8
movsx ebx, cl
sub ebx, 0x30
jmp 0x48861b
mov ebx, dword [esp + 0x14]
mov esi, str.file
mov edx, ebx
movzx edi, byte [esi]
movzx eax, cl
cmp eax, edi
jne 0x4885c8
test cl, cl
jne 0x4885da
mov ebx, 1
jmp 0x48861b
movzx ecx, byte [eax + 0x501178]
movzx eax, byte [edi + 0x501178]
sub ecx, eax
jne 0x4885e1
mov cl, byte [edx + 1]
inc edx
inc esi
jmp 0x4885b3
mov edi, str.memory
mov edx, ebx
sub edi, ebx
nop word [eax + eax]
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x488604
test eax, eax
jne 0x488616
lea ebx, [eax + 2]
jmp 0x48861b
movzx ecx, byte [eax + 0x501178]
movzx eax, byte [esi + 0x501178]
sub ecx, eax
jne 0x488619
inc edx
jmp 0x4885f0
xor ebx, ebx
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
movzx eax, byte [esi + 0x56]
cmp eax, ebx
je 0x48ccd3
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x488659
cmp byte [esi + 0x55], 0
je 0x488672
cmp byte [ecx + 8], 0
jne 0x488672
call fcn.00432a00
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.0046c290
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov byte [esi + 0x56], bl
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
jmp 0x4889b7
cmp byte [0x511c1c], 0
je 0x48869f
push 0xb
call dword [0x511c60]
add esp, 4
test eax, eax
je 0x48869f
push eax
call dword [0x511c68]
add esp, 4
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x48871e
mov eax, dword [0x514c18]
test eax, eax
je 0x488828
push eax
mov edx, 1
mov ecx, esi
call fcn.00440900
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x4886e6
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x488828
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x488828
cmp byte [ecx], 0
je 0x488752
mov eax, dword [esp + 0x10]
lea edx, [esp + 0xb4]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x4888a2
cmp dword [esp + 0xb4], eax
je 0x4888a2
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x56], 1
ja 0x48879e
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x48879e
cmp byte [esi + 0x55], 0
je 0x488790
cmp byte [ecx + 8], 0
jne 0x488790
call fcn.00432a00
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.0046c290
jmp 0x48879e
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.0041c910
add esp, 8
mov esi, dword [0x514c18]
test esi, esi
je 0x488800
cmp dword [0x511c18], 0
je 0x4887f6
mov eax, dword [0x514e38]
test eax, eax
je 0x4887c4
push eax
call dword [0x511c68]
add esp, 4
push esi
call dword [0x511c44]
sub dword [0x514cc8], eax
add esp, 4
dec dword [0x514cec]
push esi
call dword [0x511c3c]
mov eax, dword [0x514e38]
add esp, 4
test eax, eax
je 0x488800
push eax
call dword [0x511c70]
jmp 0x4887fd
push esi
call dword [0x511c3c]
add esp, 4
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0
je 0x48881e
push ecx
push 0x506b40
call fcn.0041b880
add esp, 8
mov dword [0x514c18], eax
jmp 0x488828
mov dword [0x514c18], 0
cmp byte [0x511c1c], 0
je 0x48ccd3
push 0xb
call dword [0x511c60]
jmp 0x487475
cmp byte [0x511c1c], 0
je 0x488864
push 0xb
call dword [0x511c60]
add esp, 4
test eax, eax
je 0x488864
push eax
call dword [0x511c68]
add esp, 4
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x488876
mov eax, dword [0x514c14]
jmp 0x4886ac
cmp byte [ecx], 0
je 0x4888ef
mov eax, dword [esp + 0x10]
lea edx, [esp + 0xb8]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x4888a2
cmp dword [esp + 0xb8], eax
jne 0x4888eb
push str.not_a_writable_directory
push dword [esp + 0x1c]
call fcn.0041c910
add esp, 8
cmp byte [0x511c1c], 0
je 0x4888d5
push 0xb
call dword [0x511c60]
add esp, 4
test eax, eax
je 0x4888d5
push eax
call dword [0x511c70]
add esp, 4
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
mov ecx, dword [esp + 0x14]
mov esi, dword [0x514c14]
test esi, esi
je 0x488955
cmp dword [0x511c18], 0
je 0x488947
mov eax, dword [0x514e38]
test eax, eax
je 0x488915
push eax
call dword [0x511c68]
add esp, 4
push esi
call dword [0x511c44]
sub dword [0x514cc8], eax
add esp, 4
dec dword [0x514cec]
push esi
call dword [0x511c3c]
mov eax, dword [0x514e38]
add esp, 4
test eax, eax
je 0x488951
push eax
call dword [0x511c70]
jmp 0x48894e
push esi
call dword [0x511c3c]
add esp, 4
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0
je 0x488972
push ecx
push 0x506b40
call fcn.0041b880
add esp, 8
mov dword [0x514c14], eax
jmp 0x488828
mov dword [0x514c14], 0
jmp 0x488828
test ecx, ecx
jne 0x4889a4
movzx eax, byte [edi + 8]
cdq
sub eax, 1
sbb edx, ecx
mov ecx, esi
push edx
push eax
call fcn.00486da0
mov edx, dword [esp + 0x44]
add esp, 8
jmp 0x48ccea
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x55], 0
jne 0x4889d5
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x1c]
call fcn.0041c910
mov ecx, dword [esp + 0x18]
add esp, 8
mov edx, dword [esp + 0x3c]
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
cmp dword [esp + 0x34], 1
je 0x48ccd3
push 1
xor edx, edx
call fcn.00486c10
inc eax
add esp, 4
and eax, 7
mov ecx, 1
cmove eax, ecx
mov byte [edi + 8], al
mov byte [edi + 9], cl
mov ecx, dword [esp + 0x10]
call fcn.00486e40
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
test ecx, ecx
jne 0x488a6f
mov edx, ebx
mov ecx, esi
call fcn.00486d00
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
and ecx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or ecx, eax
je 0x488a47
mov eax, 1
xor ecx, ecx
jmp 0x488a58
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
push ecx
push eax
mov ecx, esi
call fcn.00486da0
mov edx, dword [esp + 0x44]
add esp, 8
mov ecx, edi
jmp 0x48ccee
mov eax, dword [esp + 0x10]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
cmp byte [eax + 0x55], 0
jne 0x488a85
and edi, 0xffffbfff
push 0
mov edx, 1
call fcn.00486c10
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x24], ecx
test al, al
je 0x488ab8
mov eax, dword [esp + 0x10]
or edx, edi
or ecx, ebx
mov ebx, eax
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ecx
jmp 0x488aea
mov ecx, edi
mov eax, ebx
not ecx
not eax
and eax, dword [esp + 0x24]
and ecx, edx
mov edx, dword [esp + 0x10]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], eax
cmp edi, 0x80000
jne 0x488b26
test ebx, ebx
jne 0x488b26
mov dword [edx + 0x208], ebx
mov dword [edx + 0x20c], ebx
mov ebx, edx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x488b84
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov ecx, ebx
call fcn.00486e40
mov edx, dword [esp + 0x3c]
mov ecx, ebx
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
and edi, 1
or edi, 0
je 0x488ae8
mov edx, dword [esp + 0x14]
mov edi, str.reset
sub edi, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [edx + edi]
cmp ecx, eax
jne 0x488b52
test ecx, ecx
je 0x488b6b
inc edx
jmp 0x488b40
movzx ecx, byte [ecx + 0x501178]
movzx eax, byte [eax + 0x501178]
sub ecx, eax
jne 0x488b67
inc edx
jmp 0x488b40
test ecx, ecx
jne 0x488b7b
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0046c290
jmp 0x488aea
mov ebx, dword [esp + 0x10]
jmp 0x488aea
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, ebx
call fcn.00486e40
mov edx, dword [esp + 0x3c]
mov ecx, ebx
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
test ecx, ecx
je 0x48ccd3
mov edi, dword [esp + 0x44]
mov edx, edi
mov ecx, dword [esp + 0x18]
call fcn.004749a0
mov ecx, dword [esp + 0x18]
mov edx, 2
push edi
push dword [esp + 0x18]
call fcn.0046be70
mov edi, eax
add esp, 8
mov dword [esp + 0x78], edi
test edi, edi
je 0x48ccd3
mov ecx, dword [edi + 8]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x488c37
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x488c33
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x488c23
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x18]
mov dword [eax + 0x2c], 7
cmp byte [edi + 0x2b], 1
je 0x488c4f
cmp word [edi + 0x22], 0
jg 0x488c58
mov edx, edi
mov ecx, eax
call fcn.00470650
mov ecx, dword [edi + 4]
xor edx, edx
movzx eax, word [edi + 0x22]
xor edi, edi
mov dword [esp + 0x88], edx
mov dword [esp + 0x38], ecx
cmp di, ax
jge 0x48ccd3
mov dword [esp + 0x20], eax
nop dword [eax + eax]
movzx eax, word [ecx + 0xe]
xor edi, edi
test al, 0x62
je 0x488cb9
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x488c9e
inc dword [esp + 0x8c]
jmp 0x488e36
movzx eax, word [ecx + 0xe]
test al, 0x20
je 0x488cad
mov edi, 2
jmp 0x488cb9
movzx edi, al
and edi, 0x40
or edi, 0x20
shr edi, 5
test al, 1
jne 0x488cc1
xor edx, edx
jmp 0x488d0c
cmp dword [esp + 0x28], 0
mov edx, 1
je 0x488d0c
mov eax, dword [esp + 0x20]
cwde
mov dword [esp + 0x24], eax
cmp eax, edx
jl 0x488d0c
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov ecx, dword [eax + 4]
nop word [eax + eax]
movsx eax, word [ecx]
cmp eax, dword [esp + 0x88]
je 0x488d04
inc edx
add ecx, 2
cmp edx, esi
jle 0x488cf0
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x38]
movzx eax, word [ecx + 0xc]
mov dword [esp + 0x20], eax
test ax, ax
jne 0x488d1d
xor eax, eax
jmp 0x488d62
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x2b], 0
je 0x488d2b
xor eax, eax
jmp 0x488d62
mov eax, dword [eax + 0x34]
test eax, eax
je 0x488d62
mov ebx, dword [esp + 0x20]
movzx ebx, bx
cmp dword [eax], ebx
mov ebx, dword [esp + 0x54]
jge 0x488d45
xor eax, eax
jmp 0x488d62
mov ecx, dword [esp + 0x20]
movzx eax, cx
mov ecx, dword [esp + 0x78]
lea eax, [eax + eax*4]
mov esi, dword [ecx + 0x34]
mov ecx, dword [esp + 0x38]
mov eax, dword [esi + eax*4 - 0xc]
mov esi, dword [esp + 0x4c]
cmp edi, 2
jae 0x488d74
test eax, eax
je 0x488d74
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
jmp 0x488d7c
mov dword [esp + 0x20], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x80], str.issisii
jne 0x488d9a
mov dword [esp + 0x80], str.issisi
test byte [ecx + 0xe], 4
je 0x488dd1
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x94], eax
lea eax, [ecx + 1]
mov dword [esp + 0x24], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488db2
mov eax, dword [esp + 0x94]
sub ecx, dword [esp + 0x24]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x50], eax
jmp 0x488df1
mov eax, dword [ecx + 4]
shr eax, 4
and eax, 0xf
je 0x488de9
mov eax, dword [eax*4 + 0x512b3c]
mov dword [esp + 0x50], eax
jmp 0x488df1
mov dword [esp + 0x50], 0x504da5
test byte [ecx + 4], 0xf
mov eax, 0
push edi
push edx
push dword [esp + 0x28]
setne al
push eax
push dword [esp + 0x60]
mov eax, dword [esp + 0x9c]
push dword [ecx]
sub eax, dword [esp + 0xa4]
push eax
push dword [esp + 0x9c]
push 1
push esi
call fcn.004409b0
mov ecx, dword [esp + 0x60]
add esp, 0x28
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x78]
inc edx
add ecx, 0x10
mov dword [esp + 0x88], edx
mov dword [esp + 0x38], ecx
movzx eax, word [eax + 0x22]
mov edi, eax
cwde
mov dword [esp + 0x20], edi
cmp edx, eax
jl 0x488c80
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
mov eax, dword [esp + 0x18]
mov ecx, eax
mov ebx, dword [esp + 0x44]
mov edx, ebx
mov dword [eax + 0x2c], 6
call fcn.004749a0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x54], 0
cmp dword [eax + 0x14], 0
jle 0x48ccd3
xor edi, edi
mov dword [esp + 0x40], edi
test ebx, ebx
je 0x488ef7
mov eax, dword [eax + 0x10]
mov edi, dword [edi + eax]
test edi, edi
je 0x489275
mov edx, ebx
sub edi, ebx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [edx + edi]
cmp ecx, eax
jne 0x488ed2
test ecx, ecx
je 0x488eef
inc edx
jmp 0x488ec0
movzx ecx, byte [ecx + 0x501178]
movzx eax, byte [eax + 0x501178]
sub ecx, eax
jne 0x488ee7
inc edx
jmp 0x488ec0
test ecx, ecx
jne 0x489275
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + edi + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x489079
nop dword [eax]
mov eax, dword [edx + 8]
dec ebx
mov dword [esp + 0x80], ebx
test eax, eax
je 0x489079
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x488f38
mov eax, dword [eax]
test eax, eax
jne 0x488f23
jmp 0x489079
push dword [ecx]
push str.SELECTFROM__w_
push dword [esp + 0x18]
call fcn.0041b790
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
je 0x489035
push 0
lea ecx, [esp + 0xa4]
mov dword [esp + 0xa4], 0
push ecx
mov ecx, dword [esp + 0x18]
mov edx, eax
push 0
push 0
push 0xffffffffffffffff
call fcn.0048e910
mov edi, dword [esp + 0xb4]
add esp, 0x14
test edi, edi
je 0x489024
mov ebx, dword [edi]
test ebx, ebx
jne 0x488fc1
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.0041bb20
push 0x50c3cc
push 0x15545
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.0041bb20
add esp, 0x1c
jmp 0x48901d
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x488fd2
push eax
call dword [0x511c68]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x488fef
jg 0x488fe6
cmp dword [edi + 0x88], 0
jbe 0x488fef
mov edx, edi
mov ecx, ebx
call fcn.00445840
mov ecx, edi
call fcn.00443650
mov ecx, edi
mov dword [esp + 0x20], eax
call fcn.00443790
cmp byte [ebx + 0x57], 0
mov edx, dword [esp + 0x20]
jne 0x48900f
test edx, edx
je 0x489016
mov ecx, ebx
call fcn.004193c0
mov ecx, ebx
call fcn.004c7820
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
call fcn.00418b80
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x57], 0
je 0x489067
push str.out_of_memory
push dword [eax + 0x10c]
call fcn.0041c910
mov eax, dword [esp + 0x18]
add esp, 8
mov eax, dword [eax + 0x10c]
mov dword [eax + 0xc], 7
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + edi + 0xc]
add edx, 8
test ebx, ebx
jne 0x488f10
mov edx, dword [edx + 8]
mov dword [esp + 0x50], edx
test edx, edx
je 0x48924d
mov eax, dword [esp + 0x14]
nop dword [eax]
mov ebx, dword [edx + 8]
test eax, eax
je 0x4890d4
mov edx, dword [ebx]
test edx, edx
je 0x48923b
mov edi, eax
sub edi, edx
movzx ecx, byte [edi + edx]
movzx eax, byte [edx]
cmp ecx, eax
jne 0x4890b7
test ecx, ecx
je 0x4890d4
inc edx
jmp 0x4890a5
movzx eax, byte [eax + 0x501178]
movzx ecx, byte [ecx + 0x501178]
sub ecx, eax
jne 0x4890cc
inc edx
jmp 0x4890a5
test ecx, ecx
jne 0x489233
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x4890e5
mov dword [esp + 0x28], str.view
jmp 0x48910b
cmp al, 1
jne 0x4890f3
mov dword [esp + 0x28], str.virtual
jmp 0x48910b
test dword [ebx + 0x1c], 0x1000
mov eax, str.shadow
mov ecx, str.table
cmove eax, ecx
mov dword [esp + 0x28], eax
mov ebx, dword [ebx]
mov edx, 7
mov dword [esp + 0x20], ebx
test ebx, ebx
je 0x4891eb
mov edi, ebx
mov ebx, str.sqlite_
mov al, byte [edi]
dec edx
test al, al
je 0x489147
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x501178]
cmp al, byte [ecx + 0x501178]
jne 0x489147
inc edi
inc ebx
test edx, edx
jg 0x489125
dec edx
test edx, edx
js 0x489167
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x501178]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x501178]
sub ecx, eax
jne 0x4891eb
mov ebx, dword [esp + 0x20]
mov edx, 0x507677
mov eax, ebx
sub eax, edx
add eax, 7
mov dword [esp + 0x24], eax
nop dword [eax + eax]
movzx eax, byte [edx + eax]
movzx edi, byte [edx]
cmp eax, edi
jne 0x489196
test eax, eax
jne 0x4891a8
mov edx, str.sqlite_schema
jmp 0x4891ef
movzx ecx, byte [eax + 0x501178]
movzx eax, byte [edi + 0x501178]
sub ecx, eax
jne 0x4891af
mov eax, dword [esp + 0x24]
inc edx
jmp 0x489180
mov edi, str.sqlite_temp_master
lea edx, [ebx + 7]
sub edi, ebx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [edx + edi]
cmp ecx, eax
jne 0x4891d6
test ecx, ecx
jne 0x4891e8
mov edx, str.sqlite_temp_schema
jmp 0x4891ef
movzx eax, byte [eax + 0x501178]
movzx ecx, byte [ecx + 0x501178]
sub ecx, eax
jne 0x4891eb
inc edx
jmp 0x4891c0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
mov edi, dword [ecx + 8]
mov ecx, dword [edi + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edi + 0x22]
and ecx, 1
mov edi, dword [esp + 0x44]
push ecx
push eax
mov eax, dword [esp + 0x1c]
push dword [esp + 0x34]
push edx
mov eax, dword [eax + 0x10]
push dword [eax + edi]
push str.sssiii
push 1
push esi
call fcn.004409b0
add esp, 0x24
jmp 0x489237
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x50]
mov edx, dword [edx]
mov dword [esp + 0x50], edx
test edx, edx
jne 0x489090
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
add edi, 0x10
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x54], eax
cmp eax, dword [ecx + 0x14]
mov eax, ecx
jl 0x488ea6
jmp 0x48ccd3
mov edi, dword [esp + 0x40]
jmp 0x489251
test ecx, ecx
je 0x48ccd3
push dword [esp + 0x44]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.0046c030
mov edi, eax
add esp, 4
test edi, edi
jne 0x4892e8
push dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 2]
push dword [esp + 0x18]
call fcn.0046be70
add esp, 8
test eax, eax
je 0x48ccd3
test byte [eax + 0x1c], 0x80
je 0x48ccd3
mov edi, dword [eax + 8]
test edi, edi
je 0x48ccd3
nop
mov eax, dword [edi + 0x38]
and al, 3
cmp al, 2
je 0x4892e0
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x4892d0
test edi, edi
je 0x48ccd3
mov edx, dword [edi + 0x18]
mov ecx, 0xffff8000
test edx, edx
je 0x48930c
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x48930c
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x489304
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
je 0x48931f
movzx eax, word [edi + 0x34]
mov edx, 6
jmp 0x489328
movzx eax, word [edi + 0x32]
mov edx, 3
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov dword [ebx + 0x2c], edx
mov edx, ebx
mov eax, dword [edi + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x58]
test ebx, eax
jne 0x489364
bts ebx, ecx
mov dword [edx + 0x58], ebx
cmp ecx, 1
jne 0x489364
mov ecx, edx
call fcn.00474900
xor ebx, ebx
cmp word [esp + 0x28], bx
je 0x48ccd3
mov eax, dword [edi + 4]
movzx eax, word [eax + ebx*2]
movsx edx, ax
test ax, ax
jns 0x489384
xor eax, eax
jmp 0x489392
mov eax, dword [esp + 0x24]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
push edx
push ebx
push str.iisX
push 1
push esi
call fcn.004409b0
mov ecx, dword [esp + 0x6c]
add esp, 0x18
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
je 0x4893da
movzx eax, word [edi + 0x32]
cmp ebx, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [edi + 0x20]
push dword [eax + ebx*4]
mov eax, dword [edi + 0x1c]
movzx eax, byte [eax + ebx]
push eax
push str.isiX
push 4
push esi
call fcn.004409b0
add esp, 0x18
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x6c]
mov edx, dword [eax + 0x2c]
cmp dword [esi + 0x70], ecx
jg 0x4893ff
push 0
push edx
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x489432
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x28]
inc ebx
movzx eax, cx
cmp ebx, eax
jl 0x489371
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
test ecx, ecx
je 0x48ccd3
push dword [esp + 0x44]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.0046ba80
mov edi, eax
add esp, 4
test edi, edi
je 0x48ccd3
mov edx, dword [edi + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x4894a0
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x4894a0
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x489498
mov ebx, dword [esp + 0x18]
mov dword [ebx + 0x2c], 5
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne ebx, eax
mov eax, 1
shl eax, cl
mov edx, dword [ebx + 0x58]
test edx, eax
jne 0x4894d3
bts edx, ecx
mov dword [ebx + 0x58], edx
cmp ecx, 1
jne 0x4894d3
mov ecx, ebx
call fcn.00474900
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x48ccd3
mov dword [esp + 0x60], 0x50a5f4
mov dword [esp + 0x64], 0x50a5f8
mov dword [esp + 0x68], 0x509f44
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x64]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.004409b0
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x4894f8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
mov eax, dword [esp + 0x18]
xor edi, edi
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 3
cmp dword [edx + 0x14], edi
jle 0x48ccd3
xor ebx, ebx
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x48959d
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
je 0x48957e
mov eax, 0x4ffa14
jmp 0x489584
mov eax, dword [eax + 0xb8]
push eax
push dword [ecx + ebx]
push edi
push 0x50a604
push 1
push esi
call fcn.004409b0
mov edx, dword [esp + 0x28]
add esp, 0x18
inc edi
add ebx, 0x10
cmp edi, dword [edx + 0x14]
jl 0x489561
jmp 0x48ccd3
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [edx + 0x1b8]
test edi, edi
je 0x48ccd3
nop word [eax + eax]
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x50a608
push 1
push esi
call fcn.004409b0
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x4895d0
jmp 0x48ccd3
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x18]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
mov eax, 0x514d48
mov dword [esp + 0x20], eax
mov edi, dword [eax]
test edi, edi
je 0x48963a
nop dword [eax]
push ebx
push 1
mov edx, edi
mov ecx, esi
call fcn.00486f40
mov edi, dword [edi + 0x24]
add esp, 8
test edi, edi
jne 0x489620
mov eax, dword [esp + 0x20]
add eax, 4
mov dword [esp + 0x20], eax
cmp eax, 0x514da4
jl 0x489613
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0x1a8]
test edi, edi
je 0x48ccd3
nop word [eax + eax]
mov edx, dword [edi + 8]
mov ecx, esi
push ebx
push 0
call fcn.00486f40
mov edi, dword [edi]
add esp, 8
test edi, edi
jne 0x489660
jmp 0x48ccd3
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [edx + 0x18c]
test edi, edi
je 0x48ccd3
nop dword [eax + eax]
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x507c98
push 1
push esi
call fcn.004409b0
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x4896a0
jmp 0x48ccd3
mov edi, 0x501660
push dword [edi]
push 0x507c98
push 1
push esi
call fcn.004409b0
add edi, 0x10
add esp, 0x10
cmp edi, str.0123456789ABCDEF
jl 0x4896c6
jmp 0x48ccd3
test ecx, ecx
je 0x48ccd3
push dword [esp + 0x44]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.0046ba80
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x48ccd3
cmp byte [eax + 0x2b], 0
jne 0x48ccd3
mov edi, dword [eax + 0x30]
test edi, edi
je 0x48ccd3
mov edx, dword [eax + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x489748
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x489748
nop
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x489740
mov ebx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x28], edx
mov dword [ebx + 0x2c], 8
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne ebx, eax
mov eax, 1
mov dword [esp + 0x18], ebx
shl eax, cl
mov ebx, dword [ebx + 0x58]
test ebx, eax
jne 0x489790
mov eax, dword [esp + 0x18]
bts ebx, ecx
mov dword [eax + 0x58], ebx
cmp ecx, 1
jne 0x489790
mov ecx, eax
call fcn.00474900
xor edx, edx
nop dword [eax + eax]
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x489853
lea edx, [edi + 0x24]
mov dword [esp + 0x20], edx
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x4897ae
jmp dword [eax*4 + 0x48cdb4]
mov ecx, str.SET_NULL
jmp 0x4897d6
mov ecx, str.SET_DEFAULT
jmp 0x4897d6
mov ecx, str.CASCADE
jmp 0x4897d6
mov ecx, str.RESTRICT
jmp 0x4897d6
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x4897e2
jmp dword [eax*4 + 0x48cdc4]
mov eax, str.SET_NULL
jmp 0x48980a
mov eax, str.SET_DEFAULT
jmp 0x48980a
mov eax, str.CASCADE
jmp 0x48980a
mov eax, str.RESTRICT
jmp 0x48980a
mov eax, str.NO_ACTION
push str.NONE
push ecx
mov ecx, dword [edx]
push eax
push dword [edx + 4]
mov eax, dword [esp + 0x34]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x44]
push str.iissssss
push 1
push esi
call fcn.004409b0
mov edx, dword [esp + 0x4c]
inc ebx
add edx, 8
add esp, 0x2c
mov dword [esp + 0x20], edx
cmp ebx, dword [edi + 0x14]
jl 0x4897a2
mov edx, dword [esp + 0x28]
mov edi, dword [edi + 4]
inc edx
mov dword [esp + 0x28], edx
test edi, edi
jne 0x489790
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, dword [ebx + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x34]
mov dword [ebx + 0x2c], eax
add ecx, ecx
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x48ccd3
jmp 0x4898b4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4898d5
push dword [esp + 0x44]
xor edx, edx
mov ecx, ebx
push eax
call fcn.0046be70
mov edx, dword [esp + 0x18]
add esp, 8
xor ecx, ecx
jmp 0x4898da
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x48], eax
test eax, eax
je 0x48a01b
cmp byte [eax + 0x2b], 0
jne 0x48a01b
cmp dword [eax + 0x30], 0
je 0x48a01b
mov ecx, dword [eax + 0x3c]
mov edi, 0xffff8000
test ecx, ecx
je 0x48991e
mov eax, dword [edx + 0x10]
xor edi, edi
add eax, 0xc
cmp dword [eax], ecx
je 0x48991e
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x489916
mov eax, dword [edx + 0x10]
mov ecx, edi
shl ecx, 4
mov edx, ebx
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + eax]
mov ecx, edi
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x58]
test ebx, eax
jne 0x489a58
bts ebx, edi
mov dword [edx + 0x58], ebx
cmp edi, 1
jne 0x489a61
mov ecx, edx
call fcn.00474900
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
movsx eax, word [ebx + 0x22]
add eax, dword [esp + 0x40]
cmp eax, dword [ecx + 0x2c]
jle 0x48997d
mov dword [ecx + 0x2c], eax
push 0x70
push ebx
push edi
xor edx, edx
call fcn.0047f560
mov edx, dword [esp + 0x38]
add esp, 0xc
mov ecx, esi
push dword [ebx]
call fcn.00440900
mov ecx, dword [ebx + 0x30]
add esp, 4
mov dword [esp + 0x28], ecx
mov eax, 1
mov dword [esp + 0x38], eax
test ecx, ecx
je 0x489b42
mov eax, edi
shl eax, 4
mov dword [esp + 0x24], eax
nop dword [eax]
mov edx, dword [ecx + 8]
push dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
call fcn.0046ba80
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x489b22
mov dword [esp + 0x78], 0
cmp edi, 1
je 0x489a16
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x24]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x489a16
push dword [ebx]
mov ecx, dword [esp + 0x1c]
mov edx, edi
push 0
push dword [ebx + 0x14]
call fcn.0046af60
add esp, 0xc
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x78]
push 0
push eax
push dword [esp + 0x30]
mov edx, ebx
call fcn.0047c240
add esp, 0xc
test eax, eax
jne 0x48ccd3
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x38]
test eax, eax
jne 0x489a9a
mov ecx, dword [esp + 0x18]
push 0x70
push ebx
push edi
call fcn.0047f560
add esp, 0xc
jmp 0x489b22
cmp edi, 1
je 0x489965
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x489969
push dword [ebx]
mov ecx, dword [esp + 0x1c]
mov edx, edi
push 0
push dword [ebx + 0x14]
call fcn.0046af60
add esp, 0xc
jmp 0x489969
mov ecx, dword [esi + 0x6c]
mov ebx, dword [eax + 0x2c]
cmp dword [esi + 0x70], ecx
jg 0x489ab9
push edi
push ebx
push edx
mov edx, 0x70
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x489ae0
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
mov ecx, eax
mov edx, dword [esp + 0x78]
mov ebx, dword [eax + 8]
call fcn.004751a0
mov edx, eax
test edx, edx
je 0x489b22
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
je 0x489b10
push edx
mov edx, 0xfffffff8
call fcn.00441340
add esp, 4
jmp 0x489b22
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x4899c0
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x28], eax
jge 0x489b4e
mov dword [ecx + 0x28], eax
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x54], edx
cmp dword [esi + 0x70], edx
jg 0x489b75
push 0
push 0
push 0
mov edx, 0x24
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov dword [esp + 0x54], eax
jmp 0x489ba8
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [ebx + 0x30]
mov dword [esp + 0x58], 1
mov dword [esp + 0x5c], edi
test edi, edi
je 0x489fa1
nop
push dword [esp + 0x44]
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x14]
call fcn.0046ba80
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x50], 0
test eax, eax
je 0x489c04
lea ecx, [esp + 0x50]
mov edx, eax
push ecx
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x20]
push edi
call fcn.0047c240
add esp, 0xc
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
dec dword [edx + 0x38]
mov eax, dword [edi + 0x14]
mov ebx, dword [edx + 0x38]
add eax, ecx
cmp eax, dword [edx + 0x2c]
jle 0x489c1f
mov dword [edx + 0x2c], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x28], 0
test eax, eax
jle 0x489ce7
mov edi, ecx
mov ecx, dword [esp + 0x5c]
add ecx, 0x24
xor edx, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x50]
test eax, eax
je 0x489c54
add eax, edx
jmp 0x489c56
mov eax, ecx
mov edx, dword [esp + 0x48]
mov ecx, esi
push edi
push dword [eax]
push 0
call fcn.0045e220
mov ecx, dword [esi + 0x6c]
add esp, 0xc
cmp dword [esi + 0x70], ecx
jg 0x489c86
push 0
push ebx
push edi
mov edx, 0x32
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x489cb1
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x5c]
inc edi
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x80]
add ecx, 8
inc dword [esp + 0x28]
add edx, 4
mov eax, dword [eax + 0x14]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x80], edx
cmp dword [esp + 0x28], eax
jl 0x489c48
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x78]
test edx, edx
je 0x489d9c
push eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0047f710
add esp, 4
mov edx, 0x60
mov ecx, esi
push eax
push 0
push dword [edi + 0x14]
push dword [esp + 0x50]
call fcn.00440b90
mov edx, dword [esi + 0x6c]
add esp, 0x14
mov eax, dword [edi + 0x14]
mov dword [esp + 0x24], eax
cmp dword [esi + 0x70], edx
jg 0x489d45
push dword [esp + 0x40]
mov edx, 0x1d
mov ecx, esi
push ebx
push dword [esp + 0x60]
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x489d78
mov edi, dword [esp + 0x58]
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x489e4c
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x24]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x489e4c
cmp dword [esp + 0x24], 0
je 0x489e4c
mov ecx, dword [esi + 0x6c]
lea edx, [ecx + 2]
cmp dword [esi + 0x70], ecx
jg 0x489dcc
push dword [esp + 0x40]
mov ecx, esi
push edx
push dword [esp + 0x60]
mov edx, 0x1e
call fcn.00440850
add esp, 0xc
jmp 0x489dff
mov edi, dword [esp + 0x58]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x1e
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x489e1d
push 0
push ebx
push 0
mov edx, 9
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x489e4c
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x48]
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
test byte [edx + 0x1c], 0x80
jne 0x489e90
cmp eax, ecx
jg 0x489e7b
mov eax, dword [esp + 0x2c]
mov edx, 0x87
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.00440850
add esp, 0xc
jmp 0x489ee7
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x87
jmp 0x489ec2
cmp eax, ecx
jg 0x489eaf
mov eax, dword [esp + 0x2c]
mov edx, 0x4b
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.00440850
add esp, 0xc
jmp 0x489ee7
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x5c]
inc edx
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x58]
dec eax
push eax
push dword [edi + 8]
mov eax, dword [esp + 0x34]
push 0x50a620
add eax, 2
push eax
push esi
call fcn.004409b0
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x489f27
push 0
push 4
push dword [esp + 0x34]
mov edx, 0x54
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x489f5a
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x489f74
push ebx
mov edx, esi
call fcn.00441050
add esp, 4
jmp 0x489f7d
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
mov edx, dword [esp + 0x50]
test edx, edx
je 0x489f8e
mov ecx, dword [esp + 0x10]
call fcn.00418b80
mov edi, dword [edi + 4]
inc dword [esp + 0x58]
mov dword [esp + 0x5c], edi
test edi, edi
jne 0x489bc0
mov ebx, dword [esp + 0x54]
mov ecx, dword [esi + 0x6c]
lea edx, [ebx + 1]
cmp dword [esi + 0x70], ecx
jg 0x489fc6
push 0
push edx
push 0
mov edx, 0x27
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x489ff5
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x48a007
mov eax, 0x514d18
jmp 0x48a010
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x18]
mov dword [eax + 8], edx
test ecx, ecx
jne 0x4898b0
jmp 0x48ccd3
test ecx, ecx
je 0x48ccd3
push 0
mov edx, 1
call fcn.00486c10
mov ecx, dword [esp + 0x14]
xor edx, edx
add esp, 4
test al, al
setne dl
call fcn.0047bf50
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
mov ebx, dword [esp + 0x34]
xor eax, eax
mov edi, dword [esp + 0x18]
or edx, 0xffffffff
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x3c]
movzx eax, byte [eax]
mov al, byte [eax + 0x501178]
mov byte [esp + 0x73], al
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
mov eax, 0x64
mov dword [edi + 0x2c], 6
cmove ebx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x50], eax
test ecx, ecx
je 0x48a106
lea edx, [esp + 0x50]
call fcn.0041d470
test eax, eax
je 0x48a0d0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x28], eax
test eax, eax
jg 0x48a106
mov eax, 0x64
jmp 0x48a102
test ebx, ebx
js 0x48a0e4
mov eax, dword [esp + 0x10]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x48a0e6
xor eax, eax
push eax
push dword [esp + 0x18]
xor edx, edx
mov ecx, edi
call fcn.0046be70
mov dword [esp + 0x94], eax
add esp, 8
mov eax, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 0x6c]
lea edx, [eax - 1]
cmp dword [esi + 0x70], ecx
jg 0x48a127
push 0
push 1
push edx
mov edx, 0x47
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48a156
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x78], edx
lea ebx, [edx + 1]
cmp dword [eax + 0x14], edx
jle 0x48a57e
mov ecx, dword [esp + 0x34]
lea eax, [esi + 0x70]
mov dword [esp + 0x30], eax
lea eax, [esi + 0x6c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x9c], 0x10
nop dword [eax]
xor ebx, ebx
test ecx, ecx
js 0x48a19e
cmp edx, ecx
jne 0x48a565
mov eax, dword [edi + 0x78]
mov edx, edi
mov ecx, dword [esp + 0x78]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x58]
test edi, eax
jne 0x48a1d0
bts edi, ecx
mov dword [edx + 0x58], edi
cmp ecx, 1
jne 0x48a1d0
mov ecx, edx
call fcn.00474900
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x10]
add ecx, ecx
xor edx, edx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov dword [esp + 0x20], eax
mov edi, dword [eax + 0x10]
test edi, edi
je 0x48a559
mov ecx, dword [esp + 0x8c]
mov eax, dword [edi + 8]
test ecx, ecx
je 0x48a200
cmp ecx, eax
jne 0x48a225
test byte [eax + 0x1c], 0x80
jne 0x48a207
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x48a219
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x48a210
cmp ecx, ebx
cmovg ebx, ecx
mov ecx, dword [esp + 0x8c]
mov edi, dword [edi]
test edi, edi
jne 0x48a1f5
mov dword [esp + 0x38], ebx
test edx, edx
je 0x48a559
test ecx, ecx
lea eax, [edx + 1]
mov ecx, dword [esp + 0x10]
cmove eax, edx
push edi
lea eax, [eax*4 + 4]
push eax
call fcn.00419010
mov edi, eax
add esp, 8
test edi, edi
je 0x48a579
xor edx, edx
cmp dword [esp + 0x8c], edx
je 0x48a275
mov edx, 1
mov dword [edi + 4], 0
mov ebx, dword [esp + 0x20]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x48a2c8
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x38], eax
nop
mov ecx, dword [ebx + 8]
test esi, esi
je 0x48a29b
cmp esi, ecx
jne 0x48a2be
test byte [ecx + 0x1c], 0x80
jne 0x48a2a8
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x48a2be
nop
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48a2b0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x48a290
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
mov dword [edi], edx
add eax, 8
mov ecx, dword [ebx + 0x2c]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x2c], ecx
mov ecx, dword [esp + 0x1c]
mov byte [ebx + 0x13], 0
mov dword [ebx + 0x1c], 0
mov ebx, dword [ecx]
cmp dword [eax], ebx
jg 0x48a311
push 1
push edx
push 2
mov edx, 0x9b
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov ebx, eax
jmp 0x48a343
lea eax, [ebx + 1]
mov dword [ecx], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x9b
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x48a35b
push edi
mov edx, 0xfffffff2
call fcn.00441340
add esp, 4
jmp 0x48a38e
test ebx, ebx
jns 0x48a366
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax]
dec ebx
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x48a387
push 0xfffffffffffffff2
push edi
mov edx, eax
mov ecx, esi
call fcn.004414b0
add esp, 8
jmp 0x48a38e
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf2
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jle 0x48a3aa
mov ecx, dword [esp + 0x78]
movzx edx, cl
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0x30]
mov edi, dword [ebx]
cmp dword [eax], edi
jg 0x48a3cd
push 0
push 0
push 2
mov edx, 0x32
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov edi, eax
jmp 0x48a3ff
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
add ecx, ecx
mov eax, dword [edx + 0x10]
push dword [eax + ecx*8]
push str._in_database__s__n
push edx
call fcn.0041b790
mov ecx, dword [esp + 0x28]
mov ebx, eax
mov eax, dword [esp + 0x3c]
add esp, 0xc
mov edx, dword [ecx]
cmp dword [eax], edx
jg 0x48a446
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48a47c
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x48a494
push ebx
mov edx, 0xfffffffa
call fcn.00441340
add esp, 4
jmp 0x48a4cb
test edx, edx
jns 0x48a49f
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x48a4c0
push 0xfffffffffffffffa
push ebx
mov edx, eax
mov ecx, esi
call fcn.004414b0
add esp, 8
jmp 0x48a4cb
test ebx, ebx
je 0x48a4cb
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xfa
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x48a4f0
push 3
push 3
push 2
mov edx, 0x6f
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48a522
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.00486fe0
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x48a53a
mov eax, 0x514d18
jmp 0x48a543
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x20], edi
test edi, edi
jne 0x48a5e4
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x78]
inc ebx
mov edx, ebx
mov dword [esp + 0x78], ebx
cmp ebx, dword [eax + 0x14]
jl 0x48a190
mov ebx, 1
push ecx
push 0x5010f8
mov edx, 7
mov ecx, esi
call fcn.00441230
mov edx, eax
add esp, 8
test edx, edx
je 0x48a5c1
sub ebx, dword [esp + 0x28]
mov ecx, str.unknown_error
mov eax, dword [str.database_disk_image_is_malformed]
test eax, eax
mov dword [edx + 8], ebx
mov byte [edx + 0x29], 0xff
cmovne ecx, eax
mov dword [edx + 0x38], 0x50a738
mov byte [edx + 0x65], 0xff
mov dword [edx + 0x74], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 0x6c]
sub ecx, 2
cmp byte [eax + 0x57], 0
mov eax, 0x514d18
jne 0x48a5d7
mov eax, dword [esi + 0x68]
mov dword [eax + 0xc], ecx
jmp 0x48ccd3
mov edi, dword [esp + 0x20]
mov edi, dword [edi + 8]
mov dword [esp + 0x74], edi
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0xffffffff
cmp byte [edi + 0x2b], 0
jne 0x48c04d
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x48a61e
cmp eax, edi
jne 0x48c04d
cmp byte [esp + 0x73], 0x71
je 0x48a729
test byte [edi + 0x1c], 0x80
je 0x48a729
mov ecx, dword [edi + 8]
mov dword [esp + 0x5c], ecx
test ecx, ecx
je 0x48a654
nop
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x48a650
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48a640
mov dword [esp + 0x5c], ecx
movzx ecx, word [ecx + 0x32]
cmp ecx, 1
jne 0x48a689
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x13]
test al, al
jne 0x48a674
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x44], eax
jmp 0x48a6c8
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x9c]
mov dword [esp + 0x44], eax
jmp 0x48a6c8
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x20]
mov dword [esp + 0x44], edx
mov edx, dword [eax + 0x1c]
cmp ecx, edx
jg 0x48a6b5
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
add eax, ecx
sub edx, ecx
mov dword [ebx + 0x20], eax
mov eax, ebx
mov ebx, dword [esp + 0x1c]
mov dword [eax + 0x1c], edx
jmp 0x48a6c8
mov eax, dword [eax + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], edx
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x44]
mov ecx, dword [ebx]
dec edx
movzx eax, word [eax + 0x32]
add edx, eax
mov eax, dword [esp + 0x30]
cmp dword [eax], ecx
jg 0x48a6f9
push edx
push dword [esp + 0x48]
mov edx, 0x4b
mov ecx, esi
push 1
call fcn.00440850
add esp, 0xc
jmp 0x48a739
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48a739
mov dword [esp + 0x5c], 0
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x5c]
mov edx, edi
push eax
push 0
push 1
push 0
push 0x70
call fcn.004844d0
mov edx, dword [esp + 0x34]
add esp, 0x18
mov eax, dword [esp + 0x30]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x48a782
push 0
push 7
push 0
mov edx, 0x47
mov ecx, esi
call fcn.00440850
mov edx, dword [esp + 0x28]
add esp, 0xc
jmp 0x48a7b4
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 7
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x48a822
mov edi, 8
mov eax, dword [esp + 0x30]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x48a7e4
push 0
push edi
push 0
mov edx, 0x47
mov ecx, esi
call fcn.00440850
mov edx, dword [esp + 0x28]
add esp, 0xc
jmp 0x48a816
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [ebx + 0x14]
inc edi
test ebx, ebx
jne 0x48a7c0
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x30]
mov ecx, dword [edx]
cmp dword [ebx], ecx
jg 0x48a849
push 0
push 0
push dword [esp + 0x60]
mov edx, 0x24
mov ecx, esi
call fcn.00440850
mov edx, dword [esp + 0x28]
add esp, 0xc
jmp 0x48a87f
mov edi, dword [esp + 0x58]
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x74]
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edx]
mov dword [esp + 0x80], ecx
cmp dword [ebx], ecx
jg 0x48a8aa
push 0
push 1
push 7
mov edx, 0x56
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov dword [esp + 0x80], eax
jmp 0x48a8dc
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
movsx edx, word [edi + 0x22]
sub edx, 1
js 0x48a953
mov ecx, edx
shl ecx, 4
add ecx, 0xe
add ecx, dword [edi + 4]
test byte [ecx], 0x20
jne 0x48a8fd
movsx eax, word [edi + 0x20]
cmp eax, edx
jne 0x48a907
sub ecx, 0x10
sub edx, 1
jns 0x48a8f0
jmp 0x48a953
test edx, edx
js 0x48a953
push 3
push edx
push dword [esp + 0x60]
mov edx, edi
mov ecx, esi
call fcn.0045e220
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x57], 0
je 0x48a92d
mov eax, 0x514d18
jmp 0x48a93f
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp dword [eax + 0xc], 3
jne 0x48a953
cmp byte [eax], 0x5e
jne 0x48a953
mov ecx, 0x80
or word [eax + 2], cx
cmp byte [esp + 0x73], 0x71
je 0x48ab89
mov ebx, dword [esp + 0x5c]
test ebx, ebx
je 0x48ab89
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
movzx ebx, word [ebx + 0x32]
mov edi, dword [edx]
cmp dword [eax], edi
jg 0x48a999
push dword [esp + 0x44]
mov edx, 0x29
mov ecx, esi
push 0
push dword [esp + 0x60]
call fcn.00440850
add esp, 0xc
mov edi, eax
jmp 0x48a9cb
lea eax, [edi + 1]
mov dword [edx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x58]
mov dword [eax + ecx*4], 0x29
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esp + 0x1c]
cmp byte [eax + 0x57], 0
jne 0x48a9e6
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], ebx
mov eax, dword [esp + 0x30]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x48aa09
push 0
push 0
push dword [esp + 0x4c]
mov edx, 0x32
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48aa3b
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x74]
push dword [eax]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x18]
call fcn.0041b790
mov ecx, dword [esp + 0x28]
mov ebx, eax
mov eax, dword [esp + 0x3c]
add esp, 0xc
mov edx, dword [ecx]
cmp dword [eax], edx
jg 0x48aa7b
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48aab1
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x48aac9
push ebx
mov edx, 0xfffffffa
call fcn.00441340
add esp, 4
jmp 0x48ab00
test edx, edx
jns 0x48aad4
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x48aaf5
push 0xfffffffffffffffa
push ebx
mov edx, eax
mov ecx, esi
call fcn.004414b0
add esp, 8
jmp 0x48ab00
test ebx, ebx
je 0x48ab00
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xfa
mov ecx, esi
call fcn.00486fe0
mov eax, dword [esi]
mov ebx, dword [esp + 0x1c]
cmp byte [eax + 0x57], 0
mov edx, dword [ebx]
je 0x48ab1c
mov eax, 0x514d18
jmp 0x48ab25
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x48ab39
mov eax, 0x514d20
jmp 0x48ab45
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
add eax, 0x1c
mov ebx, dword [esp + 0x5c]
xor edi, edi
mov dword [eax], edx
xor eax, eax
cmp ax, word [ebx + 0x32]
jae 0x48ab85
mov esi, dword [esp + 0x18]
nop dword [eax]
mov eax, dword [esp + 0x44]
mov edx, ebx
add eax, edi
mov ecx, esi
push eax
push edi
push dword [esp + 0x60]
call fcn.0045dfc0
movzx eax, word [ebx + 0x32]
inc edi
add esp, 0xc
cmp edi, eax
jl 0x48ab60
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x74]
movzx edx, word [edi + 0x1e]
xor ecx, ecx
and edx, 1
mov dword [esp + 0x84], ecx
xor eax, eax
mov dword [esp + 0x7c], edx
cmp ax, word [edi + 0x22]
jge 0x48b5d6
mov dword [esp + 0x54], eax
nop dword [eax]
mov ebx, dword [edi + 4]
add ebx, eax
movsx eax, word [edi + 0x20]
mov dword [esp + 0x88], ebx
cmp ecx, eax
je 0x48b5b9
test edx, edx
je 0x48abe1
mov eax, dword [ebx + 4]
and eax, 0xf0
cmp dword [esp + 0x9c], eax
sbb eax, eax
neg eax
jmp 0x48abea
xor eax, eax
cmp byte [ebx + 8], 0x41
setg al
test byte [ebx + 4], 0xf
mov dword [esp + 0x50], eax
jne 0x48abfc
test eax, eax
je 0x48b5b9
test byte [ebx + 0xe], 0x20
mov dword [esp + 0x38], 5
je 0x48ac2c
push 3
push ecx
push dword [esp + 0x60]
mov edx, edi
mov ecx, esi
call fcn.0045e220
add esp, 0xc
or ecx, 0xffffffff
mov dword [esp + 0x2c], ecx
lea edx, [ecx + 4]
jmp 0x48ad4c
cmp word [ebx + 0xc], 0
je 0x48acd7
mov dword [esp + 0xa4], 0
movzx eax, word [ebx + 0xc]
test ax, ax
je 0x48acd7
cmp byte [edi + 0x2b], 0
jne 0x48acd7
mov ecx, dword [edi + 0x34]
test ecx, ecx
je 0x48acd0
cmp dword [ecx], eax
jl 0x48acd0
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
test edx, edx
je 0x48acd0
push ecx
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xa8]
push eax
movzx eax, byte [ebx + 8]
push eax
movzx eax, byte [ecx + 0x54]
push eax
call fcn.0043ffa0
mov edi, dword [esp + 0xb4]
add esp, 0x10
test edi, edi
je 0x48accc
movzx ecx, word [edi + 0x10]
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x503fc0]
mov dword [esp + 0x38], eax
test ecx, 0x9000
jne 0x48acbb
cmp dword [edi + 0x18], 0
je 0x48acc2
mov ecx, edi
call fcn.0043f120
mov ecx, dword [edi + 0x14]
mov edx, edi
call fcn.00418b80
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x84]
test byte [edi + 0x1c], 0x80
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2c], eax
je 0x48ad3c
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x48ad00
nop dword [eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x48ad00
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48acf0
movzx edi, word [ecx + 0x34]
xor edx, edx
test edi, edi
je 0x48ad24
mov eax, dword [esp + 0x84]
movzx ebx, ax
mov eax, dword [ecx + 4]
cmp bx, word [eax]
je 0x48ad30
inc edx
add eax, 2
cmp edx, edi
jl 0x48ad17
mov ebx, dword [esp + 0x88]
or eax, 0xffffffff
jmp 0x48ad45
mov ebx, dword [esp + 0x88]
movzx eax, dx
jmp 0x48ad45
mov edx, ecx
mov ecx, edi
call fcn.0046cd90
mov ecx, dword [esp + 0x2c]
movsx edx, ax
mov edi, dword [esp + 0x18]
mov dword [esp + 0x40], edx
mov eax, dword [edi + 0x38]
dec eax
mov dword [esp + 0x90], eax
dec eax
mov dword [edi + 0x38], eax
test byte [ebx + 4], 0xf
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
je 0x48af53
mov esi, dword [esp + 0x30]
mov ebx, dword [edi]
cmp dword [esi], ebx
mov esi, dword [esp + 0x4c]
jg 0x48ad99
push edx
push eax
push ecx
mov edx, 0x12
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov ebx, eax
jmp 0x48adcb
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x48]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x48ade6
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
mov edx, dword [esp + 0x38]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [edi]
test eax, eax
jle 0x48adfc
lea ecx, [eax + eax*4]
mov edx, 0xf
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edi, dword [esp + 0x88]
mov eax, dword [esp + 0x74]
push dword [edi]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.0041b790
mov ecx, dword [esp + 0x2c]
mov edi, eax
mov eax, dword [esp + 0x40]
add esp, 0x10
mov edx, dword [ecx]
cmp dword [eax], edx
jg 0x48ae45
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48ae7b
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x48ae93
push edi
mov edx, 0xfffffffa
call fcn.00441340
add esp, 4
jmp 0x48aeca
test edx, edx
jns 0x48ae9e
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x48aebf
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.004414b0
add esp, 8
jmp 0x48aeca
test edi, edi
je 0x48aeca
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x1c]
test eax, eax
je 0x48af94
mov eax, dword [esp + 0x30]
mov ecx, dword [edi]
mov edx, dword [esp + 0x90]
cmp dword [eax], ecx
jg 0x48af01
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48af2f
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x48af40
mov eax, 0x514d18
jmp 0x48af49
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x88]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x7c], 0
je 0x48b101
test eax, eax
je 0x48b54c
mov eax, dword [esp + 0x30]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x48af9d
mov ebx, dword [esp + 0x40]
mov edx, 0x12
push ebx
push dword [esp + 0x4c]
mov ecx, esi
push dword [esp + 0x34]
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48afcf
mov ebx, dword [esp + 0x88]
jmp 0x48af57
mov ebx, dword [esp + 0x2c]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x40]
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x48afea
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x38]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x88]
mov ecx, dword [ebx]
test ecx, ecx
jle 0x48b016
mov eax, dword [edi + 4]
lea ecx, [ecx + ecx*4]
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x50060f]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x84]
add ecx, ecx
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
mov eax, dword [edi + 4]
push dword [edx]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x512b3c]
push str.non__s_value_in__s._s
push dword [esp + 0x20]
call fcn.0041b790
mov edx, dword [ebx]
mov edi, eax
mov eax, dword [esp + 0x44]
add esp, 0x14
cmp dword [eax], edx
jg 0x48b071
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48b0a7
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x48b0c2
push edi
mov edx, 0xfffffffa
call fcn.00441340
add esp, 4
jmp 0x48b554
test edx, edx
jns 0x48b0c9
mov edx, dword [ebx]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x48b0ed
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.004414b0
add esp, 8
jmp 0x48b554
test edi, edi
je 0x48b554
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
jmp 0x48b554
cmp byte [ebx + 8], 0x42
mov edi, esi
jne 0x48b285
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov edx, dword [ecx]
cmp dword [eax], edx
jg 0x48b13b
mov ebx, dword [esp + 0x40]
mov edx, 0x12
push ebx
push dword [esp + 0x4c]
mov ecx, esi
push dword [esp + 0x34]
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48b16d
mov ebx, dword [esp + 0x2c]
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x40]
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x48b188
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x38]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jle 0x48b1a2
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x84]
add ecx, ecx
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
push dword [edx]
push str.NUMERIC_value_in__s._s
push dword [esp + 0x1c]
call fcn.0041b790
mov edx, dword [ebx]
mov edi, eax
mov eax, dword [esp + 0x40]
add esp, 0x10
cmp dword [eax], edx
jg 0x48b1ed
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48b223
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x48b242
push edi
mov edx, 0xfffffffa
call fcn.00441340
add esp, 4
mov dword [esp + 0x4c], esi
jmp 0x48b554
test edx, edx
jns 0x48b249
mov edx, dword [ebx]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x48b271
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.004414b0
add esp, 8
mov dword [esp + 0x4c], esi
jmp 0x48b554
test edi, edi
je 0x48b27c
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov dword [esp + 0x4c], esi
jmp 0x48b554
cmp byte [ebx + 8], 0x43
mov esi, edi
mov dword [esp + 0x4c], esi
jl 0x48b550
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov edx, dword [esi]
cmp dword [eax], edx
jg 0x48b2c4
mov ebx, dword [esp + 0x40]
mov edx, 0x12
push ebx
push dword [esp + 0x4c]
mov ebx, dword [esp + 0x34]
mov ecx, edi
push ebx
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48b2fa
mov ebx, dword [esp + 0x2c]
lea eax, [edx + 1]
mov dword [esi], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x40]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x48b315
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x38]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esi]
test eax, eax
jle 0x48b32b
lea ecx, [eax + eax*4]
mov edx, 0x1b
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
test ebx, ebx
js 0x48b34a
mov edx, dword [esp + 0x74]
mov ecx, edi
push 3
push dword [esp + 0x88]
push dword [esp + 0x60]
call fcn.0045e220
add esp, 0xc
mov ebx, dword [esp + 0x30]
mov edx, dword [esi]
cmp dword [ebx], edx
jg 0x48b36d
push 0
push 1
push 3
mov edx, 0x60
mov ecx, edi
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48b3a3
mov ebx, dword [esp + 0x30]
lea eax, [edx + 1]
mov dword [esi], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x48b3bd
push 0x50a6a4
or edx, 0xffffffff
call fcn.00441340
add esp, 4
jmp 0x48b3f4
test edx, edx
jns 0x48b3c4
mov edx, dword [esi]
dec edx
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x48b3e9
push 0xffffffffffffffff
push 0x50a6a4
mov edx, eax
mov ecx, edi
call fcn.004414b0
add esp, 8
jmp 0x48b3f4
mov dword [eax + 0x10], 0x50a6a4
mov byte [eax + 1], 0xff
mov edx, dword [esi]
cmp dword [ebx], edx
jg 0x48b415
push 3
push dword [esp + 0x4c]
mov edx, 0x12
mov ecx, edi
push 0xffffffffffffffff
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48b447
mov ebx, dword [esp + 0x48]
lea eax, [edx + 1]
mov dword [esi], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], 0xffffffff
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x48b462
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x38]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esi]
test eax, eax
jle 0x48b478
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x84]
add ecx, ecx
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
push dword [edx]
push str.TEXT_value_in__s._s
push dword [esp + 0x1c]
call fcn.0041b790
mov edx, dword [esi]
mov ebx, eax
mov eax, dword [esp + 0x40]
add esp, 0x10
cmp dword [eax], edx
jg 0x48b4c3
push 0
push 3
push 0
mov edx, 0x75
mov ecx, edi
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48b4f9
lea eax, [edx + 1]
mov dword [esi], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x48b511
push ebx
mov edx, 0xfffffffa
call fcn.00441340
add esp, 4
jmp 0x48b54a
test edx, edx
jns 0x48b518
mov edx, dword [esi]
dec edx
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x48b539
push 0xfffffffffffffffa
push ebx
mov edx, eax
mov ecx, edi
call fcn.004414b0
add esp, 8
jmp 0x48b54a
mov esi, edi
mov dword [esp + 0x4c], esi
test ebx, ebx
je 0x48b550
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xfa
mov esi, edi
mov dword [esp + 0x4c], esi
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x90]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x48b575
push edx
mov edx, esi
call fcn.00441050
add esp, 4
jmp 0x48b57d
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
mov ecx, esi
call fcn.00486fe0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x48]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x48b5a2
push edx
mov edx, esi
call fcn.00441050
add esp, 4
jmp 0x48b5aa
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
movsx eax, word [edi + 0x22]
inc ecx
add dword [esp + 0x54], 0x10
cmp ecx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x84], ecx
jl 0x48abb0
mov edx, dword [edi + 0x10]
test edx, edx
je 0x48b7c4
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x48b7c4
push eax
mov ecx, ebx
call fcn.00459e70
add esp, 4
mov edx, eax
cmp byte [ebx + 0x57], 0
mov dword [esp + 0x54], edx
jne 0x48b7b9
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ebx, dword [eax + 0x38]
dec ebx
mov dword [esp + 0x7c], ebx
lea eax, [ebx - 1]
mov dword [ecx + 0x38], eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x58]
inc eax
mov dword [ecx + 0x34], eax
mov edi, dword [edx]
dec edi
test edi, edi
jle 0x48b676
mov esi, dword [esp + 0x7c]
lea ebx, [edi*4 + 2]
add ebx, edi
lea ebx, [edx + ebx*4]
nop dword [eax]
push 0
push esi
push dword [ebx]
push ecx
call fcn.00461c00
mov ecx, dword [esp + 0x28]
lea ebx, [ebx - 0x14]
dec edi
add esp, 0x10
test edi, edi
jg 0x48b650
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x54]
push 0x10
push dword [esp + 0x94]
push dword [edx + 8]
push ecx
call fcn.004616a0
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x48b6a5
push ebx
mov edx, esi
call fcn.00441050
add esp, 4
jmp 0x48b6b1
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x74]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x18]
call fcn.0041b790
mov ebx, dword [esp + 0x28]
mov edi, eax
mov eax, dword [esp + 0x3c]
add esp, 0xc
mov edx, dword [ebx]
cmp dword [eax], edx
jg 0x48b6fc
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48b732
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x48b74a
push edi
mov edx, 0xfffffffa
call fcn.00441340
add esp, 4
jmp 0x48b77d
test edx, edx
jns 0x48b751
mov edx, dword [ebx]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x48b772
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.004414b0
add esp, 8
jmp 0x48b77d
test edi, edi
je 0x48b77d
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov ecx, esi
call fcn.00486fe0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x90]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x48b7a5
push edx
mov edx, esi
call fcn.00441050
add esp, 4
jmp 0x48b7ad
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x54]
test edx, edx
je 0x48b7c4
mov ecx, ebx
call fcn.0045ab70
cmp byte [esp + 0x73], 0x71
je 0x48bdcb
mov edi, dword [edi + 8]
mov dword [esp + 0x48], edi
test edi, edi
je 0x48bdcb
mov eax, dword [esp + 0x24]
mov ecx, 8
sub ecx, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x5c]
nop dword [eax]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
cmp ecx, edi
je 0x48bdb8
push dword [esp + 0x98]
lea ecx, [esp + 0x64]
mov edx, edi
push dword [esp + 0x98]
push ecx
push 0
push 0
push dword [esp + 0x6c]
mov ecx, eax
call fcn.00477cc0
mov edx, dword [esp + 0x50]
add esp, 0x18
add edx, dword [esp + 0x2c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x94], edi
mov ecx, dword [eax]
mov eax, dword [esp + 0x30]
cmp dword [eax], ecx
jg 0x48b86f
push 0
push 1
push edx
mov edx, 0x56
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48b8a5
mov edi, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x48]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
movzx edx, word [edi + 0x34]
mov dword [esp + 0x54], edx
mov edi, dword [ecx]
cmp dword [eax], edi
jg 0x48b8da
push dword [esp + 0x98]
mov edx, 0x1d
mov ecx, esi
push ebx
push dword [esp + 0x34]
call fcn.00440850
add esp, 0xc
mov edi, eax
jmp 0x48b90b
mov edx, dword [esp + 0x2c]
lea eax, [edi + 1]
mov dword [ecx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x98]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esp + 0x54]
cmp byte [eax + 0x57], 0
jne 0x48b926
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
push str.row
mov edx, 3
mov ecx, esi
call fcn.00440900
mov ebx, dword [esp + 0x20]
add esp, 4
mov eax, dword [esp + 0x30]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x48b95f
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48b991
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push str._missing_from_index
mov edx, 4
mov ecx, esi
call fcn.00440900
mov eax, dword [esp + 0x34]
add esp, 4
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x48b9c6
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48b9f8
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x48]
mov edx, 4
mov ecx, esi
push dword [eax]
call fcn.00440900
mov ecx, dword [ebx]
add esp, 4
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x30]
cmp dword [eax], ecx
jg 0x48ba35
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48ba67
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.00486fe0
mov ecx, dword [esi]
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], ebx
cmp byte [ecx + 0x57], 0
mov edx, dword [eax]
je 0x48ba89
mov ecx, 0x514d18
jmp 0x48ba92
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x48]
mov dword [ecx + 8], edx
cmp byte [eax + 0x36], 0
je 0x48bd5b
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x54], edx
dec dword [ecx + 0x38]
mov ebx, dword [ecx + 0x38]
xor ecx, ecx
mov dword [esp + 0x7c], ebx
cmp cx, word [eax + 0x32]
jae 0x48bb6f
mov edi, dword [esp + 0x98]
xor ebx, ebx
jmp 0x48bad4
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
movsx ecx, word [ebx + eax]
test ecx, ecx
js 0x48baef
mov eax, dword [esp + 0x74]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x48bb52
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x30]
cmp dword [eax], ecx
jg 0x48bb18
push 0
push dword [esp + 0x80]
mov edx, 0x32
mov ecx, esi
push edi
call fcn.00440850
add esp, 0xc
jmp 0x48bb4e
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx], eax
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x7c]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x48]
inc edx
inc edi
mov dword [esp + 0x54], edx
add ebx, 2
movzx eax, word [eax + 0x32]
cmp edx, eax
jl 0x48bad0
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov edi, dword [edx]
cmp dword [eax], edi
jg 0x48bb9c
push 0
push 0
push dword [esp + 0x34]
mov edx, 0x27
mov ecx, esi
call fcn.00440850
mov edx, dword [esp + 0x28]
add esp, 0xc
mov edi, eax
jmp 0x48bbd2
lea eax, [edi + 1]
mov dword [edx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x48bbf2
push 0
push ebx
push 0
mov edx, 9
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48bc20
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esp + 0x1c]
cmp byte [eax + 0x57], 0
mov edx, dword [edx]
je 0x48bc35
mov eax, 0x514d18
jmp 0x48bc3e
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x1c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x48]
mov edx, dword [ecx]
movzx edi, word [eax + 0x32]
mov eax, dword [esp + 0x30]
cmp dword [eax], edx
jg 0x48bc76
push dword [esp + 0x98]
mov edx, 0x29
mov ecx, esi
push ebx
push dword [esp + 0x34]
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48bcab
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0x29
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x98]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x48bcc2
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
push str.non_unique_entry_in_index
mov edx, 3
mov ecx, esi
call fcn.00440900
mov edi, dword [esp + 0x20]
add esp, 4
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x90]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x48bd01
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48bd2f
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x48bd4d
push ebx
mov edx, esi
call fcn.00441050
mov ebx, dword [esp + 0x54]
add esp, 4
jmp 0x48bd5f
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebx*4], eax
mov ebx, dword [esp + 0x50]
jmp 0x48bd5f
mov edi, dword [esp + 0x1c]
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x48bd70
mov eax, 0x514d18
jmp 0x48bd79
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x60]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x18]
test edi, edi
je 0x48bdb0
mov edx, dword [eax + 8]
not edi
mov ecx, dword [edx + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x48bda3
push edi
call fcn.00441050
add esp, 4
jmp 0x48bdac
mov ecx, dword [ecx + 0x40]
mov eax, dword [edx + 0x6c]
mov dword [ecx + edi*4], eax
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
mov edi, dword [edi + 0x14]
inc dword [esp + 0x2c]
mov dword [esp + 0x48], edi
test edi, edi
jne 0x48b800
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x80]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x48bdf8
push 0
push ebx
push dword [esp + 0x60]
mov edx, 0x27
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48be26
mov edx, dword [esp + 0x58]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x48be37
mov eax, 0x514d20
jmp 0x48be43
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
cmp byte [esp + 0x73], 0x71
mov dword [eax], edx
je 0x48c049
push str.wrong__of_entries_in_index
mov edx, 2
mov ecx, esi
call fcn.00440900
mov eax, dword [esp + 0x78]
add esp, 4
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x48c001
mov ecx, dword [esp + 0x5c]
mov eax, 8
mov dword [esp + 0x50], eax
cmp ecx, ebx
je 0x48bff1
mov edx, dword [esp + 0x24]
mov ecx, dword [edi]
add edx, 0xfffffff8
add edx, eax
mov eax, dword [esp + 0x30]
cmp dword [eax], ecx
jg 0x48beb1
push 0
push 3
push edx
mov edx, 0x62
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48bee3
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x62
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x30]
mov edi, dword [edi]
mov edx, dword [esp + 0x50]
cmp dword [eax], edi
jg 0x48bf09
push 3
push 0
push edx
mov edx, 0x35
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov edi, eax
jmp 0x48bf3b
mov ecx, dword [esp + 0x1c]
lea eax, [edi + 1]
mov dword [ecx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
jle 0x48bf55
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
push dword [ebx]
mov edx, 4
mov ecx, esi
call fcn.00440900
mov edx, dword [esp + 0x20]
add esp, 4
mov eax, dword [esp + 0x30]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x48bf8b
push 3
push 2
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48bfbd
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.00486fe0
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x48bfd9
mov eax, 0x514d18
jmp 0x48bfe2
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x50]
mov ebx, dword [ebx + 0x14]
inc eax
mov dword [esp + 0x50], eax
test ebx, ebx
jne 0x48be80
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x48c049
movzx eax, word [eax + 0x32]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
cmp eax, 1
jne 0x48c038
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x48c051
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x48c051
movzx eax, al
mov dword [edi + eax*4 + 0x9c], ecx
inc byte [edi + 0x13]
jmp 0x48c051
cmp eax, dword [edi + 0x1c]
jle 0x48c051
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x44]
mov dword [edi + 0x20], eax
jmp 0x48c051
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x48a5e0
jmp 0x48a55d
test ecx, ecx
jne 0x48c10a
mov ebx, dword [esp + 0x18]
mov ecx, ebx
call fcn.0048e1c0
test eax, eax
jne 0x48ccd3
mov eax, dword [ebx]
movzx eax, byte [eax + 0x54]
mov eax, dword [eax*8 + 0x501608]
test eax, eax
je 0x48ccd3
push eax
mov edx, 1
mov ecx, esi
call fcn.00440900
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x48c0ce
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00440850
mov edx, dword [esp + 0x48]
add esp, 0xc
jmp 0x48ccea
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48ccea
mov edx, dword [esp + 0x10]
test byte [edx + 0x18], 0x40
jne 0x48ccd3
mov edi, dword [str.UTF8]
mov ebx, 0x501608
test edi, edi
je 0x48c19e
mov edx, ecx
sub edi, ecx
nop dword [eax + eax]
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x48c1d2
test eax, eax
jne 0x48c1e4
mov cl, byte [ebx + 4]
mov edx, 2
movzx eax, cl
test cl, cl
mov ecx, dword [esp + 0x10]
cmovne edx, eax
mov dword [esp + 0x60], edx
push 0
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
mov byte [ecx + 0x54], dl
add ecx, 0x1b0
mov edx, 0x500b60
call fcn.0041e0a0
add esp, 4
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x48c197
mov eax, dword [esp + 0x60]
movzx eax, al
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
add ecx, 0xffffffec
mov edx, dword [esp + 0x10]
mov dword [edx + 8], ecx
cmp dword [ebx], 0
jne 0x48ccd3
push dword [esp + 0x14]
push str.unsupported_encoding:__s
push dword [esp + 0x20]
call fcn.0041c910
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, dword [esp + 0x3c]
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
movzx ecx, byte [eax + 0x501178]
movzx eax, byte [esi + 0x501178]
sub ecx, eax
jne 0x48c1ea
inc edx
jmp 0x48c130
mov edi, dword [ebx + 8]
add ebx, 8
test edi, edi
je 0x48c1a7
mov ecx, dword [esp + 0x14]
jmp 0x48c127
mov eax, dword [esi + 0x9c]
mov edx, dword [esp + 0x34]
bts eax, edx
mov edi, dword [ebx + 8]
mov dword [esi + 0x9c], eax
cmp edx, 1
je 0x48c23b
mov eax, dword [esi]
mov ecx, edx
shl ecx, 4
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x48c23b
mov eax, dword [esi + 0xa0]
bts eax, edx
mov dword [esi + 0xa0], eax
cmp dword [esp + 0x14], 0
je 0x48c2d0
test byte [ebx + 5], 8
jne 0x48c2d0
push ecx
push 0x5000c8
mov edx, 2
mov ecx, esi
call fcn.00441230
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x2c]
mov esi, eax
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x3c]
add esp, 8
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edi
call fcn.0041d470
mov ecx, dword [esp + 0x24]
mov eax, 1
mov dword [esi + 0x20], ecx
mov word [esi + 0x16], ax
cmp edi, eax
jne 0x48ccd3
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x48ccd3
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
mov byte [esi + 0x14], 0xb8
call fcn.00418b80
mov ebx, dword [esp + 0x14]
jmp 0x48cce8
push ecx
push 0x5047d0
mov edx, 3
mov ecx, esi
call fcn.00441230
mov ecx, dword [esp + 0x3c]
add esp, 8
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov ecx, 1
mov dword [eax + 0x20], edi
mov edx, dword [esi + 0x6c]
cmp edx, ecx
jle 0x48ccd3
mov eax, dword [esi + 0x68]
add eax, 0x14
cmp byte [eax], 0xa6
je 0x48c31a
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x48c308
jmp 0x48ccd3
mov eax, dword [esi + 0x68]
mov byte [eax + 0x14], 0xb8
jmp 0x48ccd3
mov eax, dword [esp + 0x18]
xor edi, edi
mov dword [eax + 0x2c], 1
mov ecx, 1
cmp edi, 0x24
ja 0x48c3aa
mov eax, dword [edi*4 + 0x502b48]
inc edi
test eax, eax
je 0x48c3aa
mov edx, ecx
mov ecx, esi
push eax
call fcn.00440900
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x48c375
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48c333
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48c333
mov edx, dword [esi + 0x6c]
mov ecx, 1
cmp edx, ecx
jle 0x48ccd3
mov eax, dword [esi + 0x68]
add eax, 0x14
cmp byte [eax], 0xa6
je 0x48c31a
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x48c3c0
jmp 0x48ccd3
mov eax, dword [esp + 0x2c]
mov ebx, 0xc
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x34]
xor edx, edx
mov dword [esp + 0x28], ebx
test ecx, ecx
je 0x48c49f
mov ebx, str.full
mov edx, ecx
sub ebx, ecx
nop
movzx eax, byte [edx]
movzx edi, byte [edx + ebx]
cmp eax, edi
jne 0x48c417
test eax, eax
jne 0x48c429
lea edx, [eax + 1]
jmp 0x48c49b
movzx ecx, byte [eax + 0x501178]
movzx eax, byte [edi + 0x501178]
sub ecx, eax
jne 0x48c42c
inc edx
jmp 0x48c400
mov edx, dword [esp + 0x14]
mov ebx, str.restart
sub ebx, edx
movzx eax, byte [edx]
movzx edi, byte [edx + ebx]
cmp eax, edi
jne 0x48c44b
test eax, eax
jne 0x48c45d
lea edx, [eax + 2]
jmp 0x48c49b
movzx ecx, byte [eax + 0x501178]
movzx eax, byte [edi + 0x501178]
sub ecx, eax
jne 0x48c460
inc edx
jmp 0x48c437
mov edx, dword [esp + 0x14]
mov ebx, str.truncate
sub ebx, edx
nop dword [eax + eax]
movzx eax, byte [edx]
movzx edi, byte [edx + ebx]
cmp eax, edi
jne 0x48c484
test eax, eax
jne 0x48c496
lea edx, [eax + 3]
jmp 0x48c49b
movzx ecx, byte [eax + 0x501178]
movzx eax, byte [edi + 0x501178]
sub ecx, eax
jne 0x48c499
inc edx
jmp 0x48c470
xor edx, edx
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x2c], 3
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x48c4c7
push 1
push edx
push ebx
mov edx, 3
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48c4f2
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 3
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x48c503
push 0
push 3
jmp 0x487bca
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 3
jmp 0x487a87
test ecx, ecx
je 0x48c5ae
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
call fcn.0041d470
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov eax, dword [ecx + 0xc]
test edi, edi
jle 0x48c577
test eax, eax
je 0x48c565
push eax
call dword [0x511c68]
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x110], 0x4c87d0
mov dword [ecx + 0x114], edi
jmp 0x48c59d
test eax, eax
je 0x48c589
push eax
call dword [0x511c68]
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x110], 0
mov dword [ecx + 0x114], 0
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x48c5b2
push eax
call dword [0x511c70]
add esp, 4
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x110], 0x4c87d0
jne 0x48c5c9
mov eax, dword [ecx + 0x114]
jmp 0x48ccc6
xor eax, eax
jmp 0x48ccc6
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x48c5e9
push eax
call dword [0x511c68]
mov edx, dword [esp + 0x14]
add esp, 4
cmp byte [edx + 0x5f], 0
jne 0x48c5fa
mov ecx, edx
call fcn.0042fe40
mov edx, dword [esp + 0x10]
xor esi, esi
cmp dword [edx + 0x14], esi
jle 0x48c632
xor edi, edi
mov eax, dword [edx + 0x10]
mov eax, dword [eax + edi + 4]
test eax, eax
je 0x48c629
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xe4]
push dword [eax + 0x2c]
call dword [0x511cac]
mov edx, dword [esp + 0x14]
add esp, 4
inc esi
add edi, 0x10
cmp esi, dword [edx + 0x14]
jl 0x48c603
cmp byte [edx + 0x5f], 0
jne 0x48c643
mov ecx, edx
call fcn.0042fe90
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
jmp 0x487478
test ecx, ecx
je 0x48c673
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
call fcn.0041d470
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
test cl, 2
je 0x48ccd3
jmp 0x48c67b
mov dword [esp + 0x20], 0xfffe
cmp dword [esp + 0x44], 0
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x40], edx
lea eax, [edx + 1]
mov dword [ecx + 0x28], eax
mov ecx, dword [esp + 0x34]
je 0x48c6a2
mov eax, ecx
mov dword [esp + 0x80], eax
jmp 0x48c6b9
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x80], eax
cmp ecx, eax
jg 0x48c9f4
mov ebx, 1
mov edi, ecx
rol ebx, cl
shl edi, 4
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x54], edi
nop dword [eax]
cmp ecx, 1
je 0x48c9da
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x58]
test ebx, eax
jne 0x48c6f6
mov ebx, dword [esp + 0x34]
bts eax, ebx
mov dword [ecx + 0x58], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 0xc]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x38], ebx
test ebx, ebx
je 0x48c9cb
mov edi, dword [ebx + 8]
test dword [edi + 0x1c], 0x100
je 0x48c9b9
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [edi + 8]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x48c747
test byte [eax + 0x38], 0x80
je 0x48c7c8
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x48c736
test cx, cx
je 0x48c7c8
mov ecx, dword [esp + 0x18]
push 0x70
push edi
push dword [esp + 0x3c]
call fcn.0047f560
mov ebx, dword [esp + 0x2c]
add esp, 0xc
mov ecx, dword [esi + 0x6c]
and ebx, 1
mov eax, dword [esp + 0x60]
add ebx, 2
add ebx, ecx
movsx edx, ax
cmp dword [esi + 0x70], ecx
jg 0x48c795
push edx
push ebx
push dword [esp + 0x48]
mov edx, 0x21
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48c7c4
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
push dword [edi]
mov ecx, dword [esp + 0x58]
mov eax, dword [edx + 0x10]
push dword [eax + ecx]
push str.ANALYZE___w_.__w_
push edx
call fcn.0041b790
add esp, 0x10
mov edi, eax
test byte [esp + 0x20], 1
je 0x48c911
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x13]
test al, al
jne 0x48c806
inc dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x2c]
jmp 0x48c815
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov ebx, dword [ecx + eax*4 + 0x9c]
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x48c835
push 0
push ebx
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48c868
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x48c880
push edi
mov edx, 0xfffffffa
call fcn.00441340
add esp, 4
jmp 0x48c8b4
test edx, edx
jns 0x48c888
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x48c8a9
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.004414b0
add esp, 8
jmp 0x48c8b4
test edi, edi
je 0x48c8b4
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x48c8d9
push 0
push 1
push ebx
mov edx, 0x54
mov ecx, esi
call fcn.00440850
mov ebx, dword [esp + 0x44]
add esp, 0xc
jmp 0x48c9b5
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48c9b5
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x48c932
push 0
push 0
push 0
mov edx, 0x94
mov ecx, esi
call fcn.00440850
add esp, 0xc
mov edx, eax
jmp 0x48c969
mov ebx, dword [esp + 0x38]
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x94
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x48c981
push edi
mov edx, 0xfffffffa
call fcn.00441340
add esp, 4
jmp 0x48c9b5
test edx, edx
jns 0x48c989
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x48c9aa
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.004414b0
add esp, 8
jmp 0x48c9b5
test edi, edi
je 0x48c9b5
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov edx, dword [esp + 0x40]
mov ebx, dword [ebx]
mov dword [esp + 0x38], ebx
test ebx, ebx
jne 0x48c710
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
inc ecx
rol ebx, 1
add edi, 0x10
mov dword [esp + 0x34], ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0x7c], ebx
cmp ecx, eax
jle 0x48c6d0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x48ca16
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.00440850
add esp, 0xc
jmp 0x48ccd3
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
jmp 0x487a87
test ecx, ecx
je 0x48ca5f
lea edx, [esp + 0x60]
call fcn.0041d360
test eax, eax
jne 0x48ca5f
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00418630
add esp, 8
call fcn.004c6550
test eax, eax
je 0x48ca74
or edi, 0xffffffff
or ebx, edi
push ebx
push edi
jmp 0x48ccc9
mov eax, dword [0x514e38]
test eax, eax
je 0x48ca8c
push eax
call dword [0x511c68]
mov eax, dword [0x514e38]
add esp, 4
mov edi, dword [0x514e40]
mov ebx, dword [0x514e44]
test eax, eax
je 0x48caa6
push eax
call dword [0x511c70]
add esp, 4
push ebx
push edi
jmp 0x48ccc9
test ecx, ecx
je 0x48cb30
lea edx, [esp + 0x60]
call fcn.0041d360
test eax, eax
jne 0x48cb30
call fcn.004c6550
test eax, eax
je 0x48cad2
or ebx, 0xffffffff
or edi, ebx
jmp 0x48cb04
mov eax, dword [0x514e38]
test eax, eax
je 0x48caea
push eax
call dword [0x511c68]
mov eax, dword [0x514e38]
add esp, 4
mov ebx, dword [0x514e48]
mov edi, dword [0x514e4c]
test eax, eax
je 0x48cb04
push eax
call dword [0x511c70]
add esp, 4
mov edx, dword [esp + 0x64]
test edx, edx
jl 0x48cb30
mov ecx, dword [esp + 0x60]
jg 0x48cb16
test ecx, ecx
je 0x48cb30
mov eax, ebx
or eax, edi
je 0x48cb26
cmp edi, edx
jl 0x48cb30
jg 0x48cb26
cmp ebx, ecx
jbe 0x48cb30
push edx
push ecx
call fcn.00418770
add esp, 8
call fcn.004c6550
test eax, eax
je 0x48cb45
or edi, 0xffffffff
or ebx, edi
push ebx
push edi
jmp 0x48ccc9
mov eax, dword [0x514e38]
test eax, eax
je 0x48cb5d
push eax
call dword [0x511c68]
mov eax, dword [0x514e38]
add esp, 4
mov edi, dword [0x514e48]
mov ebx, dword [0x514e4c]
jmp 0x48ca98
test ecx, ecx
je 0x48cba8
lea edx, [esp + 0x60]
call fcn.0041d360
test eax, eax
jne 0x48cba8
cmp dword [esp + 0x64], eax
jl 0x48cba8
mov eax, dword [esp + 0x60]
jg 0x48cb8f
test eax, eax
jb 0x48cba8
mov ecx, 8
and eax, 0x7fffffff
cmp eax, ecx
cmova eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa4], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
jmp 0x48ccc6
test ecx, ecx
je 0x48cbe7
lea edx, [esp + 0x60]
call fcn.0041d360
test eax, eax
jne 0x48cbe7
cmp dword [esp + 0x64], eax
jl 0x48cbe7
mov eax, dword [esp + 0x60]
jg 0x48cbd8
test eax, eax
jb 0x48cbe7
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1f0], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f0]
jmp 0x48ccc6
test ecx, ecx
je 0x48ccbc
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
call fcn.0041d470
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov eax, dword [ecx + 0xc]
test edi, edi
jle 0x48cc71
test eax, eax
je 0x48cc30
push eax
call dword [0x511c68]
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x1c0], 0x4c7d30
mov dword [ecx + 0x1c4], ecx
mov dword [ecx + 0x1c8], 0
mov dword [ecx + 0x1f4], 0
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x48cc69
push eax
call dword [0x511c70]
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x1f4], edi
jmp 0x48ccc0
test eax, eax
je 0x48cc83
push eax
call dword [0x511c68]
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x1c0], 0
mov dword [ecx + 0x1c4], 0
mov dword [ecx + 0x1c8], 0
mov dword [ecx + 0x1f4], 0
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x48ccc0
push eax
call dword [0x511c70]
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x1f4]
cdq
push edx
push eax
mov ecx, esi
call fcn.00486da0
add esp, 8
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
call fcn.00418b80
test ebx, ebx
je 0x48ccf3
mov edx, ebx
mov ecx, dword [esp + 0x10]
call fcn.00418b80
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004d2eed
mov esp, ebp
pop ebp
ret