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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xdc
mov eax, dword [0x5da084]
xor eax, esp
mov dword [esp + 0xd8], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ecx + 8]
mov dword [esp + 0x34], eax
mov eax, dword [ecx]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x4c], esi
push edi
test esi, esi
je 0x4a639a
mov dword [esp + 0x7c], esi
jmp 0x4a63c1
cmp dword [ecx + 0x78], 0
jne 0x4a63aa
test byte [eax + 0x50], 8
jne 0x4a63aa
mov byte [ecx + 0x17], 1
call fcn.004606d0
mov esi, eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x7c], esi
test esi, esi
je 0x4a6d15
mov ecx, dword [esi + 0x6c]
lea edi, [esi + 0x6c]
lea eax, [esi + 0x70]
mov dword [esp + 0x70], edi
mov dword [esp + 0x1c], eax
cmp dword [eax], ecx
jg 0x4a63ed
push 0
push 1
push 1
mov edx, 0xa6
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4a641f
lea eax, [ecx + 1]
mov dword [edi], 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 + 0x24]
mov edx, dword [esp + 0x28]
lea ecx, [eax + 0x2c]
mov dword [esp + 0x64], ecx
mov dword [ecx], 2
lea ecx, [esp + 0x60]
push ecx
push ebx
mov ecx, eax
call fcn.0048c260
mov ebx, eax
add esp, 8
mov dword [esp + 0x40], ebx
test ebx, ebx
js 0x4a6d15
mov edx, dword [esp + 0x10]
mov ecx, ebx
shl ecx, 4
mov dword [esp + 0x58], ecx
mov eax, dword [edx + 0x10]
add eax, ecx
mov dword [esp + 0x4c], eax
cmp ebx, 1
jne 0x4a6482
mov ecx, dword [esp + 0x24]
call fcn.00493f70
test eax, eax
jne 0x4a6d15
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4a6d15
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
test eax, eax
je 0x4a64d3
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, edx
call fcn.0043b7c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4a64d5
push dword [esp + 0x20]
push dword [esp + 0x2c]
push ebx
call fcn.00570750
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov byte [ebx + eax], 0
jmp 0x4a64d5
xor ebx, ebx
mov ecx, ebx
call fcn.0043f090
test ebx, ebx
je 0x4a6d15
cmp dword [ebp + 0x10], 0
je 0x4a6503
push dword [esp + 0x38]
push 0x5c6138
push dword [esp + 0x18]
call fcn.0043e040
add esp, 0xc
mov ecx, eax
jmp 0x4a6578
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4a6576
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
test eax, eax
je 0x4a6563
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0043b7c0
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4a6569
push dword [esp + 0x20]
push dword [esp + 0x2c]
push eax
call fcn.00570750
mov ecx, dword [esp + 0x38]
add esp, 0xc
mov eax, dword [esp + 0x20]
mov byte [eax + ecx], 0
mov eax, ecx
call fcn.0043f090
mov ecx, dword [esp + 0x2c]
jmp 0x4a657c
xor eax, eax
mov dword [esp + 0x2c], eax
mov ecx, eax
call fcn.0043f090
mov ecx, dword [esp + 0x2c]
jmp 0x4a657c
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x3c]
cmp dword [eax + 4], 0
jbe 0x4a658e
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
jmp 0x4a6590
xor eax, eax
push eax
push ecx
mov ecx, dword [esp + 0x2c]
mov edx, 0x13
push ebx
mov dword [esp + 0x50], eax
mov dword [esp + 0x20], ebx
call fcn.0048a7e0
add esp, 0xc
test eax, eax
jne 0x4a6cf5
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xe0], 0
mov dword [esp + 0x18], 1
mov dword [eax + 0x1c8], 0
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4a65ff
push eax
call dword [0x5dac80]
add esp, 4
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
call fcn.004ea290
mov ecx, eax
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x4a668e
cmp byte [ecx + 9], 0
je 0x4a662e
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x4a662e
call fcn.00450c80
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x10]
mov eax, dword [eax]
mov edx, dword [edx + 0x1c8]
mov dword [esp + 0x28], edx
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
test edx, edx
jne 0x4a6654
mov dword [esp + 0x18], 0xc
jmp 0x4a666f
lea ecx, [esp + 0xd4]
push ecx
push 0xe
push eax
mov eax, dword [edx + 0x28]
call eax
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov dword [edx + 0x1c8], eax
cmp byte [ecx + 9], 0
je 0x4a668e
add dword [ecx + 0xc], 0xffffffff
jne 0x4a668e
call fcn.00450c60
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4a66a3
push eax
call dword [0x5dac88]
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4a67d7
lea edx, [eax + 1]
mov ecx, esi
call fcn.00462aa0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x4a66db
mov edx, dword [esp + 0xd4]
mov ecx, dword [esi + 0x74]
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0045fb80
add esp, 0x10
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x18], eax
test eax, eax
je 0x4a67d0
push 0
push eax
push 0
push 1
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460bd0
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a6727
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4a6759
lea eax, [ecx + 1]
mov dword [edi], 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
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x18], eax
test eax, eax
je 0x4a67d0
cmp dword [0x5dac30], 0
je 0x4a67c6
mov ecx, dword [0x5dfe08]
test ecx, ecx
je 0x4a6789
push ecx
call dword [0x5dac80]
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
call dword [0x5dac5c]
sub dword [0x5dfca8], eax
add esp, 4
dec dword [0x5dfccc]
push dword [esp + 0x18]
call dword [0x5dac54]
mov eax, dword [0x5dfe08]
add esp, 4
test eax, eax
je 0x4a67d0
push eax
call dword [0x5dac88]
add esp, 4
mov edx, ebx
jmp 0x4a6cf9
push eax
call dword [0x5dac54]
add esp, 4
mov edx, ebx
jmp 0x4a6cf9
cmp eax, 0xc
je 0x4a6875
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x4a6860
push eax
push 0x5bc734
push dword [esp + 0x2c]
call fcn.0043f000
mov esi, dword [esp + 0xe0]
add esp, 0xc
test esi, esi
je 0x4a6860
cmp dword [0x5dac30], 0
je 0x4a6856
mov eax, dword [0x5dfe08]
test eax, eax
je 0x4a6824
push eax
call dword [0x5dac80]
add esp, 4
push esi
call dword [0x5dac5c]
sub dword [0x5dfca8], eax
add esp, 4
dec dword [0x5dfccc]
push esi
call dword [0x5dac54]
mov eax, dword [0x5dfe08]
add esp, 4
test eax, eax
je 0x4a6860
push eax
call dword [0x5dac88]
jmp 0x4a685d
push esi
call dword [0x5dac54]
add esp, 4
mov eax, dword [esp + 0x24]
mov edx, ebx
mov esi, dword [esp + 0x18]
inc dword [eax + 0x24]
mov dword [eax + 0xc], esi
jmp 0x4a6cf9
mov ecx, ebx
call fcn.004a6110
mov ecx, eax
mov edx, ebx
mov dword [esp + 0x48], ecx
test ecx, ecx
je 0x4a6cf9
test byte [ecx + 5], 1
je 0x4a68ab
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x14], ebx
call fcn.004ad850
test eax, eax
jne 0x4a6cf5
mov ecx, dword [esp + 0x48]
mov al, byte [ecx + 5]
test al, 2
jne 0x4a68cb
test al, 4
je 0x4a68be
mov edx, dword [esp + 0x2c]
test edx, edx
jne 0x4a68cf
mov edx, ecx
mov ecx, esi
call fcn.004a6020
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
movzx eax, byte [ecx + 4]
dec eax
cmp eax, 0x2a
ja case.0x4a68dd.5
jmp dword [eax*4 + 0x4ac3ac]
mov eax, dword [esi + 0x9c]
mov ecx, dword [esp + 0x40]
bts eax, ecx
mov dword [esi + 0x9c], eax
cmp ecx, 1
je 0x4a691e
mov eax, dword [esi]
mov edx, dword [esp + 0x58]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x4a691e
mov eax, dword [esi + 0xa0]
bts eax, ecx
mov dword [esi + 0xa0], eax
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4a695a
mov eax, dword [esp + 0x64]
mov edx, 9
push ecx
push 0x5b0e8c
mov ecx, esi
add dword [eax], 2
call fcn.00461190
mov ecx, dword [esp + 0x48]
add esp, 8
mov edx, ebx
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x4a6cf9
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
mov ecx, eax
call fcn.0043fb80
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
test edx, edx
jns 0x4a6991
cmp edx, 0x80000000
jne 0x4a698b
mov dword [esp + 0x18], 0x7fffffff
jmp 0x4a6991
neg edx
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x24], ecx
mov edx, dword [ecx + 0x58]
mov ecx, dword [esp + 0x40]
shl eax, cl
mov ecx, dword [esp + 0x24]
test edx, eax
jne 0x4a69cf
mov eax, dword [esp + 0x40]
bts edx, eax
mov dword [ecx + 0x58], edx
cmp eax, 1
jne 0x4a69cf
call fcn.00493f70
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x54]
mov edx, dword [esp + 0x40]
bts eax, edx
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a69ff
mov edi, dword [esp + 0x18]
mov ecx, esi
push edi
push 3
push edx
mov edx, 0x64
call fcn.00460920
add esp, 0xc
jmp 0x4a6a2d
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x18]
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], edi
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x50], edi
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
mov edx, dword [edx + 0x50]
call fcn.00453760
mov edx, ebx
jmp 0x4a6cf9
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
test edx, edx
jne 0x4a6af8
test eax, eax
je 0x4a6a6b
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x24]
jmp 0x4a6a6d
xor eax, eax
cdq
mov dword [esp + 0xc4], edx
push 0xfffffffffffffff3
mov dword [esp + 0xc4], eax
mov edx, 0x48
lea eax, [esp + 0xc4]
push eax
push ecx
push 1
push ecx
mov ecx, esi
call fcn.00460d70
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a6abf
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov edx, ebx
jmp 0x4a6cf9
lea eax, [ecx + 1]
mov edx, ebx
mov dword [edi], 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 0x4a6cf9
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
call fcn.0043fb80
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
push 0
push 0
mov dword [esi + 0x64], edx
call fcn.004539c0
add esp, 8
cmp eax, 7
jne 0x4a67d0
mov ecx, esi
call fcn.0043ba90
mov edx, ebx
jmp 0x4a6cf9
mov eax, dword [esp + 0x4c]
or ecx, 0xffffffff
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
test edx, edx
je 0x4a6b8a
mov ecx, dword [esp + 0x2c]
mov edx, str.fast
call fcn.0043f1a0
test eax, eax
jne 0x4a6b6c
lea ecx, [eax + 2]
jmp 0x4a6b86
mov ecx, dword [esp + 0x2c]
mov edx, 1
push 0
call fcn.004a5f30
xor ecx, ecx
add esp, 4
test al, al
setne cl
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], ebx
cmp dword [eax + 4], 0
jne 0x4a6c3f
mov dword [esp + 0x14], ebx
test ecx, ecx
js 0x4a6c3f
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
cmp dword [eax + 0x14], 0
jle 0x4a6c3f
mov esi, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x30], edx
xor edi, edi
mov dword [esp + 0x14], ebx
nop word [eax + eax]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + edx + 4]
test ebx, ebx
je 0x4a6c26
cmp byte [ebx + 9], 0
je 0x4a6bf5
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x4a6bf5
mov ecx, ebx
call fcn.00450c80
mov edx, dword [esp + 0x30]
mov eax, dword [ebx + 4]
mov ecx, 0xfff3
and word [eax + 0x18], cx
lea eax, [esi*4]
mov ecx, dword [ebx + 4]
or word [ecx + 0x18], ax
cmp byte [ebx + 9], 0
je 0x4a6c26
add dword [ebx + 0xc], 0xffffffff
jne 0x4a6c26
mov ecx, ebx
call fcn.00450c60
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
inc edi
add edx, 0x10
mov dword [esp + 0x30], edx
cmp edi, dword [eax + 0x14]
jl 0x4a6bd0
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x70]
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x4a6c4b
xor ebx, ebx
jmp 0x4a6ca7
cmp byte [edx + 9], 0
je 0x4a6c65
inc dword [edx + 0xc]
cmp byte [edx + 0xa], 0
jne 0x4a6c65
mov ecx, edx
call fcn.00450c80
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
test ebx, ebx
js 0x4a6c87
mov eax, dword [edx + 4]
mov ecx, 0xfff3
and word [eax + 0x18], cx
lea eax, [ebx*4]
mov ecx, dword [edx + 4]
or word [ecx + 0x18], ax
mov eax, dword [edx + 4]
movzx ebx, word [eax + 0x18]
shr ebx, 2
and ebx, 3
cmp byte [edx + 9], 0
je 0x4a6ca7
add dword [edx + 0xc], 0xffffffff
jne 0x4a6ca7
mov ecx, edx
call fcn.00450c60
mov dword [esp + 0xc0], ebx
lea eax, [esp + 0xc0]
mov dword [esp + 0xc4], 0
push 0xfffffffffffffff3
push eax
push ecx
push 1
push ecx
mov edx, 0x48
mov ecx, esi
call fcn.00460d70
add esp, 0x14
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a6d2a
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
call fcn.0043b330
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4a6d15
mov edx, eax
mov ecx, dword [esp + 0x10]
call fcn.0043b330
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0056eb71
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 1]
mov dword [edi], 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 0x4a6cf5
mov ecx, dword [esp + 0x24]
xorps xmm0, xmm0
movlpd qword [esp + 0xc0], xmm0
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x24], ecx
mov edx, dword [ecx + 0x58]
mov ecx, dword [esp + 0x40]
shl eax, cl
test edx, eax
jne 0x4a6da2
mov eax, dword [esp + 0x24]
bts edx, ecx
mov dword [eax + 0x58], edx
cmp ecx, 1
jne 0x4a6da2
mov ecx, eax
call fcn.00493f70
mov eax, dword [esp + 0x64]
inc dword [eax]
mov edx, dword [eax]
movzx eax, byte [ebx]
mov dword [esp + 0x18], edx
cmp byte [eax + 0x5b3648], 0x70
jne 0x4a6e03
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a6dd1
push 0
push edx
mov edx, 0xb1
jmp 0x4a6e79
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x70]
mov dword [eax + ecx*4 + 8], edx
lea edx, [esi + 0x68]
mov dword [eax + ecx*4], 0xb1
mov dword [eax + ecx*4 + 0xc], 0
jmp 0x4a6ec7
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4a6e52
lea edx, [esp + 0xc0]
mov ecx, eax
call fcn.0043fa70
test eax, eax
jne 0x4a6e52
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
test eax, eax
jg 0x4a6e40
jl 0x4a6e52
test edx, edx
jb 0x4a6e52
test eax, eax
jl 0x4a6e65
jg 0x4a6e40
cmp edx, 0xfffffffe
jbe 0x4a6e65
mov edx, 0xfffffffe
mov dword [esp + 0xc4], 0
jmp 0x4a6e65
xorps xmm0, xmm0
movlpd qword [esp + 0xc0], xmm0
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a6e93
push edx
push dword [esp + 0x1c]
mov edx, 0xb2
push dword [esp + 0x48]
mov ecx, esi
call fcn.00460920
mov edx, dword [esp + 0x88]
add esp, 0xc
add edx, 0x68
jmp 0x4a6ecf
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
lea eax, [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov eax, dword [eax]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x18]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x28]
mov dword [eax + ecx*4], 0xb2
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a6ee6
push 0
push 1
push dword [esp + 0x20]
jmp 0x4ac37e
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 8], 1
mov edx, ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4a6cf9
mov dword [esp + 0x14], ebx
test edx, edx
je 0x4a6fac
mov eax, dword [esp + 0x2c]
mov edx, str.exclusive
sub eax, edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x28], eax
nop dword [eax]
movzx eax, byte [edx + eax]
movzx ebx, byte [edx]
cmp eax, ebx
jne 0x4a6f54
test eax, eax
jne 0x4a6f66
lea ecx, [eax + 1]
jmp 0x4a6faf
movzx ecx, byte [eax + 0x5b3648]
movzx eax, byte [ebx + 0x5b3648]
sub ecx, eax
jne 0x4a6f6d
mov eax, dword [esp + 0x28]
inc edx
jmp 0x4a6f40
mov eax, dword [esp + 0x2c]
mov edx, str.normal
sub eax, edx
mov dword [esp + 0x28], eax
nop dword [eax]
movzx eax, byte [edx + eax]
movzx ebx, byte [edx]
cmp eax, ebx
jne 0x4a6f93
test eax, eax
jne 0x4a6fa5
xor ecx, ecx
jmp 0x4a6faf
movzx ecx, byte [eax + 0x5b3648]
movzx eax, byte [ebx + 0x5b3648]
sub ecx, eax
jne 0x4a6fac
mov eax, dword [esp + 0x28]
inc edx
jmp 0x4a6f80
or ecx, 0xffffffff
mov eax, dword [esp + 0x3c]
cmp dword [eax + 4], 0
jne 0x4a7025
mov eax, dword [esp + 0x10]
cmp ecx, 0xffffffff
jne 0x4a6fca
mov cl, byte [eax + 0x59]
jmp 0x4a7059
mov edx, 2
cmp dword [eax + 0x14], edx
jle 0x4a7022
mov ebx, 0x20
nop dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebx + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x4a7011
cmp byte [eax + 0xc], 0
jne 0x4a7011
mov edi, dword [eax + 0xe8]
test edi, edi
je 0x4a7006
cmp byte [edi + 0x2b], 2
je 0x4a7011
mov byte [eax + 4], cl
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
inc edx
add ebx, 0x10
cmp edx, dword [eax + 0x14]
jl 0x4a6fe0
mov edi, dword [esp + 0x70]
mov byte [eax + 0x59], cl
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x4a7056
cmp byte [eax + 0xc], 0
jne 0x4a7056
mov edx, dword [eax + 0xe8]
test edx, edx
je 0x4a704b
cmp byte [edx + 0x2b], 2
je 0x4a7056
mov byte [eax + 4], cl
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
mov cl, byte [eax + 4]
cmp cl, 1
mov edx, str.exclusive
push 0
mov eax, str.normal
mov ecx, esi
cmove eax, edx
mov edx, 0x75
push eax
push 0
push 1
push 0
call fcn.00460bd0
jmp 0x4a6cd3
test edx, edx
jne 0x4a714a
mov dword [esp + 0x14], ebx
or edx, 0xffffffff
mov dword [esp + 0x68], edx
mov eax, dword [esp + 0x3c]
cmp dword [eax + 4], 0
jne 0x4a70af
mov dword [esp + 0x40], 0
mov dword [eax + 4], 1
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x14]
sub ebx, 1
js 0x4a6cd6
mov ecx, ebx
shl ecx, 4
mov dword [esp + 0x30], ecx
nop dword [eax + eax]
mov eax, dword [eax + 0x10]
cmp dword [eax + ecx + 4], 0
je 0x4a724b
cmp ebx, dword [esp + 0x40]
je 0x4a70f2
mov eax, dword [esp + 0x3c]
cmp dword [eax + 4], 0
jne 0x4a724b
mov eax, dword [esi + 0x9c]
bts eax, ebx
mov dword [esi + 0x9c], eax
cmp ebx, 1
je 0x4a7124
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x4a7124
mov eax, dword [esi + 0xa0]
bts eax, ebx
mov dword [esi + 0xa0], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a7219
push edx
push 1
push ebx
mov edx, 4
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4a7247
mov ecx, edx
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a7150
sub ecx, edx
mov dword [esp + 0x14], ebx
and ecx, 0x3fffffff
xor eax, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x68], eax
cmp eax, 6
je 0x4a708f
mov ebx, dword [eax*4 + 0x5b2058]
test ebx, ebx
je 0x4a708f
mov eax, dword [esp + 0x2c]
mov edx, ecx
mov dword [esp + 0x30], eax
test ecx, ecx
je 0x4a71bc
mov al, byte [eax]
dec edx
test al, al
je 0x4a71bd
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x5b3648]
cmp al, byte [ecx + 0x5b3648]
jne 0x4a71bd
mov eax, dword [esp + 0x30]
inc ebx
inc eax
mov dword [esp + 0x30], eax
test edx, edx
jg 0x4a7193
dec edx
test edx, edx
js 0x4a71e8
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x5b3648]
mov eax, dword [esp + 0x30]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x5b3648]
sub eax, ecx
je 0x4a71e8
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x28]
inc eax
jmp 0x4a7169
mov edx, dword [esp + 0x68]
cmp edx, 2
jne 0x4a720b
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x4a70af
jmp 0x4a708f
cmp edx, 0xffffffff
jne 0x4a70af
jmp 0x4a7096
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4], 4
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x68]
sub ecx, 0x10
sub ebx, 1
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
jns 0x4a70d0
jmp 0x4a6cd6
mov eax, dword [esp + 0x4c]
or ecx, 0xffffffff
cmp dword [esp + 0x2c], 0
mov dword [esp + 0xc4], ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0x30], edx
mov dword [esp + 0xc0], eax
je 0x4a72d1
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0xc0]
call fcn.0043fa70
mov ecx, dword [esp + 0xc4]
cmp ecx, 0xffffffff
jg 0x4a72c6
jl 0x4a72bf
mov eax, dword [esp + 0xc0]
cmp eax, 0xffffffff
jae 0x4a72cd
or eax, 0xffffffff
or ecx, eax
jmp 0x4a72cd
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x30]
cmp ecx, 0xffffffff
jl 0x4a730b
jg 0x4a72dd
cmp eax, 0xffffffff
jb 0x4a730b
mov edi, dword [edx + 0xe8]
test edi, edi
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x70]
mov dword [edx + 0xb0], eax
mov dword [edx + 0xb4], ecx
je 0x4a730b
mov esi, dword [esp + 0x20]
mov dword [esi + 0x10], eax
mov eax, esi
mov esi, dword [esp + 0x50]
mov dword [eax + 0x14], ecx
mov ecx, dword [edx + 0xb4]
mov eax, dword [edx + 0xb0]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc0], eax
push 0xfffffffffffffff3
lea eax, [esp + 0xc4]
mov edx, 0x48
push eax
push ecx
push 1
push ecx
mov ecx, esi
call fcn.00460d70
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jle 0x4ac378
lea eax, [ecx + 1]
mov dword [edi], 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 0x4a6eff
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], eax
test edx, edx
jne 0x4a746a
mov dl, byte [eax + 9]
test dl, dl
je 0x4a73a0
inc dword [eax + 0xc]
cmp byte [eax + 0xa], 0
jne 0x4a73a0
mov ecx, eax
call fcn.00450c80
mov eax, dword [esp + 0x38]
mov dl, byte [eax + 9]
mov ecx, dword [eax + 4]
cmp byte [ecx + 0x11], 0
jne 0x4a73b3
mov dword [esp + 0x20], 0
jmp 0x4a73c7
mov edi, dword [eax + 4]
xor ecx, ecx
cmp byte [edi + 0x12], cl
mov edi, dword [esp + 0x70]
setne cl
inc ecx
mov dword [esp + 0x20], ecx
test dl, dl
je 0x4a73d8
add dword [eax + 0xc], 0xffffffff
jne 0x4a73d8
mov ecx, eax
call fcn.00450c60
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc4], 0
push 0xfffffffffffffff3
mov dword [esp + 0xc4], eax
mov edx, 0x48
lea eax, [esp + 0xc4]
push eax
push ecx
push 1
push ecx
mov ecx, esi
call fcn.00460d70
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a7431
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov edx, ebx
jmp 0x4a6d0c
lea eax, [ecx + 1]
mov dword [edi], 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
mov edx, ebx
jmp 0x4a6d0c
mov ecx, str.none
mov dword [esp + 0x14], ebx
sub ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
nop dword [eax + eax]
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x4a7496
test eax, eax
jne 0x4a74ac
xor ebx, ebx
jmp 0x4a7544
movzx ecx, byte [eax + 0x5b3648]
movzx eax, byte [ebx + 0x5b3648]
sub ecx, eax
jne 0x4a74af
mov ecx, dword [esp + 0x28]
inc edx
jmp 0x4a7480
mov edx, dword [esp + 0x2c]
mov ebx, str.full
sub ebx, edx
nop word [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [edx + ebx]
cmp ecx, eax
jne 0x4a74d4
test ecx, ecx
jne 0x4a74e6
lea ebx, [ecx + 1]
jmp 0x4a7544
movzx eax, byte [eax + 0x5b3648]
movzx ecx, byte [ecx + 0x5b3648]
sub ecx, eax
jne 0x4a74e9
inc edx
jmp 0x4a74c0
mov edx, dword [esp + 0x2c]
mov ebx, str.incremental
sub ebx, edx
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x4a7508
test ecx, ecx
jne 0x4a751a
lea ebx, [ecx + 2]
jmp 0x4a7544
movzx eax, byte [eax + 0x5b3648]
movzx ecx, byte [ecx + 0x5b3648]
sub ecx, eax
jne 0x4a751d
inc edx
jmp 0x4a74f4
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
call fcn.0043fb80
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, dword [esp + 0x38]
mov byte [eax + 0x5a], bl
call fcn.00453b00
test eax, eax
jne 0x4a6cf5
cmp ebx, 1
je 0x4a756c
cmp ebx, 2
jne 0x4a6cf5
mov edi, dword [edi]
mov edx, 5
push ecx
push 0x5b302c
mov ecx, esi
call fcn.00461190
mov edx, dword [esp + 0x48]
lea ecx, [edi + 4]
add esp, 8
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
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 0x4a6cf5
mov eax, dword [esi]
mov edx, dword [esp + 0x58]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 4]
mov edx, dword [esp + 0x14]
cmp byte [eax + 9], 0
je 0x4a6cf9
mov eax, dword [esi + 0xa0]
mov ecx, dword [esp + 0x40]
bts eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xa0], eax
call fcn.0043b330
mov eax, dword [esp + 0x2c]
jmp 0x4a6d0a
mov dword [esp + 0x20], 0
test edx, edx
je 0x4a761d
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x20]
call fcn.0043fb80
test eax, eax
je 0x4a761d
mov edx, dword [esp + 0x20]
mov dword [esp + 0x30], edx
test edx, edx
jg 0x4a7625
mov dword [esp + 0x30], 0x7fffffff
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x24], ecx
mov edx, dword [ecx + 0x58]
mov ecx, dword [esp + 0x40]
shl eax, cl
mov ecx, dword [esp + 0x24]
test edx, eax
jne 0x4a7663
mov eax, dword [esp + 0x40]
bts edx, eax
mov dword [ecx + 0x58], edx
cmp eax, 1
jne 0x4a7663
call fcn.00493f70
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x54]
mov edx, dword [esp + 0x40]
bts eax, edx
mov edx, dword [esp + 0x30]
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a76a2
push 0
push 1
push edx
mov edx, 0x47
mov ecx, esi
call fcn.00460920
mov eax, dword [esp + 0x88]
add esp, 0xc
add eax, 0x68
mov dword [esp + 0x5c], eax
jmp 0x4a76d6
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
lea eax, [esi + 0x68]
mov dword [esp + 0x5c], eax
mov eax, dword [eax]
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 + 0x1c]
mov edx, dword [edi]
mov dword [esp + 0x18], edx
cmp dword [eax], edx
jg 0x4a7705
push 0
push 0
push dword [esp + 0x48]
mov edx, 0x3e
mov ecx, esi
call fcn.00460920
mov edx, dword [esp + 0x68]
add esp, 0xc
mov dword [esp + 0x18], eax
jmp 0x4a773e
mov esi, dword [esp + 0x40]
lea ecx, [edx + edx*4]
lea eax, [edx + 1]
mov edx, dword [esp + 0x5c]
mov dword [edi], eax
mov eax, dword [edx]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4], 0x3e
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 + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a7763
push 0
push 0
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00460920
mov edx, dword [esp + 0x68]
add esp, 0xc
jmp 0x4a7798
mov esi, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
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 eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a77bd
push 0
push 0xffffffffffffffff
push 1
mov edx, 0x56
mov ecx, esi
call fcn.00460920
mov edx, dword [esp + 0x68]
add esp, 0xc
jmp 0x4a77f2
mov esi, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
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 eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a7819
push 0
push dword [esp + 0x1c]
mov edx, 0x3b
mov ecx, esi
push 1
call fcn.00460920
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x4a784a
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x3b
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 eax, dword [esi]
mov edi, dword [edi]
cmp byte [eax + 0x57], 0
je 0x4a7863
mov eax, 0x5dfc94
mov edx, ebx
mov dword [eax + 8], edi
jmp 0x4a6cf9
mov eax, dword [esp + 0x5c]
lea ecx, [edx + edx*4]
mov edx, ebx
mov eax, dword [eax]
mov dword [eax + ecx*4 + 8], edi
lea eax, [eax + ecx*4]
jmp 0x4a6cf9
test edx, edx
jne 0x4a788d
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x4a6a6d
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
call fcn.0043fb80
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 4]
mov edx, dword [edx + 0x50]
call fcn.00453760
mov edx, ebx
jmp 0x4a6cf9
test edx, edx
jne 0x4a78ec
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, edx
je 0x4a6a6b
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 4]
call fcn.00453800
jmp 0x4a6a6d
mov edi, dword [esp + 0x2c]
lea edx, [esp + 0x20]
mov ecx, edi
mov dword [esp + 0x20], 1
call fcn.0043fb80
mov esi, dword [esp + 0x20]
test eax, eax
je 0x4a7919
mov eax, dword [esp + 0x4c]
mov edx, esi
mov ecx, dword [eax + 4]
call fcn.00453800
test esi, esi
mov edx, 1
mov ecx, edi
setne al
movzx eax, al
push eax
call fcn.004a5f30
mov esi, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
test al, al
je 0x4a7956
or ecx, 0x20
mov dword [esi + 0x20], ecx
mov ecx, esi
mov dword [esi + 0x24], edx
call fcn.004a60c0
mov edx, ebx
jmp 0x4a6cf9
and ecx, 0xffffffdf
mov dword [esi + 0x20], ecx
mov ecx, esi
mov dword [esi + 0x24], edx
call fcn.004a60c0
mov edx, ebx
jmp 0x4a6cf9
mov dword [esp + 0x14], ebx
test edx, edx
je 0x4a7aa2
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0xc0]
call fcn.0043fa70
cmp dword [esp + 0xc4], 0
jg 0x4a79b8
jl 0x4a799f
cmp dword [esp + 0xc0], 0
jae 0x4a79b8
mov eax, dword [0x5dacd8]
mov ecx, dword [0x5dacdc]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0x3c]
cmp dword [edx + 4], 0
jne 0x4a79e2
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov dword [esi + 0x30], eax
mov eax, esi
mov esi, dword [esp + 0x50]
mov dword [eax + 0x34], ecx
jmp 0x4a79e6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
sub ecx, 1
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
js 0x4a7aa2
mov esi, dword [esp + 0x10]
mov edi, ecx
shl edi, 4
mov dword [esp + 0x14], ebx
mov eax, dword [esi + 0x10]
mov ebx, dword [eax + edi + 4]
test ebx, ebx
je 0x4a7a8a
cmp ecx, dword [esp + 0x40]
je 0x4a7a1e
cmp dword [edx + 4], 0
jne 0x4a7a8a
cmp byte [ebx + 9], 0
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, dword [ebx + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x9c], edx
je 0x4a7a63
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x4a7a63
mov ecx, ebx
call fcn.00450c80
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x9c]
push ecx
mov ecx, dword [edx]
push eax
call fcn.0044a670
add esp, 8
cmp byte [ebx + 9], 0
je 0x4a7a82
add dword [ebx + 0xc], 0xffffffff
jne 0x4a7a82
mov ecx, ebx
call fcn.00450c60
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
dec ecx
sub edi, 0x10
mov dword [esp + 0x18], ecx
test ecx, ecx
jns 0x4a7a07
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xc0], 0xffffffff
mov dword [esp + 0xc4], 0xffffffff
mov dword [esp + 0x30], 1
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4a7ad5
push eax
call dword [0x5dac80]
add esp, 4
mov edx, dword [esp + 0x44]
mov ecx, ebx
call fcn.004ea290
mov ebx, eax
test ebx, ebx
je 0x4a7b5a
cmp byte [ebx + 9], 0
je 0x4a7afc
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x4a7afc
mov ecx, ebx
call fcn.00450c80
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x4a7b22
mov dword [esp + 0x30], 0xc
jmp 0x4a7b39
lea edx, [esp + 0xc0]
push edx
push 0x12
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov dword [ecx + 0x1c8], eax
cmp byte [ebx + 9], 0
je 0x4a7b5a
add dword [ebx + 0xc], 0xffffffff
jne 0x4a7b5a
mov ecx, ebx
call fcn.00450c60
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4a7b6f
push eax
call dword [0x5dac88]
add esp, 4
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4a7b9f
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0xa4], ecx
jmp 0x4a6cc0
mov edx, dword [esp + 0x14]
cmp eax, 0xc
je 0x4a6cf9
mov ecx, dword [esp + 0x24]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x4a6cf9
test edx, edx
jne 0x4a7bd4
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x56]
cdq
mov dword [esp + 0xc4], edx
jmp 0x4a73e7
mov cl, byte [edx]
mov al, cl
mov dword [esp + 0x14], ebx
sub al, 0x30
cmp al, 2
ja 0x4a7bea
movsx ecx, cl
sub ecx, 0x30
jmp 0x4a7c5b
mov esi, str.file
nop
movzx eax, byte [esi]
movzx ecx, cl
cmp ecx, eax
jne 0x4a7c05
test ecx, ecx
jne 0x4a7c17
mov ecx, 1
jmp 0x4a7c5b
movzx eax, byte [eax + 0x5b3648]
movzx ecx, byte [ecx + 0x5b3648]
sub ecx, eax
jne 0x4a7c1e
mov cl, byte [edx + 1]
inc edx
inc esi
jmp 0x4a7bf0
mov edx, dword [esp + 0x2c]
mov edi, str.memory
sub edi, edx
nop dword [eax]
movzx eax, byte [edx]
movzx esi, byte [edi + edx]
cmp eax, esi
jne 0x4a7c44
test eax, eax
jne 0x4a7c56
lea ecx, [eax + 2]
jmp 0x4a7c5b
movzx ecx, byte [eax + 0x5b3648]
movzx eax, byte [esi + 0x5b3648]
sub ecx, eax
jne 0x4a7c59
inc edx
jmp 0x4a7c30
xor ecx, ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
mov esi, dword [edx]
movzx eax, byte [esi + 0x56]
cmp eax, ecx
je 0x4a6cf5
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x4a7ca3
cmp byte [esi + 0x55], 0
je 0x4a7cbc
cmp byte [eax + 8], 0
jne 0x4a7cbc
mov ecx, eax
call fcn.00453550
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.0048bb60
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov byte [esi + 0x56], cl
mov ecx, dword [esp + 0x10]
call fcn.0043b330
mov eax, dword [esp + 0x2c]
jmp 0x4a6d0a
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.0043f000
mov edx, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [esp + 0x10]
call fcn.0043b330
mov eax, dword [esp + 0x2c]
jmp 0x4a6d0a
cmp byte [0x5dac34], 0
je 0x4a7d02
push 0xb
call dword [0x5dac78]
add esp, 4
test eax, eax
je 0x4a7d02
push eax
call dword [0x5dac80]
add esp, 4
cmp dword [esp + 0x2c], 0
jne 0x4a7d8d
mov eax, dword [0x5df508]
test eax, eax
je 0x4a7e91
push 0
push eax
push 0
push 1
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460bd0
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a7d56
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4a7e91
lea eax, [ecx + 1]
mov dword [edi], 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 0x4a7e91
mov edi, dword [esp + 0x2c]
cmp byte [edi], 0
je 0x4a7dbf
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x28]
push ecx
push 1
push edi
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x4a7f1f
cmp dword [esp + 0x28], eax
je 0x4a7f1f
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x56], 1
ja 0x4a7e0b
mov edx, dword [esp + 0x24]
mov esi, dword [edx]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x4a7e0b
cmp byte [esi + 0x55], 0
je 0x4a7dfd
cmp byte [ecx + 8], 0
jne 0x4a7dfd
call fcn.00453550
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.0048bb60
jmp 0x4a7e0b
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.0043f000
add esp, 8
mov esi, dword [0x5df508]
test esi, esi
je 0x4a7e6d
cmp dword [0x5dac30], 0
je 0x4a7e63
mov eax, dword [0x5dfe08]
test eax, eax
je 0x4a7e31
push eax
call dword [0x5dac80]
add esp, 4
push esi
call dword [0x5dac5c]
sub dword [0x5dfca8], eax
add esp, 4
dec dword [0x5dfccc]
push esi
call dword [0x5dac54]
mov eax, dword [0x5dfe08]
add esp, 4
test eax, eax
je 0x4a7e6d
push eax
call dword [0x5dac88]
jmp 0x4a7e6a
push esi
call dword [0x5dac54]
add esp, 4
cmp byte [edi], 0
je 0x4a7e87
push edi
push 0x5bc734
call fcn.0043e130
add esp, 8
mov dword [0x5df508], eax
jmp 0x4a7e91
mov dword [0x5df508], 0
cmp byte [0x5dac34], 0
je 0x4a67d0
push 0xb
call dword [0x5dac78]
add esp, 4
test eax, eax
je 0x4a67d0
push eax
call dword [0x5dac88]
add esp, 4
mov edx, ebx
jmp 0x4a6cf9
cmp byte [0x5dac34], 0
je 0x4a7ee4
push 0xb
call dword [0x5dac78]
add esp, 4
test eax, eax
je 0x4a7ee4
push eax
call dword [0x5dac80]
add esp, 4
cmp dword [esp + 0x2c], 0
jne 0x4a7ef5
mov eax, dword [0x5df504]
jmp 0x4a7d12
mov edi, dword [esp + 0x2c]
cmp byte [edi], 0
je 0x4a7f66
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x28]
push ecx
push 1
push edi
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x4a7f1f
cmp dword [esp + 0x28], eax
jne 0x4a7f66
push str.not_a_writable_directory
push dword [esp + 0x28]
call fcn.0043f000
add esp, 8
cmp byte [0x5dac34], 0
je 0x4a7f52
push 0xb
call dword [0x5dac78]
add esp, 4
test eax, eax
je 0x4a7f52
push eax
call dword [0x5dac88]
add esp, 4
mov ecx, dword [esp + 0x10]
mov edx, ebx
call fcn.0043b330
mov eax, dword [esp + 0x2c]
jmp 0x4a6d0a
mov esi, dword [0x5df504]
test esi, esi
je 0x4a7fc8
cmp dword [0x5dac30], 0
je 0x4a7fbe
mov eax, dword [0x5dfe08]
test eax, eax
je 0x4a7f8c
push eax
call dword [0x5dac80]
add esp, 4
push esi
call dword [0x5dac5c]
sub dword [0x5dfca8], eax
add esp, 4
dec dword [0x5dfccc]
push esi
call dword [0x5dac54]
mov eax, dword [0x5dfe08]
add esp, 4
test eax, eax
je 0x4a7fc8
push eax
call dword [0x5dac88]
jmp 0x4a7fc5
push esi
call dword [0x5dac54]
add esp, 4
cmp byte [edi], 0
je 0x4a7fe5
push edi
push 0x5bc734
call fcn.0043e130
add esp, 8
mov dword [0x5df504], eax
jmp 0x4a7e91
mov dword [0x5df504], 0
jmp 0x4a7e91
test edx, edx
jne 0x4a800c
mov eax, dword [esp + 0x4c]
movzx eax, byte [eax + 8]
cdq
sub eax, 1
sbb edx, 0
jmp 0x4a6a6e
mov esi, dword [esp + 0x10]
cmp byte [esi + 0x55], 0
jne 0x4a802e
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x28]
call fcn.0043f000
add esp, 8
mov edx, ebx
jmp 0x4a6cf9
cmp dword [esp + 0x40], 1
je 0x4a67d0
mov ecx, dword [esp + 0x2c]
xor edx, edx
push 1
call fcn.004a5f30
inc eax
add esp, 4
and eax, 7
mov ecx, 1
cmove eax, ecx
mov ecx, dword [esp + 0x4c]
mov byte [ecx + 8], al
mov byte [ecx + 9], 1
mov ecx, esi
call fcn.004a60c0
mov edx, ebx
jmp 0x4a6cf9
test edx, edx
jne 0x4a80cc
mov edx, ecx
mov ecx, esi
call fcn.004a6020
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
and ecx, dword [edx + 8]
and eax, dword [edx + 0xc]
or ecx, eax
je 0x4a80a6
xor ecx, ecx
mov eax, 1
mov dword [esp + 0xc4], ecx
jmp 0x4a6a75
xorps xmm0, xmm0
movlpd qword [esp + 0xc0], xmm0
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc4], ecx
jmp 0x4a6a75
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x30], eax
cmp byte [edx + 0x55], 0
mov dword [esp + 0x18], ecx
jne 0x4a80f1
and eax, 0xffffbfff
mov dword [esp + 0x18], ecx
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x2c]
mov edx, 1
push 0
call fcn.004a5f30
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x60], edx
test al, al
je 0x4a812e
mov eax, dword [esp + 0x10]
or ecx, dword [esp + 0x30]
or edx, dword [esp + 0x18]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
jmp 0x4a819c
mov edx, dword [esp + 0x30]
mov ecx, edx
mov esi, dword [esp + 0x10]
not ecx
and ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
not eax
and eax, dword [esp + 0x60]
mov dword [esi + 0x20], ecx
mov ecx, esi
mov esi, dword [esp + 0x50]
mov dword [ecx + 0x24], eax
cmp edx, 0x80000
jne 0x4a8179
cmp dword [esp + 0x18], 0
jne 0x4a8179
mov dword [ecx + 0x208], 0
mov dword [ecx + 0x20c], 0
jmp 0x4a819c
and edx, 1
or edx, 0
je 0x4a819c
mov ecx, dword [esp + 0x2c]
mov edx, str.reset
call fcn.0043f1a0
test eax, eax
jne 0x4a819c
mov ecx, dword [esp + 0x10]
call fcn.0048bb60
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a81cb
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.00460920
mov ecx, dword [esp + 0x1c]
add esp, 0xc
call fcn.004a60c0
mov edx, ebx
jmp 0x4a6cf9
lea eax, [ecx + 1]
mov dword [edi], 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, dword [esp + 0x10]
call fcn.004a60c0
mov edx, ebx
jmp 0x4a6cf9
cmp dword [esp + 0x2c], 0
mov edx, ebx
je 0x4a6cf9
mov edi, dword [esp + 0x44]
mov edx, edi
mov ecx, dword [esp + 0x24]
call fcn.00494010
mov ecx, dword [esp + 0x24]
mov edx, 2
push edi
push dword [esp + 0x30]
call fcn.0048b720
mov edi, eax
add esp, 8
mov dword [esp + 0x60], edi
mov edx, ebx
test edi, edi
je 0x4a6cf9
mov ecx, dword [edi + 8]
mov dword [esp + 0x54], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], ebx
test ecx, ecx
je 0x4a8284
mov dword [esp + 0x14], ebx
nop word [eax + eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x4a8280
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4a8270
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x64]
lea ebx, [edi + 0x22]
mov dword [ecx], 7
cmp byte [edi + 0x2b], 1
je 0x4a82a4
cmp word [ebx], 0
mov dword [esp + 0x80], ebx
jg 0x4a82b6
mov ecx, dword [esp + 0x24]
mov edx, edi
call fcn.0048fe00
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0x80]
xor ecx, ecx
mov ebx, dword [edi + 4]
xor edx, edx
mov dword [esp + 0x18], ecx
movzx eax, word [eax]
cmp dx, ax
jge 0x4a6cf5
mov edx, dword [esp + 0x48]
mov dword [esp + 0x38], eax
nop dword [eax]
movzx eax, word [ebx + 0xe]
xor edi, edi
mov esi, eax
mov dword [esp + 0x9c], esi
mov esi, dword [esp + 0x50]
test al, 0x62
je 0x4a8323
mov eax, dword [edx + 8]
or eax, dword [edx + 0xc]
jne 0x4a8308
inc dword [esp + 0x54]
jmp 0x4a8452
movzx eax, word [ebx + 0xe]
test al, 0x20
je 0x4a8317
mov edi, 2
jmp 0x4a8323
movzx edi, al
and edi, 0x40
or edi, 0x20
shr edi, 5
test al, 1
jne 0x4a832b
xor edx, edx
jmp 0x4a835b
mov ecx, dword [esp + 0x20]
mov edx, 1
test ecx, ecx
je 0x4a835b
mov eax, dword [esp + 0x38]
cwde
cmp eax, edx
jl 0x4a835b
mov ecx, dword [ecx + 4]
mov esi, eax
movsx eax, word [ecx]
cmp eax, dword [esp + 0x18]
je 0x4a8357
inc edx
add ecx, 2
cmp edx, esi
jle 0x4a8346
mov esi, dword [esp + 0x50]
movzx eax, word [ebx + 0xc]
test ax, ax
jne 0x4a8368
xor eax, eax
jmp 0x4a8390
mov ecx, dword [esp + 0x60]
cmp byte [ecx + 0x2b], 0
je 0x4a8376
xor eax, eax
jmp 0x4a8390
mov ecx, dword [ecx + 0x34]
test ecx, ecx
jne 0x4a8381
xor eax, eax
jmp 0x4a8390
cmp dword [ecx], eax
jge 0x4a8389
xor eax, eax
jmp 0x4a8390
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0xc]
cmp edi, 2
jae 0x4a83a2
test eax, eax
je 0x4a83a2
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
jmp 0x4a83aa
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x84], str.issisii
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
jne 0x4a83cc
mov dword [esp + 0x84], str.issisi
test byte [esp + 0x9c], 4
je 0x4a83f2
mov ecx, dword [ebx]
lea eax, [ecx + 1]
mov dword [esp + 0x28], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a83e0
mov eax, dword [ebx]
sub ecx, dword [esp + 0x28]
inc eax
add ecx, eax
jmp 0x4a840b
mov eax, dword [ebx + 4]
shr eax, 4
and eax, 0xf
je 0x4a8406
mov ecx, dword [eax*4 + 0x5dbc3c]
jmp 0x4a840b
mov ecx, 0x5bc114
push edi
push edx
push dword [esp + 0x40]
mov eax, ebx
mov dword [esp + 0x3c], 4
mov edx, dword [esp + 0x3c]
test byte [eax + edx], 0xf
mov eax, 0
setne al
push eax
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x64]
push ecx
push dword [ebx]
push eax
push dword [esp + 0xa0]
push 1
push esi
call fcn.00460a40
mov edx, dword [esp + 0x70]
add esp, 0x28
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x80]
inc ecx
add ebx, 0x10
mov dword [esp + 0x18], ecx
movzx eax, word [eax]
mov edi, eax
cwde
mov dword [esp + 0x38], edi
cmp ecx, eax
jl 0x4a82e0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
call fcn.0043b330
mov eax, dword [esp + 0x2c]
jmp 0x4a6d0a
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x44]
mov dword [ecx], 6
mov ecx, dword [esp + 0x24]
call fcn.00494010
mov edx, dword [esp + 0x10]
mov dword [esp + 0x98], 0
mov dword [esp + 0x14], ebx
cmp dword [edx + 0x14], 0
jle 0x4a6cf5
mov ecx, dword [esp + 0x44]
xor edi, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebx
nop dword [eax + eax]
test ecx, ecx
je 0x4a84f3
mov eax, dword [edx + 0x10]
mov edx, dword [edi + eax]
test edx, edx
je 0x4a87e6
call fcn.0043f1a0
test eax, eax
jne 0x4a87e2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov edx, dword [eax + edi + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x4a8680
nop dword [eax + eax]
mov eax, dword [edx + 8]
dec ebx
mov dword [esp + 0x84], ebx
test eax, eax
je 0x4a8680
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x4a8538
mov eax, dword [eax]
test eax, eax
jne 0x4a8523
jmp 0x4a8680
push dword [ecx]
push str.SELECTFROM__w_
push dword [esp + 0x18]
call fcn.0043e040
add esp, 0xc
mov dword [esp + 0x28], eax
test eax, eax
je 0x4a863c
push 0
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], 0
push ecx
mov ecx, dword [esp + 0x18]
mov edx, eax
push 0
push 0
push 0xffffffffffffffff
call fcn.004adf50
mov edi, dword [esp + 0x34]
add esp, 0x14
test edi, edi
je 0x4a862b
mov ebx, dword [edi]
test ebx, ebx
jne 0x4a85c0
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.0043e300
push 0x5cad1c
push 0x15592
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.0043e300
mov edi, dword [esp + 0x30]
add esp, 0x1c
mov dword [esp + 0x14], edi
jmp 0x4a8624
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4a85d1
push eax
call dword [0x5dac80]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x4a85ee
jg 0x4a85e5
cmp dword [edi + 0x88], 0
jbe 0x4a85ee
mov edx, edi
mov ecx, ebx
call fcn.00465760
mov ecx, edi
call fcn.00463720
mov ecx, edi
mov dword [esp + 0x38], eax
call fcn.00463800
cmp byte [ebx + 0x57], 0
mov edx, dword [esp + 0x38]
jne 0x4a860e
test edx, edx
je 0x4a8615
mov ecx, ebx
call fcn.0043bb70
mov ecx, ebx
call fcn.004e6290
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x84]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
call fcn.0043b330
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x57], 0
je 0x4a866e
push str.out_of_memory
push dword [eax + 0x10c]
call fcn.0043f000
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 0x4a8510
mov edi, dword [edx + 8]
mov dword [esp + 0x80], edi
test edi, edi
je 0x4a87de
mov eax, dword [esp + 0x2c]
mov ebx, dword [edi + 8]
test eax, eax
je 0x4a86b6
mov edx, dword [ebx]
test edx, edx
je 0x4a87cd
mov ecx, eax
call fcn.0043f1a0
test eax, eax
jne 0x4a87c9
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x4a86c7
mov dword [esp + 0x54], str.view
jmp 0x4a86ed
cmp al, 1
jne 0x4a86d5
mov dword [esp + 0x54], str.virtual
jmp 0x4a86ed
test dword [ebx + 0x1c], 0x1000
mov ecx, str.shadow
mov eax, str.table
cmove ecx, eax
mov dword [esp + 0x54], ecx
mov eax, dword [ebx]
mov edx, 7
mov dword [esp + 0x30], eax
test eax, eax
je 0x4a8779
mov edi, eax
mov ebx, str.sqlite_
mov al, byte [edi]
dec edx
test al, al
je 0x4a8729
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x5b3648]
cmp al, byte [ecx + 0x5b3648]
jne 0x4a8729
inc edi
inc ebx
test edx, edx
jg 0x4a8707
dec edx
test edx, edx
js 0x4a8745
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x5b3648]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x5b3648]
sub eax, ecx
jne 0x4a8779
mov edi, dword [esp + 0x30]
mov edx, 0x5bc87f
lea ecx, [edi + 7]
call fcn.0043f1a0
test eax, eax
jne 0x4a8761
mov edi, str.sqlite_schema
jmp 0x4a877d
mov edx, 0x5bc88f
lea ecx, [edi + 7]
call fcn.0043f1a0
test eax, eax
jne 0x4a877d
mov edi, str.sqlite_temp_schema
jmp 0x4a877d
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edx + 0x22]
and ecx, 1
push ecx
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push dword [esp + 0x60]
push edi
mov eax, dword [eax + 0x10]
push dword [eax + ecx]
push str.sssiii
push 1
push esi
call fcn.00460a40
mov edi, dword [esp + 0xa4]
add esp, 0x24
mov eax, dword [esp + 0x2c]
mov edi, dword [edi]
mov dword [esp + 0x80], edi
test edi, edi
jne 0x4a8696
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x98]
add edi, 0x10
mov edx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x18], edi
cmp eax, dword [edx + 0x14]
jl 0x4a84d0
jmp 0x4a6cf5
mov eax, dword [esp + 0x2c]
mov edx, ebx
test eax, eax
je 0x4a6cf9
push dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.0048b8e0
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebx
test eax, eax
jne 0x4a88a4
push dword [esp + 0x44]
mov ecx, dword [esp + 0x28]
lea edx, [eax + 2]
push dword [esp + 0x30]
call fcn.0048b720
add esp, 8
mov edx, ebx
test eax, eax
je 0x4a6cf9
test byte [eax + 0x1c], 0x80
je 0x4a6cf9
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
test eax, eax
je 0x4a8896
mov dword [esp + 0x14], ebx
mov ebx, eax
nop word [eax + eax]
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
je 0x4a8890
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x4a8880
mov edx, dword [esp + 0x14]
jmp 0x4a889a
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x4a6cf9
jmp 0x4a88a8
mov ebx, dword [esp + 0x18]
mov edx, dword [ebx + 0x18]
mov ecx, 0xffff8000
test edx, edx
je 0x4a88cc
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x4a88cc
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x4a88c4
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 8]
or eax, dword [edx + 0xc]
je 0x4a88e3
movzx eax, word [ebx + 0x34]
mov edx, 6
jmp 0x4a88ec
movzx eax, word [ebx + 0x32]
mov edx, 3
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x64]
mov dword [eax], edx
mov edx, dword [esp + 0x24]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0x78]
test eax, eax
cmovne edx, eax
mov eax, 1
mov dword [esp + 0x24], edx
shl eax, cl
mov edx, dword [edx + 0x58]
test edx, eax
jne 0x4a8931
mov eax, dword [esp + 0x24]
bts edx, ecx
mov dword [eax + 0x58], edx
cmp ecx, 1
jne 0x4a8931
mov ecx, eax
call fcn.00493f70
xor edx, edx
mov dword [esp + 0x30], edx
cmp word [esp + 0x54], dx
je 0x4a6cf5
mov eax, dword [ebx + 4]
movzx eax, word [eax + edx*2]
movsx ecx, ax
mov dword [esp + 0x60], ecx
test ax, ax
jns 0x4a8959
xor eax, eax
jmp 0x4a8969
mov eax, dword [esp + 0x28]
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
mov ecx, dword [esp + 0x60]
push eax
push ecx
push edx
push str.iisX
push 1
push esi
call fcn.00460a40
mov ecx, dword [esp + 0x60]
add esp, 0x18
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
je 0x4a89b5
movzx eax, word [ebx + 0x32]
mov ecx, dword [esp + 0x30]
cmp ecx, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [ebx + 0x20]
push dword [eax + ecx*4]
mov eax, dword [ebx + 0x1c]
movzx eax, byte [eax + ecx]
push eax
push str.isiX
push 4
push esi
call fcn.00460a40
add esp, 0x18
mov eax, dword [esp + 0x64]
mov ecx, dword [edi]
mov edx, dword [eax]
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jg 0x4a89db
push 0
push edx
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4a8a0d
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x70]
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 edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
inc edx
movzx eax, cx
mov dword [esp + 0x30], edx
cmp edx, eax
jl 0x4a8942
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
call fcn.0043b330
mov eax, dword [esp + 0x2c]
jmp 0x4a6d0a
mov eax, dword [esp + 0x2c]
mov edx, ebx
test eax, eax
je 0x4a6cf9
push dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.0048b340
mov edi, eax
add esp, 4
mov edx, ebx
test edi, edi
je 0x4a6cf9
mov edx, dword [edi + 0x3c]
mov ecx, 0xffff8000
mov dword [esp + 0x14], ebx
test edx, edx
je 0x4a8a98
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x4a8a98
mov dword [esp + 0x14], ebx
nop
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x4a8a90
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x24]
mov dword [eax], 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 0x4a8ace
bts edx, ecx
mov dword [ebx + 0x58], edx
cmp ecx, 1
jne 0x4a8ace
mov ecx, ebx
call fcn.00493f70
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x4a6cf5
mov dword [esp + 0xc0], 0x5c61e0
mov dword [esp + 0xc4], 0x5c61e4
mov dword [esp + 0xc8], 0x5c5b54
nop dword [eax]
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 + 0xc4]
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.00460a40
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x4a8b00
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
call fcn.0043b330
mov eax, dword [esp + 0x2c]
jmp 0x4a6d0a
mov eax, dword [esp + 0x64]
xor edi, edi
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
mov dword [eax], 3
cmp dword [edx + 0x14], edi
jle 0x4a6cf5
xor ecx, ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], ecx
mov edx, dword [edx + 0x10]
mov eax, dword [edx + ecx + 4]
test eax, eax
je 0x4a8bb3
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
je 0x4a8b94
mov eax, 0x5b19b8
jmp 0x4a8b9a
mov eax, dword [eax + 0xb8]
push eax
push dword [edx + ecx]
push edi
push 0x5c61f0
push 1
push esi
call fcn.00460a40
mov ecx, dword [esp + 0x38]
add esp, 0x18
mov edx, dword [esp + 0x10]
inc edi
add ecx, 0x10
mov dword [esp + 0x20], ecx
cmp edi, dword [edx + 0x14]
jl 0x4a8b77
jmp 0x4a6cf5
mov eax, dword [esp + 0x64]
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov edx, ebx
mov dword [eax], 2
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x1b8]
test edi, edi
je 0x4a6cf9
mov dword [esp + 0x14], ebx
mov eax, dword [edi + 8]
push dword [eax]
push ecx
push 0x5c61f4
push 1
push esi
call fcn.00460a40
mov ecx, dword [esp + 0x34]
add esp, 0x14
mov edi, dword [edi]
inc ecx
mov dword [esp + 0x20], ecx
test edi, edi
jne 0x4a8bf1
jmp 0x4a6cf5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x14], ebx
mov eax, dword [eax + 0x18]
shr eax, 5
mov dword [ecx], 6
and eax, 1
mov ecx, 0x5dfd10
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ecx
mov edi, dword [ecx]
test edi, edi
je 0x4a8c6e
nop dword [eax]
push eax
push 1
mov edx, edi
mov ecx, esi
call fcn.004a6190
mov edi, dword [edi + 0x24]
add esp, 8
mov eax, dword [esp + 0x30]
test edi, edi
jne 0x4a8c50
mov ecx, dword [esp + 0x20]
add ecx, 4
mov dword [esp + 0x20], ecx
cmp ecx, 0x5dfd6c
jl 0x4a8c43
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0x1a8]
test edi, edi
je 0x4a6cf5
nop
mov edx, dword [edi + 8]
mov ecx, esi
push eax
push 0
call fcn.004a6190
mov edi, dword [edi]
add esp, 8
mov eax, dword [esp + 0x30]
test edi, edi
jne 0x4a8c90
jmp 0x4a6cf5
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x10]
mov dword [eax], 1
mov edi, dword [edx + 0x18c]
mov edx, ebx
test edi, edi
je 0x4a6cf9
mov dword [esp + 0x14], ebx
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x5bd088
push 1
push esi
call fcn.00460a40
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x4a8cd1
jmp 0x4a6cf5
mov edi, 0x5b4a80
mov dword [esp + 0x14], ebx
nop dword [eax + eax]
push dword [edi]
push 0x5bd088
push 1
push esi
call fcn.00460a40
add edi, 0x10
add esp, 0x10
cmp edi, str.0123456789ABCDEFQ
jl 0x4a8d00
jmp 0x4a6cf5
mov eax, dword [esp + 0x2c]
mov edx, ebx
test eax, eax
je 0x4a6cf9
push dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.0048b340
add esp, 4
mov dword [esp + 0x28], eax
mov edx, ebx
test eax, eax
je 0x4a6cf9
cmp byte [eax + 0x2b], 0
jne 0x4a6cf9
mov edi, dword [eax + 0x30]
test edi, edi
je 0x4a6cf9
mov edx, dword [eax + 0x3c]
mov ecx, 0xffff8000
mov dword [esp + 0x54], ebx
test edx, edx
je 0x4a8d98
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x54], ebx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x4a8d98
mov dword [esp + 0x54], ebx
nop dword [eax]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x4a8d90
mov eax, dword [esp + 0x64]
xor edx, edx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x30], edx
mov dword [eax], 8
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne ebx, eax
mov eax, 1
mov dword [esp + 0x24], ebx
shl eax, cl
mov ebx, dword [ebx + 0x58]
test ebx, eax
jne 0x4a8de0
mov eax, dword [esp + 0x24]
bts ebx, ecx
mov dword [eax + 0x58], ebx
cmp ecx, 1
jne 0x4a8de0
mov ecx, eax
call fcn.00493f70
xor edx, edx
nop
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x4a8ea3
lea edx, [edi + 0x24]
mov dword [esp + 0x20], edx
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x4a8dfe
jmp dword [eax*4 + 0x4ac458]
mov ecx, str.SET_NULL
jmp 0x4a8e26
mov ecx, str.SET_DEFAULT
jmp 0x4a8e26
mov ecx, str.CASCADE
jmp 0x4a8e26
mov ecx, str.RESTRICT
jmp 0x4a8e26
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x4a8e32
jmp dword [eax*4 + 0x4ac468]
mov eax, str.SET_NULL
jmp 0x4a8e5a
mov eax, str.SET_DEFAULT
jmp 0x4a8e5a
mov eax, str.CASCADE
jmp 0x4a8e5a
mov eax, str.RESTRICT
jmp 0x4a8e5a
mov eax, str.NO_ACTION
push str.NONE
push ecx
mov ecx, dword [edx]
push eax
push dword [edx + 4]
mov eax, dword [esp + 0x38]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x4c]
push str.iissssss
push 1
push esi
call fcn.00460a40
mov edx, dword [esp + 0x4c]
inc ebx
add edx, 8
add esp, 0x2c
mov dword [esp + 0x20], edx
cmp ebx, dword [edi + 0x14]
jl 0x4a8df2
mov edx, dword [esp + 0x30]
mov edi, dword [edi + 4]
inc edx
mov dword [esp + 0x30], edx
test edi, edi
jne 0x4a8de0
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
call fcn.0043b330
mov eax, dword [esp + 0x2c]
jmp 0x4a6d0a
mov edx, dword [esp + 0x64]
mov eax, dword [edx]
lea ecx, [eax + 1]
add eax, 5
mov dword [edx], eax
mov edx, dword [esp + 0x58]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [edx + eax + 0xc]
mov edx, ebx
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x4a6cf9
mov dword [esp + 0x14], ebx
nop
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4a8f1f
push dword [esp + 0x44]
mov ecx, dword [esp + 0x28]
xor edx, edx
push eax
call fcn.0048b720
add esp, 8
xor ecx, ecx
jmp 0x4a8f24
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x3c], eax
test eax, eax
je 0x4a9774
cmp byte [eax + 0x2b], 0
jne 0x4a9774
cmp dword [eax + 0x30], 0
je 0x4a9774
mov ecx, dword [eax + 0x3c]
mov ebx, 0xffff8000
test ecx, ecx
je 0x4a8f6f
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x4a8f6f
lea eax, [eax + 0x10]
inc ebx
cmp dword [eax], ecx
jne 0x4a8f67
mov eax, dword [esp + 0x10]
mov ecx, ebx
shl ecx, 4
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [ecx + eax]
mov ecx, dword [esp + 0x24]
mov edx, ecx
mov dword [esp + 0x44], eax
mov eax, dword [ecx + 0x78]
test eax, eax
mov ecx, ebx
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ecx, dword [edx + 0x58]
test ecx, eax
jne 0x4a8fb8
bts ecx, ebx
mov dword [edx + 0x58], ecx
cmp ebx, 1
jne 0x4a8fbd
mov ecx, edx
call fcn.00493f70
jmp 0x4a8fed
cmp ebx, 1
je 0x4a8fed
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x4a8fed
mov eax, dword [esp + 0x3c]
mov edx, ebx
mov ecx, dword [esp + 0x24]
push dword [eax]
push 0
push dword [eax + 0x14]
call fcn.0048a880
add esp, 0xc
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x64]
movsx eax, word [ecx + 0x22]
add eax, dword [esp + 0x48]
cmp eax, dword [edx]
jle 0x4a9003
mov dword [edx], eax
push 0x70
push ecx
mov ecx, dword [esp + 0x2c]
xor edx, edx
push ebx
call fcn.0049eb60
mov eax, dword [esp + 0x48]
add esp, 0xc
mov edx, 0x75
mov ecx, esi
push 0
push dword [eax]
push 0
push dword [esp + 0x78]
push 0
call fcn.00460bd0
mov ecx, dword [esp + 0x50]
add esp, 0x14
mov eax, 1
mov dword [esp + 0x18], eax
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0x30], ecx
test ecx, ecx
je 0x4a91ae
mov edx, dword [ecx + 8]
push dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
call fcn.0048b340
mov edx, eax
add esp, 4
mov dword [esp + 0x38], edx
test edx, edx
je 0x4a9192
mov dword [esp + 0x5c], 0
cmp ebx, 1
je 0x4a90ae
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x20]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x4a90ae
push dword [edx]
mov ecx, dword [esp + 0x28]
push 0
push dword [edx + 0x14]
mov edx, ebx
call fcn.0048a880
mov edx, dword [esp + 0x44]
add esp, 0xc
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x5c]
push 0
push eax
push dword [esp + 0x38]
call fcn.0049b9f0
add esp, 0xc
test eax, eax
jne 0x4a6cf5
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x4a90f1
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
push 0x70
push dword [esp + 0x3c]
push ebx
call fcn.0049eb60
add esp, 0xc
jmp 0x4a9192
mov edx, dword [esp + 0x1c]
mov ecx, dword [edi]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x28], eax
cmp dword [edx], ecx
mov edx, dword [esp + 0x18]
jg 0x4a911a
push ebx
push eax
push edx
mov edx, 0x70
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4a9144
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x5c]
mov eax, dword [ecx + 8]
mov dword [esp + 0x28], eax
call fcn.00494800
mov dword [esp + 0x60], eax
test eax, eax
je 0x4a9192
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
cmp byte [ecx + 0x57], 0
je 0x4a917c
push eax
mov edx, 0xfffffff8
call fcn.00461290
add esp, 4
jmp 0x4a9192
mov eax, dword [edx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x68]
mov edx, dword [esp + 0x60]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x4a9050
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x28], eax
jge 0x4a91ba
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [edi]
mov dword [esp + 0x80], edx
cmp dword [eax], edx
jg 0x4a91f3
push 0
push 0
push 0
mov edx, 0x24
mov ecx, esi
call fcn.00460920
mov ebx, dword [esp + 0x88]
add esp, 0xc
mov dword [esp + 0x80], eax
add ebx, 0x68
jmp 0x4a9227
lea eax, [edx + 1]
mov dword [edi], eax
lea ebx, [esi + 0x68]
mov eax, dword [ebx]
lea ecx, [edx + edx*4]
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 eax, dword [esp + 0x3c]
mov dword [esp + 0x68], 1
mov eax, dword [eax + 0x30]
mov dword [esp + 0x4c], eax
test eax, eax
je 0x4a96f1
push dword [esp + 0x44]
mov edx, dword [eax + 8]
mov ecx, dword [esp + 0x14]
call fcn.0048b340
add esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x54], 0
test eax, eax
je 0x4a9289
lea ecx, [esp + 0x54]
mov edx, eax
push ecx
lea ecx, [esp + 0x60]
push ecx
push dword [esp + 0x54]
mov ecx, dword [esp + 0x30]
call fcn.0049b9f0
add esp, 0xc
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x64]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
mov eax, dword [edx + 0x14]
add eax, dword [esp + 0x48]
mov dword [esp + 0x88], ebx
cmp eax, dword [ecx]
jle 0x4a92af
mov dword [ecx], eax
mov ecx, dword [edx + 0x14]
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], ecx
test ecx, ecx
jle 0x4a938a
mov ebx, dword [esp + 0x48]
lea ecx, [edx + 0x24]
mov dword [esp + 0x30], ecx
nop
mov edx, dword [esp + 0x54]
lea eax, [edx + eax*4]
test edx, edx
jne 0x4a92dd
mov eax, ecx
mov eax, dword [eax]
mov ecx, esi
mov edx, dword [esp + 0x3c]
push ebx
push eax
push 0
call fcn.0047e040
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a9320
push 0
push dword [esp + 0x8c]
mov edx, 0x32
mov ecx, esi
push ebx
call fcn.00460920
mov edx, dword [esp + 0x88]
add esp, 0xc
add edx, 0x68
jmp 0x4a9357
lea eax, [ecx + 1]
mov dword [edi], eax
lea edx, [esi + 0x68]
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov edi, dword [esp + 0x88]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x70]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x4c]
inc ebx
mov eax, dword [esp + 0x20]
add dword [esp + 0x30], 8
inc eax
mov dword [esp + 0x58], edx
mov ecx, dword [ecx + 0x14]
cmp eax, ecx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], eax
jl 0x4a92d0
mov ebx, dword [esp + 0x88]
jmp 0x4a9395
mov edx, dword [esp + 0x7c]
add edx, 0x68
mov dword [esp + 0x58], edx
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4a94c4
mov ecx, dword [esp + 0x10]
mov edx, eax
call fcn.0049ed10
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x28], eax
cmp dword [ecx], edx
jg 0x4a93df
push 0
push eax
push dword [esp + 0x50]
mov edx, 0x60
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov edx, eax
jmp 0x4a9414
mov ebx, dword [esp + 0x58]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x38]
mov ecx, esi
push dword [esp + 0x64]
call fcn.00461760
mov eax, dword [esp + 0x54]
add esp, 8
mov ecx, dword [edi]
mov dword [esp + 0x28], ecx
mov ebx, dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x60], ebx
cmp dword [eax], ecx
jg 0x4a9465
push dword [esp + 0x48]
mov edx, 0x1d
mov ecx, esi
push dword [esp + 0x8c]
push dword [esp + 0x70]
call fcn.00460920
mov edx, dword [esp + 0x64]
add esp, 0xc
mov ecx, eax
jmp 0x4a94a5
mov edx, dword [esp + 0x58]
lea eax, [ecx + 1]
mov ebx, dword [esp + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [edx]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x88]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x60]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x28]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x4a958c
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], ebx
jmp 0x4a958c
cmp dword [esp + 0x28], 0
je 0x4a958c
mov ecx, dword [edi]
mov esi, dword [esp + 0x1c]
lea eax, [ecx + 2]
cmp dword [esi], ecx
mov esi, dword [esp + 0x50]
mov dword [esp + 0x28], eax
jg 0x4a9502
push dword [esp + 0x48]
mov edx, 0x1e
mov ecx, esi
push eax
push dword [esp + 0x70]
call fcn.00460920
mov edx, dword [esp + 0x64]
add esp, 0xc
jmp 0x4a9537
mov esi, dword [esp + 0x68]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4], 0x1e
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a955b
push 0
push ebx
push 0
mov edx, 9
mov ecx, esi
call fcn.00460920
mov edx, dword [esp + 0x64]
add esp, 0xc
jmp 0x4a958c
mov esi, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
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 ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
test byte [ebx + 0x1c], 0x80
mov eax, dword [eax]
jne 0x4a95d0
cmp eax, ecx
jg 0x4a95bd
mov eax, dword [esp + 0x6c]
mov edx, 0x87
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.00460920
add esp, 0xc
jmp 0x4a9621
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0x87
jmp 0x4a9600
cmp eax, ecx
jg 0x4a95ef
mov eax, dword [esp + 0x6c]
mov edx, 0x4b
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.00460920
add esp, 0xc
jmp 0x4a9621
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0x4b
mov edx, dword [esp + 0x6c]
mov dword [eax + ecx*4 + 0x10], 0
inc edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 4], 0
mov eax, dword [esp + 0x68]
dec eax
push eax
mov eax, dword [esp + 0x50]
push dword [eax + 8]
mov eax, dword [esp + 0x74]
push 0x5c620c
add eax, 2
push eax
push esi
call fcn.00460a40
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a966b
push 0
push 4
push dword [esp + 0x74]
mov edx, 0x54
mov ecx, esi
call fcn.00460920
mov ebx, dword [esp + 0x64]
add esp, 0xc
jmp 0x4a96a0
mov ebx, dword [esp + 0x58]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x6c]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [ebx]
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]
mov edx, dword [esp + 0x88]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4a96c1
push edx
mov edx, esi
call fcn.00460fb0
add esp, 4
jmp 0x4a96c9
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
mov edx, dword [esp + 0x54]
test edx, edx
je 0x4a96da
mov ecx, dword [esp + 0x10]
call fcn.0043b330
mov eax, dword [esp + 0x4c]
inc dword [esp + 0x68]
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x4a9242
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x80]
mov ecx, dword [edi]
inc edx
cmp dword [eax], ecx
jg 0x4a9719
push 0
push edx
push 0
mov edx, 0x27
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4a974a
mov esi, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx]
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 [edi]
cmp byte [eax + 0x57], 0
je 0x4a975b
mov eax, 0x5dfc94
jmp 0x4a976a
mov eax, dword [esp + 0x80]
lea ecx, [eax + eax*4]
mov eax, dword [ebx]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x84]
mov dword [eax + 8], edx
test ecx, ecx
jne 0x4a8f00
jmp 0x4a6cf5
test edx, edx
je 0x4a67d0
mov ecx, dword [esp + 0x2c]
mov edx, 1
push 0
call fcn.004a5f30
mov ecx, dword [esp + 0x14]
xor edx, edx
add esp, 4
test al, al
setne dl
call fcn.0049b700
mov edx, ebx
jmp 0x4a6cf9
movzx eax, byte [ebx]
or ecx, 0xffffffff
mov dword [esp + 0x88], 0
mov al, byte [eax + 0x5b3648]
mov byte [esp + 0x77], al
mov eax, dword [esp + 0x3c]
cmp dword [eax], 0
mov eax, dword [esp + 0x40]
cmove eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
mov dword [eax], 6
mov eax, 0x64
mov dword [esp + 0x30], eax
mov dword [esp + 0x54], eax
test edx, edx
je 0x4a985b
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x54]
call fcn.0043fb80
test eax, eax
je 0x4a981f
mov eax, dword [esp + 0x54]
mov dword [esp + 0x30], eax
test eax, eax
jg 0x4a985b
mov eax, 0x64
jmp 0x4a9857
mov eax, dword [esp + 0x40]
test eax, eax
js 0x4a9837
mov ecx, eax
mov eax, dword [esp + 0x10]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x4a9839
xor eax, eax
mov ecx, dword [esp + 0x24]
xor edx, edx
push eax
push dword [esp + 0x30]
call fcn.0048b720
mov dword [esp + 0x90], eax
add esp, 8
mov eax, dword [esp + 0x54]
mov dword [esp + 0x30], eax
mov ecx, dword [edi]
lea edx, [eax - 1]
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jg 0x4a988c
push 0
push 1
push edx
mov edx, 0x47
mov ecx, esi
call fcn.00460920
mov eax, dword [esp + 0x88]
add esp, 0xc
add eax, 0x68
mov dword [esp + 0x28], eax
jmp 0x4a98c4
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov edi, dword [esp + 0x70]
lea eax, [esi + 0x68]
mov dword [esp + 0x28], eax
mov eax, dword [eax]
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]
mov dword [esp + 0x68], 0
mov dword [esp + 0x14], ebx
cmp dword [eax + 0x14], 0
jle 0x4ab62e
mov dword [esp + 0x14], ebx
xor ecx, ecx
mov ebx, eax
mov dword [esp + 0xa0], 0x10
mov eax, dword [esp + 0x40]
test eax, eax
js 0x4a9901
cmp ecx, eax
jne 0x4ab620
mov ecx, dword [esp + 0x24]
mov edx, ecx
mov eax, dword [ecx + 0x78]
test eax, eax
mov ecx, dword [esp + 0x68]
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x58]
test ebx, eax
jne 0x4a9937
bts ebx, ecx
mov dword [edx + 0x58], ebx
cmp ecx, 1
jne 0x4a9937
mov ecx, edx
call fcn.00493f70
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x10]
mov edx, ecx
shl edx, 4
xor ecx, ecx
mov dword [esp + 0xac], edx
mov eax, dword [eax + 0x10]
mov eax, dword [edx + eax + 0xc]
mov dword [esp + 0x38], eax
mov eax, dword [eax + 0x10]
mov dword [esp + 0x20], eax
test eax, eax
je 0x4ab614
mov edx, dword [esp + 0x88]
mov esi, ecx
nop dword [eax]
mov ebx, dword [eax + 8]
test edx, edx
je 0x4a997b
cmp edx, ebx
jne 0x4a99a9
test byte [ebx + 0x1c], 0x80
lea eax, [ecx + 1]
cmovne eax, ecx
xor edx, edx
mov ecx, eax
mov eax, dword [ebx + 8]
test eax, eax
je 0x4a9999
mov eax, dword [eax + 0x14]
inc ecx
inc edx
test eax, eax
jne 0x4a9990
mov eax, dword [esp + 0x20]
cmp edx, esi
cmovg esi, edx
mov edx, dword [esp + 0x88]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4a9970
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x50]
test ecx, ecx
je 0x4ab614
lea eax, [ecx + 1]
test edx, edx
push 0
cmove eax, ecx
mov ecx, dword [esp + 0x14]
lea eax, [eax*4 + 4]
push eax
call fcn.0043b7c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4ab62e
xor edx, edx
cmp dword [esp + 0x88], edx
je 0x4a9a02
mov edx, 1
mov dword [ebx + 4], 0
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x54], eax
test eax, eax
je 0x4a9a6c
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
nop dword [eax]
cmp dword [esp + 0x88], 0
mov ecx, dword [eax + 8]
je 0x4a9a36
cmp dword [esp + 0x88], ecx
jne 0x4a9a62
test byte [ecx + 0x1c], 0x80
jne 0x4a9a47
mov eax, dword [ecx + 0x14]
inc edx
mov dword [ebx + edx*4], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x4a9a62
nop
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [ebx + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4a9a50
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [esp + 0x54], eax
test eax, eax
jne 0x4a9a20
mov eax, dword [esp + 0x64]
mov dword [ebx], edx
mov ecx, dword [eax]
mov eax, dword [esp + 0x18]
add eax, 8
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [esp + 0x64]
mov dword [eax], ecx
mov eax, dword [esp + 0x24]
mov byte [eax + 0x13], 0
mov dword [eax + 0x1c], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
mov dword [esp + 0x60], ecx
cmp dword [eax], ecx
jg 0x4a9ac7
push 1
push edx
push 2
mov edx, 0x9b
mov ecx, esi
call fcn.00460920
mov ecx, dword [esp + 0x88]
add esp, 0xc
add ecx, 0x68
mov dword [esp + 0x34], ecx
jmp 0x4a9b03
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov edi, dword [esp + 0x70]
lea eax, [esi + 0x68]
mov dword [esp + 0x34], eax
mov eax, dword [eax]
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 eax, dword [esp + 0x60]
push 0xfffffffffffffff2
push ebx
mov edx, eax
mov ecx, esi
call fcn.00461760
mov eax, dword [edi]
add esp, 8
test eax, eax
jle 0x4a9b2d
mov ecx, dword [esp + 0x68]
movzx edx, cl
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0x1c]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x4a9b50
push 0
push 0
push 2
mov edx, 0x32
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov ebx, eax
jmp 0x4a9b85
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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 + 0xac]
mov eax, dword [edx + 0x10]
push dword [eax + ecx]
push str._in_database__s__n
push edx
call fcn.0043e040
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x1c]
cmp dword [eax], edx
jg 0x4a9bcb
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov edx, eax
jmp 0x4a9c04
mov esi, dword [esp + 0x50]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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
push 0xfffffffffffffffa
push dword [esp + 0x64]
mov ecx, esi
call fcn.00461760
mov eax, dword [esp + 0x24]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a9c35
push 3
push 3
push 2
mov edx, 0x6f
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4a9c6a
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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.004a6230
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x4a9c86
mov ebx, dword [esp + 0x34]
mov eax, 0x5dfc94
jmp 0x4a9c92
lea ecx, [ebx + ebx*4]
mov ebx, dword [esp + 0x34]
mov eax, dword [ebx]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x60], eax
test eax, eax
je 0x4ab614
mov eax, dword [eax + 8]
mov dword [esp + 0x44], eax
mov dword [esp + 0xac], 0
mov dword [esp + 0x5c], 0xffffffff
cmp byte [eax + 0x2b], 0
jne 0x4ab5fe
mov ecx, dword [esp + 0x88]
test ecx, ecx
je 0x4a9cdf
cmp ecx, eax
jne 0x4ab5fe
cmp byte [esp + 0x77], 0x71
je 0x4a9df8
test byte [eax + 0x1c], 0x80
je 0x4a9df8
mov ecx, dword [eax + 8]
mov dword [esp + 0x58], ecx
test ecx, ecx
je 0x4a9d14
nop
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x4a9d10
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4a9d00
mov dword [esp + 0x58], ecx
movzx ecx, word [ecx + 0x32]
cmp ecx, 1
jne 0x4a9d4b
mov ecx, dword [esp + 0x24]
mov al, byte [ecx + 0x13]
test al, al
jne 0x4a9d36
mov eax, dword [esp + 0x64]
inc dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
jmp 0x4a9d8c
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x9c]
mov dword [esp + 0x4c], eax
jmp 0x4a9d8c
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x20]
mov dword [esp + 0x4c], edx
mov edx, dword [eax + 0x1c]
cmp ecx, edx
jg 0x4a9d77
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x4c]
add eax, ecx
sub edx, ecx
mov dword [esi + 0x20], eax
mov eax, esi
mov esi, dword [esp + 0x50]
mov dword [eax + 0x1c], edx
jmp 0x4a9d8c
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
lea edx, [eax + 1]
add eax, ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x4c], edx
mov dword [ecx], eax
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
mov ecx, dword [edi]
dec edx
movzx eax, word [eax + 0x32]
add edx, eax
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jg 0x4a9dc3
push edx
push dword [esp + 0x50]
mov edx, 0x4b
mov ecx, esi
push 1
call fcn.00460920
mov edx, dword [esp + 0x50]
add esp, 0xc
mov eax, edx
jmp 0x4a9e0c
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, 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 + 0x10], 0
mov eax, edx
jmp 0x4a9e0c
mov edx, dword [esp + 0x44]
mov dword [esp + 0x58], 0
mov dword [esp + 0x4c], 0
mov ecx, 8
add eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x70]
push eax
push 0
push 1
push 0
push 0x70
call fcn.004a3b90
mov ebx, dword [esp + 0x34]
add esp, 0x18
mov ecx, dword [edi]
cmp dword [ebx], ecx
jg 0x4a9e5d
push 0
push 7
push 0
mov edx, 0x47
mov ecx, esi
call fcn.00460920
mov edx, dword [esp + 0x40]
add esp, 0xc
jmp 0x4a9e96
mov edx, dword [esp + 0x34]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x50]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [edx]
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 eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
test eax, eax
je 0x4a9f19
mov ebx, 8
nop dword [eax]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4a9ed4
push 0
push ebx
push 0
mov edx, 0x47
mov ecx, esi
call fcn.00460920
mov edx, dword [esp + 0x40]
add esp, 0xc
jmp 0x4a9f05
mov esi, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0x47
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 [esp + 0x38]
inc ebx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x38], eax
test eax, eax
jne 0x4a9eb0
mov ebx, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [ebx], ecx
jg 0x4a9f3c
push 0
push 0
push dword [esp + 0x74]
mov edx, 0x24
mov ecx, esi
call fcn.00460920
mov edx, dword [esp + 0x40]
add esp, 0xc
jmp 0x4a9f71
mov ebx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
mov dword [esp + 0x54], ecx
cmp dword [ebx], ecx
jg 0x4a9f96
push 0
push 1
push 7
mov edx, 0x56
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov dword [esp + 0x54], eax
jmp 0x4a9fc7
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
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
mov eax, dword [esp + 0x44]
movsx edx, word [eax + 0x22]
sub edx, 1
js 0x4aa04d
mov eax, dword [eax + 4]
mov ecx, edx
shl ecx, 4
add eax, 0xe
add ecx, eax
test byte [ecx], 0x20
jne 0x4a9ff6
mov eax, dword [esp + 0x44]
movsx eax, word [eax + 0x20]
cmp eax, edx
jne 0x4aa000
sub ecx, 0x10
sub edx, 1
jns 0x4a9fe5
jmp 0x4aa04d
test edx, edx
js 0x4aa04d
push 3
push edx
push dword [esp + 0x74]
mov edx, dword [esp + 0x50]
mov ecx, esi
call fcn.0047e040
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x57], 0
je 0x4aa028
mov eax, 0x5dfc94
jmp 0x4aa039
mov eax, dword [edi]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp dword [eax + 0xc], 3
jne 0x4aa04d
cmp byte [eax], 0x5e
jne 0x4aa04d
mov ecx, 0x80
or word [eax + 2], cx
cmp byte [esp + 0x77], 0x71
je 0x4aa23d
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x4aa23d
movzx eax, word [ecx + 0x32]
mov edx, dword [edi]
mov dword [esp + 0x78], eax
cmp dword [ebx], edx
jg 0x4aa08f
push dword [esp + 0x4c]
mov edx, 0x29
mov ecx, esi
push 0
push dword [esp + 0x74]
call fcn.00460920
add esp, 0xc
mov edx, eax
jmp 0x4aa0c4
mov ebx, dword [esp + 0x6c]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x29
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
lea ebx, [edx + edx*4]
mov edx, dword [esp + 0x34]
shl ebx, 2
cmp byte [eax + 0x57], 0
jne 0x4aa0e5
mov eax, dword [edx]
mov ecx, dword [esp + 0x78]
mov byte [eax + ebx + 1], 0xfd
mov dword [eax + ebx + 0x10], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4aa108
push 0
push 0
push dword [esp + 0x54]
mov edx, 0x32
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4aa139
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov edx, dword [esp + 0x4c]
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 + 0x44]
push dword [eax]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x18]
call fcn.0043e040
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1c]
cmp dword [eax], edx
jg 0x4aa177
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov edx, eax
jmp 0x4aa1b0
mov esi, dword [esp + 0x50]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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
push 0xfffffffffffffffa
push dword [esp + 0x7c]
mov ecx, esi
call fcn.00461760
add esp, 8
mov ecx, esi
call fcn.004a6230
mov eax, dword [esi]
mov ecx, dword [edi]
mov edx, dword [esp + 0x34]
cmp byte [eax + 0x57], 0
je 0x4aa1dc
mov eax, 0x5dfc94
jmp 0x4aa1e0
mov eax, dword [edx]
add eax, ebx
mov dword [eax + 8], ecx
mov eax, dword [esi]
mov ecx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x4aa1f4
mov eax, 0x5dfc9c
jmp 0x4aa1fb
mov eax, dword [edx]
add eax, 0x1c
add eax, ebx
mov dword [eax], ecx
xor ebx, ebx
mov ecx, dword [esp + 0x58]
xor eax, eax
cmp ax, word [ecx + 0x32]
jae 0x4aa23d
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x4c]
mov edx, ecx
add eax, ebx
mov ecx, esi
push eax
push ebx
push edi
call fcn.0047de10
mov ecx, dword [esp + 0x64]
inc ebx
add esp, 0xc
movzx eax, word [ecx + 0x32]
cmp ebx, eax
jl 0x4aa213
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x44]
xor edx, edx
mov dword [esp + 0x90], edx
movzx eax, word [ebx + 0x1e]
and eax, 1
mov dword [esp + 0x98], eax
xor eax, eax
cmp ax, word [ebx + 0x22]
jge 0x4aab8c
mov ebx, dword [ebx + 4]
mov eax, edx
shl eax, 4
add ebx, eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xb4], ebx
movsx eax, word [eax + 0x20]
cmp edx, eax
je 0x4aab74
cmp dword [esp + 0x98], 0
lea ecx, [ebx + 4]
mov dword [esp + 0x80], ecx
je 0x4aa2b4
mov eax, dword [ecx]
and eax, 0xf0
cmp dword [esp + 0xa0], eax
sbb eax, eax
neg eax
jmp 0x4aa2c4
xor eax, eax
mov dword [esp + 0x80], ecx
cmp byte [ebx + 8], 0x41
setg al
test byte [ecx], 0xf
mov dword [esp + 0xb0], eax
jne 0x4aa2d8
test eax, eax
je 0x4aab74
test byte [ebx + 0xe], 0x20
mov dword [esp + 0x18], 5
je 0x4aa30d
push 3
push edx
push dword [esp + 0x74]
mov edx, dword [esp + 0x50]
mov ecx, esi
call fcn.0047e040
add esp, 0xc
mov dword [esp + 0x48], 0xffffffff
mov ebx, 3
jmp 0x4aa3f3
movzx eax, word [ebx + 0xc]
mov edi, dword [esp + 0x44]
test ax, ax
je 0x4aa3a8
cmp byte [edi + 0x2b], 0
mov dword [esp + 0x38], 0
jne 0x4aa3a8
mov ecx, dword [edi + 0x34]
test ecx, ecx
je 0x4aa3a8
cmp dword [ecx], eax
jl 0x4aa3a8
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
test edx, edx
je 0x4aa3a1
push ecx
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x3c]
push eax
movzx eax, byte [ebx + 8]
push eax
movzx eax, byte [ecx + 0x54]
push eax
call fcn.00460120
mov ebx, dword [esp + 0x48]
add esp, 0x10
test ebx, ebx
je 0x4aa3a1
movzx ecx, word [ebx + 0x10]
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x5b74a8]
mov dword [esp + 0x18], eax
test ecx, 0x9000
jne 0x4aa390
cmp dword [ebx + 0x18], 0
je 0x4aa397
mov ecx, ebx
call fcn.0045f2b0
mov ecx, dword [ebx + 0x14]
mov edx, ebx
call fcn.0043b330
mov edx, dword [esp + 0x90]
test byte [edi + 0x1c], 0x80
mov ecx, edi
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x48], eax
je 0x4aa3eb
call fcn.0048c4c0
xor ecx, ecx
movzx edx, word [eax + 0x34]
test edx, edx
je 0x4aa3e1
mov edi, dword [esp + 0x90]
mov eax, dword [eax + 4]
movzx ebx, di
cmp bx, word [eax]
je 0x4aa3e6
inc ecx
add eax, 2
cmp ecx, edx
jl 0x4aa3d4
or eax, 0xffffffff
jmp 0x4aa3f0
movzx eax, cx
jmp 0x4aa3f0
call fcn.0048c510
movsx ebx, ax
mov edi, dword [esp + 0x24]
mov ecx, esi
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x78], eax
mov eax, dword [edi + 0x38]
dec eax
mov dword [esp + 0x94], ebx
mov dword [esp + 0x38], eax
dec eax
mov dword [edi + 0x38], eax
mov edi, dword [esp + 0x80]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x3c], eax
test byte [edi], 0xf
mov edi, dword [esp + 0x70]
je 0x4aa61d
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi]
mov dword [esp + 0x8c], edx
cmp dword [ecx], edx
jg 0x4aa46f
push ebx
push eax
push dword [esp + 0x50]
mov edx, 0x12
mov ecx, esi
call fcn.00460920
mov edx, eax
add esp, 0xc
mov dword [esp + 0x8c], edx
jmp 0x4aa4a4
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x70]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x4aa4c4
mov ebx, dword [esp + 0x18]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], ebx
jmp 0x4aa4c8
mov edx, dword [esp + 0x34]
mov eax, dword [edi]
test eax, eax
jle 0x4aa4dd
lea ecx, [eax + eax*4]
mov eax, dword [edx]
mov edx, 0xf
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0xb4]
push dword [eax]
mov eax, dword [esp + 0x48]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.0043e040
mov edx, dword [edi]
mov ebx, eax
mov eax, dword [esp + 0x2c]
add esp, 0x10
cmp dword [eax], edx
jg 0x4aa522
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov edx, eax
jmp 0x4aa55b
mov esi, dword [esp + 0x50]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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
push 0xfffffffffffffffa
push ebx
mov ecx, esi
call fcn.00461760
mov ebx, dword [esp + 0xb8]
add esp, 8
test ebx, ebx
je 0x4aa609
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
mov edx, dword [esp + 0x38]
cmp dword [eax], ecx
jg 0x4aa59b
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4aa5cc
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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 0x4aa5f2
mov ecx, dword [esp + 0xb8]
mov eax, 0x5dfc94
mov dword [eax + 8], edx
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0x3c]
jmp 0x4aa624
mov eax, dword [esp + 0x8c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0x3c]
jmp 0x4aa624
mov ebx, dword [esp + 0xb0]
cmp dword [esp + 0x98], 0
je 0x4aa787
test ebx, ebx
je 0x4aa71f
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi]
cmp dword [ecx], edx
jg 0x4aa664
mov ebx, dword [esp + 0x94]
mov edx, 0x12
push ebx
push eax
push dword [esp + 0x50]
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov edx, eax
jmp 0x4aa69c
mov ebx, dword [esp + 0x48]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x94]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov ebx, dword [esp + 0x34]
cmp byte [eax + 0x57], 0
jne 0x4aa6ba
mov eax, dword [ebx]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x18]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov ecx, dword [edi]
test ecx, ecx
jle 0x4aa6e0
mov eax, dword [esp + 0x80]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax]
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x5b2a97]
mov eax, dword [ebx]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x84]
mov eax, dword [edx + 4]
push dword [ecx + eax]
mov eax, dword [esp + 0x84]
push dword [edx]
mov eax, dword [eax]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x5dbc3c]
push str.non__s_value_in__s._s
push dword [esp + 0x20]
call fcn.0043e040
add esp, 0x14
jmp 0x4aaaaf
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x50], esi
mov dword [esp + 0x7c], edx
cmp dword [esp + 0x98], 0
jne 0x4aab1a
cmp byte [eax + 8], 0x43
jl 0x4aab1a
mov eax, dword [esp + 0x1c]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x4aa8f3
mov ebx, dword [esp + 0x94]
mov edx, 0x12
push ebx
push dword [esp + 0x40]
mov ebx, dword [esp + 0x50]
mov ecx, esi
push ebx
call fcn.00460920
add esp, 0xc
mov edx, eax
jmp 0x4aa92f
mov eax, dword [esp + 0x78]
mov esi, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x7c], edx
cmp byte [eax + 8], 0x42
jne 0x4aa73a
mov eax, dword [esp + 0x1c]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x4aa7d5
mov ebx, dword [esp + 0x94]
mov edx, 0x12
push ebx
push dword [esp + 0x40]
push dword [esp + 0x50]
call fcn.00460920
mov esi, dword [esp + 0x40]
add esp, 0xc
mov edx, eax
jmp 0x4aa80d
mov esi, dword [esp + 0x34]
lea eax, [edx + 1]
mov ebx, dword [esp + 0x48]
lea ecx, [edx + edx*4]
mov dword [edi], eax
mov eax, dword [esi]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x94]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x4aa82e
mov eax, dword [esi]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x18]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [edi]
test eax, eax
jle 0x4aa843
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x84]
mov eax, dword [edx + 4]
push dword [ecx + eax]
push dword [edx]
push str.NUMERIC_value_in__s._s
push dword [esp + 0x1c]
call fcn.0043e040
mov edx, dword [edi]
mov esi, eax
mov eax, dword [esp + 0x2c]
add esp, 0x10
cmp dword [eax], edx
jg 0x4aa88c
push 0
push 3
push 0
mov edx, 0x75
mov ecx, ebx
call fcn.00460920
add esp, 0xc
mov edx, eax
jmp 0x4aa8c5
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x70]
mov eax, dword [eax]
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
push 0xfffffffffffffffa
push esi
mov ecx, ebx
call fcn.00461760
mov eax, dword [esp + 0x80]
mov esi, ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x58], esi
mov dword [esp + 0x84], eax
jmp 0x4aab17
mov ebx, dword [esp + 0x48]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x94]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x4aa953
mov esi, dword [esp + 0x18]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
mov dword [eax + ecx*4 + 0x10], esi
mov esi, dword [esp + 0x50]
mov byte [eax + ecx*4 + 1], 0xfd
jmp 0x4aa957
mov edx, dword [esp + 0x34]
mov eax, dword [edi]
test eax, eax
jle 0x4aa96c
lea ecx, [eax + eax*4]
mov eax, dword [edx]
mov edx, 0x1b
mov word [eax + ecx*4 - 0x12], dx
test ebx, ebx
js 0x4aa98b
mov edx, dword [esp + 0x44]
mov ecx, esi
push 3
push dword [esp + 0x94]
push dword [esp + 0x74]
call fcn.0047e040
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x4aa9b2
push 0
push 1
push 3
mov edx, 0x60
mov ecx, esi
call fcn.00460920
mov ebx, dword [esp + 0x40]
add esp, 0xc
mov edx, eax
jmp 0x4aa9eb
mov ebx, dword [esp + 0x34]
lea eax, [edx + 1]
mov esi, dword [esp + 0x50]
lea ecx, [edx + edx*4]
mov dword [edi], eax
mov eax, dword [ebx]
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
push 0xffffffffffffffff
push 0x5af164
mov ecx, esi
call fcn.00461760
mov eax, dword [esp + 0x24]
add esp, 8
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x4aaa21
push 3
push dword [esp + 0x40]
mov edx, 0x12
mov ecx, esi
push 0xffffffffffffffff
call fcn.00460920
add esp, 0xc
mov edx, eax
jmp 0x4aaa52
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x3c]
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 [esi]
cmp byte [eax + 0x57], 0
jne 0x4aaa72
mov ebx, dword [esp + 0x18]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], ebx
jmp 0x4aaa76
mov edx, dword [esp + 0x34]
mov eax, dword [edi]
test eax, eax
jle 0x4aaa8b
lea ecx, [eax + eax*4]
mov eax, dword [edx]
mov edx, 0x1c
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x84]
mov eax, dword [edx + 4]
push dword [ecx + eax]
push dword [edx]
push str.TEXT_value_in__s._s
push dword [esp + 0x1c]
call fcn.0043e040
add esp, 0x10
mov edx, dword [edi]
mov ebx, eax
mov eax, dword [esp + 0x1c]
cmp dword [eax], edx
jg 0x4aaad4
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov edx, eax
jmp 0x4aab0d
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x70]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 4], 0
push 0xfffffffffffffffa
push ebx
mov ecx, esi
call fcn.00461760
add esp, 8
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x38]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4aab38
push edx
mov edx, esi
call fcn.00460fb0
add esp, 4
jmp 0x4aab40
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
mov ecx, esi
call fcn.004a6230
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x3c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4aab65
push edx
mov edx, esi
call fcn.00460fb0
add esp, 4
jmp 0x4aab6d
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x44]
inc edx
mov dword [esp + 0x90], edx
movsx eax, word [ebx + 0x22]
cmp edx, eax
jl 0x4aa264
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x4aad31
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x4aad31
push eax
mov ecx, ebx
call fcn.00479f90
add esp, 4
mov edx, eax
cmp byte [ebx + 0x57], 0
mov dword [esp + 0x38], edx
jne 0x4aad26
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x38]
dec ecx
mov dword [esp + 0x78], ecx
dec ecx
mov dword [eax + 0x38], ecx
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x8c], ecx
inc eax
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x34], eax
mov ebx, dword [edx]
dec ebx
test ebx, ebx
jle 0x4aac27
mov esi, dword [esp + 0x78]
lea edi, [ebx*4 + 2]
add edi, ebx
lea edi, [edx + edi*4]
push 0
push esi
push dword [edi]
push ecx
call fcn.004814c0
mov ecx, dword [esp + 0x34]
lea edi, [edi - 0x14]
dec ebx
add esp, 0x10
test ebx, ebx
jg 0x4aac01
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x70]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x8c]
push 0x10
push ebx
push dword [edx + 8]
push ecx
call fcn.00480f60
mov ecx, dword [esi + 0xc]
add esp, 0x10
mov edx, dword [esp + 0x78]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4aac5b
push edx
mov edx, esi
call fcn.00460fb0
add esp, 4
jmp 0x4aac63
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x24]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x44]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x18]
call fcn.0043e040
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1c]
cmp dword [eax], edx
jg 0x4aacac
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov edx, eax
jmp 0x4aace5
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x70]
mov eax, dword [eax]
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
push 0xfffffffffffffffa
push dword [esp + 0x7c]
mov ecx, esi
call fcn.00461760
add esp, 8
mov ecx, esi
call fcn.004a6230
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4aad16
push ebx
mov edx, esi
call fcn.00460fb0
add esp, 4
jmp 0x4aad1e
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebx*4], eax
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
test edx, edx
je 0x4aad31
mov ecx, ebx
call fcn.0047ac20
cmp byte [esp + 0x77], 0x71
je 0x4ab35a
mov eax, dword [esp + 0x20]
mov ebx, dword [eax]
mov dword [esp + 0x3c], ebx
test ebx, ebx
je 0x4ab35a
mov eax, dword [esp + 0x9c]
mov ecx, 8
sub ecx, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x24]
nop dword [eax + eax]
dec dword [ecx + 0x38]
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x78], eax
cmp dword [esp + 0x58], ebx
je 0x4ab347
push dword [esp + 0x5c]
lea eax, [esp + 0xc4]
mov edx, ebx
push dword [esp + 0xb0]
push eax
push 0
push 0
push dword [esp + 0x80]
call fcn.004973e0
mov edx, dword [esp + 0x50]
add esp, 0x18
mov ecx, dword [edi]
add edx, dword [esp + 0x48]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xac], ebx
cmp dword [eax], ecx
jg 0x4aaddf
push 0
push 1
push edx
mov edx, 0x56
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4aae14
mov ebx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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
movzx eax, word [ebx + 0x34]
mov ebx, dword [edi]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x1c]
cmp dword [eax], ebx
jg 0x4aae49
push dword [esp + 0x5c]
mov edx, dword [esp + 0x7c]
mov ecx, esi
push edx
push dword [esp + 0x50]
mov edx, 0x1d
call fcn.00460920
add esp, 0xc
mov ebx, eax
jmp 0x4aae7e
mov edx, dword [esp + 0x48]
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x4aae9f
mov eax, dword [esp + 0x34]
lea ecx, [ebx + ebx*4]
mov edx, dword [esp + 0x8c]
mov eax, dword [eax]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
push 0
push str.row
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460bd0
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4aaedc
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4aaf11
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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 0
push str._missing_from_index
push 0
push 4
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460bd0
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4aaf4e
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4aaf83
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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 + 0x3c]
mov edx, 0x75
push 0
mov ecx, esi
push dword [eax]
push 0
push 4
push 0
call fcn.00460bd0
mov ecx, dword [edi]
add esp, 0x14
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jg 0x4aafc8
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4aaffd
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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.004a6230
mov ecx, dword [esi]
mov edx, dword [edi]
mov dword [esp + 0x84], eax
cmp byte [ecx + 0x57], 0
je 0x4ab01c
mov ecx, 0x5dfc94
jmp 0x4ab028
mov eax, dword [esp + 0x34]
lea ecx, [ebx + ebx*4]
mov eax, dword [eax]
lea ecx, [eax + ecx*4]
mov ebx, dword [esp + 0x3c]
mov dword [ecx + 8], edx
cmp byte [ebx + 0x36], 0
je 0x4ab2e3
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov dword [esp + 0x78], ecx
dec dword [eax + 0x38]
mov edx, dword [eax + 0x38]
xor eax, eax
mov dword [esp + 0x18], edx
cmp ax, word [ebx + 0x32]
jae 0x4ab0ed
mov ebx, dword [esp + 0x5c]
nop dword [eax]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
movsx ecx, word [eax + ecx*2]
test ecx, ecx
js 0x4ab07f
mov eax, dword [esp + 0x44]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x4ab0d3
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4ab0a2
push 0
push edx
push ebx
mov edx, 0x32
mov ecx, esi
call fcn.00460920
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x4ab0d3
mov esi, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebx
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 + 0x3c]
inc ebx
mov ecx, dword [esp + 0x78]
inc ecx
mov dword [esp + 0x78], ecx
movzx eax, word [eax + 0x32]
cmp ecx, eax
jl 0x4ab060
mov eax, dword [esp + 0x1c]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x4ab112
push 0
push 0
push dword [esp + 0x50]
mov edx, 0x27
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov ebx, eax
jmp 0x4ab147
mov edx, dword [esp + 0x48]
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x27
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 + 0x1c]
mov ecx, dword [edi]
mov edx, dword [esp + 0x18]
cmp dword [eax], ecx
jg 0x4ab16b
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4ab19c
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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 0x4ab1b1
mov ebx, dword [esp + 0x34]
mov eax, 0x5dfc94
jmp 0x4ab1bd
lea ecx, [ebx + ebx*4]
mov ebx, dword [esp + 0x34]
mov eax, dword [ebx]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x3c]
mov edx, dword [edi]
movzx eax, word [eax + 0x32]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1c]
cmp dword [eax], edx
jg 0x4ab1f6
push dword [esp + 0x5c]
mov ebx, dword [esp + 0x1c]
mov edx, 0x29
push ebx
push dword [esp + 0x50]
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov edx, eax
jmp 0x4ab22b
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x18]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x70]
mov dword [eax + ecx*4], 0x29
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x4ab249
mov eax, dword [esp + 0x34]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x78]
mov eax, dword [eax]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
push 0
push str.non_unique_entry_in_index
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460bd0
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
mov edx, dword [esp + 0x8c]
cmp dword [eax], ecx
jg 0x4ab28c
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4ab2bd
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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 0x4ab2d7
push ebx
mov edx, esi
call fcn.00460fb0
add esp, 4
jmp 0x4ab2df
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebx*4], eax
mov ebx, dword [esp + 0x3c]
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x4ab2f4
mov eax, 0x5dfc94
jmp 0x4ab307
mov eax, dword [esp + 0x84]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0xc0]
test edx, edx
je 0x4ab343
mov eax, dword [esp + 0x24]
not edx
mov ebx, dword [eax + 8]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4ab336
push edx
mov edx, ebx
call fcn.00460fb0
add esp, 4
jmp 0x4ab33f
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx + 0x6c]
mov dword [ecx + edx*4], eax
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x48]
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x4aad70
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4ab384
mov edx, dword [esp + 0x54]
mov ecx, esi
push 0
push edx
push dword [esp + 0x74]
mov edx, 0x27
call fcn.00460920
mov ebx, dword [esp + 0x40]
add esp, 0xc
jmp 0x4ab3b9
mov ebx, dword [esp + 0x34]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x6c]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [ebx]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4], 0x27
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 0x4ab3ca
mov eax, 0x5dfc9c
jmp 0x4ab3d9
mov eax, dword [esp + 0x54]
lea ecx, [eax + eax*4]
mov eax, dword [ebx]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
cmp byte [esp + 0x77], 0x71
mov dword [eax], edx
je 0x4ab5fe
push 0
push str.wrong__of_entries_in_index
push 0
push 2
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460bd0
mov eax, dword [esp + 0x34]
add esp, 0x14
mov eax, dword [eax]
mov dword [esp + 0x20], eax
test eax, eax
je 0x4ab5b8
mov ecx, dword [esp + 0x58]
mov edx, 8
mov dword [esp + 0x38], edx
cmp ecx, eax
je 0x4ab5a4
mov ebx, dword [esp + 0x9c]
mov eax, dword [esp + 0x1c]
add ebx, 0xfffffff8
mov ecx, dword [edi]
add ebx, edx
cmp dword [eax], ecx
jg 0x4ab459
push 0
push 3
push ebx
mov edx, 0x62
mov ecx, esi
call fcn.00460920
mov edx, dword [esp + 0x44]
add esp, 0xc
jmp 0x4ab48e
mov esi, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x62
mov dword [eax + ecx*4 + 4], ebx
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 + 0x1c]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x4ab4b0
push 3
push 0
push edx
mov edx, 0x35
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov ebx, eax
jmp 0x4ab4e5
mov esi, dword [esp + 0x50]
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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 [edi]
test eax, eax
jle 0x4ab4fe
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0x20]
mov edx, 0x75
push 0
mov ecx, esi
push dword [eax]
push 0
push 4
push 0
call fcn.00460bd0
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4ab53c
push 3
push 2
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4ab571
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
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.004a6230
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x4ab589
mov eax, 0x5dfc94
jmp 0x4ab595
mov eax, dword [esp + 0x34]
lea ecx, [ebx + ebx*4]
mov eax, dword [eax]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x58]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
mov eax, dword [eax + 0x14]
inc edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], edx
test eax, eax
jne 0x4ab421
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4ab5fe
movzx eax, word [eax + 0x32]
cmp eax, 1
jne 0x4ab5eb
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x4ab5fe
mov ecx, dword [esp + 0x24]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x4ab5fe
movzx eax, al
mov dword [ecx + eax*4 + 0x9c], edx
inc byte [ecx + 0x13]
jmp 0x4ab5fe
mov ecx, dword [esp + 0x24]
cmp eax, dword [ecx + 0x1c]
jle 0x4ab5fe
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [esp + 0x60], eax
test eax, eax
jne 0x4a9ca8
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x68], ecx
cmp ecx, dword [ebx + 0x14]
jl 0x4a98f5
push ecx
push 0x5b35ec
mov edx, 7
mov ecx, esi
call fcn.00461190
mov edx, eax
add esp, 8
test edx, edx
je 0x4ab67c
mov eax, 1
mov byte [edx + 0x29], 0xff
sub eax, dword [esp + 0x30]
mov ecx, str.unknown_error
mov dword [edx + 8], eax
mov eax, dword [str.database_disk_image_is_malformed]
test eax, eax
mov dword [edx + 0x38], 0x5c156c
cmovne ecx, eax
mov byte [edx + 0x65], 0xff
mov dword [edx + 0x74], ecx
mov edx, dword [esp + 0x28]
jmp 0x4ab683
mov edx, dword [esp + 0x7c]
add edx, 0x68
mov eax, dword [esi]
mov ecx, dword [edi]
sub ecx, 2
cmp byte [eax + 0x57], 0
mov eax, 0x5dfc94
jne 0x4ab697
mov eax, dword [edx]
mov dword [eax + 0xc], ecx
jmp 0x4a6cf5
mov dword [esp + 0x14], ebx
test edx, edx
jne 0x4ab6eb
mov ecx, dword [esp + 0x24]
call fcn.004ad850
test eax, eax
jne 0x4a6cf5
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
movzx eax, byte [eax + 0x54]
mov eax, dword [eax*8 + 0x5b4a38]
test eax, eax
je 0x4a7463
push 0
push eax
push 0
push 1
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460bd0
jmp 0x4a7408
mov edx, dword [esp + 0x10]
test byte [edx + 0x18], 0x40
jne 0x4a6cf5
mov edi, 0x5b4a38
mov edx, ebx
mov dword [esp + 0x20], edi
mov edi, dword [str.UTF8]
mov dword [esp + 0x14], edx
test edi, edi
je 0x4ab79a
mov dword [esp + 0x14], ebx
nop word [eax + eax]
mov edx, dword [esp + 0x2c]
sub edi, edx
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x4ab7c5
test eax, eax
jne 0x4ab7d7
mov edi, dword [esp + 0x20]
mov ebx, 2
mov esi, dword [esp + 0x10]
mov edx, 0x5b3024
push 0
mov cl, byte [edi + 4]
movzx eax, cl
test cl, cl
lea ecx, [esi + 0x1b0]
cmovne ebx, eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], bl
mov byte [esi + 0x54], bl
call fcn.004407e0
add esp, 4
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4ab789
movzx eax, bl
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
add ecx, 0xffffffec
mov edx, dword [esp + 0x14]
mov dword [esi + 8], ecx
mov edi, dword [edi]
test edi, edi
jne 0x4a6cf9
push dword [esp + 0x2c]
push str.unsupported_encoding:__s
push dword [esp + 0x2c]
call fcn.0043f000
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x10]
call fcn.0043b330
mov eax, dword [esp + 0x2c]
jmp 0x4a6d0a
movzx ecx, byte [eax + 0x5b3648]
movzx eax, byte [esi + 0x5b3648]
sub ecx, eax
jne 0x4ab7dd
inc edx
jmp 0x4ab726
mov ecx, dword [esp + 0x20]
add ecx, 8
mov dword [esp + 0x20], ecx
mov edi, dword [ecx]
test edi, edi
jne 0x4ab720
jmp 0x4ab79a
mov eax, dword [ecx + 8]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x9c]
bts eax, edx
mov dword [esi + 0x9c], eax
cmp edx, 1
je 0x4ab839
mov eax, dword [esi]
mov edx, dword [esp + 0x58]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x4ab839
mov eax, dword [esi + 0xa0]
mov edx, dword [esp + 0x40]
bts eax, edx
mov dword [esi + 0xa0], eax
cmp dword [esp + 0x2c], 0
je 0x4ab8c8
test byte [ecx + 5], 8
jne 0x4ab8c8
push ecx
push 0x5b231c
mov edx, 2
mov ecx, esi
call fcn.00461190
mov edi, dword [esp + 0x30]
lea edx, [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov esi, eax
mov eax, dword [esp + 0x48]
add esp, 8
mov dword [esp + 0x28], 0
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edi
call fcn.0043fb80
mov ecx, dword [esp + 0x28]
mov eax, 1
mov dword [esi + 0x20], ecx
mov word [esi + 0x16], ax
cmp edi, eax
jne 0x4ab8b4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x4ab8b4
mov byte [esi + 0x14], 0xb8
mov ecx, dword [esp + 0x10]
mov edx, ebx
call fcn.0043b330
mov eax, dword [esp + 0x2c]
jmp 0x4a6d0a
push ecx
push 0x5b7bac
mov edx, 3
mov ecx, esi
call fcn.00461190
mov ecx, dword [esp + 0x48]
add esp, 8
mov dword [esp + 0x14], ebx
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x20], ecx
mov ecx, 1
mov edx, dword [edi]
cmp edx, ecx
jle 0x4a6cf5
mov esi, dword [esi + 0x68]
mov dword [esp + 0x14], ebx
lea eax, [esi + 0x14]
nop dword [eax + eax]
cmp byte [eax], 0xa6
je 0x4ab922
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x4ab910
jmp 0x4a6cf5
mov byte [esi + 0x14], 0xb8
jmp 0x4a6cf5
mov ecx, dword [esp + 0x64]
xor eax, eax
mov dword [esp + 0x14], ebx
mov dword [ecx], 1
nop dword [eax + eax]
cmp eax, 0x29
ja 0x4ab9d5
mov ecx, dword [eax*4 + 0x5b5fd0]
inc eax
mov dword [esp + 0x28], eax
test ecx, ecx
je 0x4ab9d5
push 0
push ecx
push 0
push 1
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460bd0
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4ab99a
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00460920
mov eax, dword [esp + 0x34]
add esp, 0xc
jmp 0x4ab940
lea eax, [ecx + 1]
mov dword [edi], 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
mov eax, dword [esp + 0x28]
jmp 0x4ab940
mov edx, dword [edi]
mov ecx, 1
cmp edx, ecx
jle 0x4a6cf5
mov esi, dword [esi + 0x68]
lea eax, [esi + 0x14]
nop word [eax + eax]
cmp byte [eax], 0xa6
je 0x4ab922
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x4ab9f0
jmp 0x4a6cf5
mov eax, dword [esp + 0x3c]
mov ecx, 0xc
mov dword [esp + 0x14], ebx
cmp dword [eax], 0
mov eax, dword [esp + 0x2c]
cmovne ecx, dword [esp + 0x40]
xor edx, edx
mov dword [esp + 0x28], ecx
test eax, eax
je 0x4abaf9
mov edx, str.full
mov dword [esp + 0x14], ebx
sub eax, edx
mov dword [esp + 0xc0], eax
nop
movzx ecx, byte [eax + edx]
movzx eax, byte [edx]
cmp ecx, eax
jne 0x4aba57
test ecx, ecx
jne 0x4aba69
lea edx, [ecx + 1]
jmp 0x4abaf9
movzx eax, byte [eax + 0x5b3648]
movzx ecx, byte [ecx + 0x5b3648]
sub ecx, eax
jne 0x4aba73
mov eax, dword [esp + 0xc0]
inc edx
jmp 0x4aba40
mov edx, dword [esp + 0x2c]
mov ecx, str.restart
sub ecx, edx
mov dword [esp + 0xc0], ecx
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x4aba99
test eax, eax
jne 0x4abab2
lea edx, [eax + 2]
jmp 0x4abaf9
movzx ecx, byte [eax + 0x5b3648]
movzx eax, byte [ebx + 0x5b3648]
sub ecx, eax
jne 0x4abab5
mov ecx, dword [esp + 0xc0]
inc edx
jmp 0x4aba85
mov edx, dword [esp + 0x2c]
mov ecx, str.truncate
sub ecx, edx
mov dword [esp + 0xc0], ecx
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x4abadb
test eax, eax
jne 0x4abaf4
lea edx, [eax + 3]
jmp 0x4abaf9
movzx ecx, byte [eax + 0x5b3648]
movzx eax, byte [ebx + 0x5b3648]
sub ecx, eax
jne 0x4abaf7
mov ecx, dword [esp + 0xc0]
inc edx
jmp 0x4abac7
xor edx, edx
mov eax, dword [esp + 0x64]
mov dword [eax], 3
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4abb2f
push 1
push edx
push dword [esp + 0x30]
mov edx, 3
mov ecx, esi
call fcn.00460920
mov ebx, dword [esp + 0x88]
add esp, 0xc
add ebx, 0x68
jmp 0x4abb63
lea eax, [ecx + 1]
mov dword [edi], eax
lea ebx, [esi + 0x68]
mov eax, dword [ebx]
lea ecx, [ecx + ecx*4]
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4], 3
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4abb76
push 0
push 3
jmp 0x4a6ce4
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 3
jmp 0x4a6d4c
test edx, edx
je 0x4abbc5
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x28]
mov dword [esp + 0x28], 0
call fcn.0043fb80
push dword [esp + 0x28]
push dword [esp + 0x14]
call fcn.004e73b0
add esp, 8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x110], 0x4e7280
jne 0x4abbe8
mov eax, dword [eax + 0x114]
cdq
mov dword [esp + 0xc4], edx
jmp 0x4a731e
xor eax, eax
cdq
mov dword [esp + 0xc4], edx
jmp 0x4a731e
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x4abc10
push eax
call dword [0x5dac80]
mov edx, dword [esp + 0x14]
add esp, 4
cmp byte [edx + 0x5f], 0
jne 0x4abc21
mov ecx, edx
call fcn.00450d20
mov edx, dword [esp + 0x10]
xor esi, esi
mov dword [esp + 0x14], ebx
cmp dword [edx + 0x14], esi
jle 0x4abc61
xor edi, edi
mov dword [esp + 0x14], ebx
mov eax, dword [edx + 0x10]
mov eax, dword [eax + edi + 4]
test eax, eax
je 0x4abc58
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xe4]
push dword [eax + 0x2c]
call dword [0x5dacc4]
mov edx, dword [esp + 0x14]
add esp, 4
inc esi
add edi, 0x10
cmp esi, dword [edx + 0x14]
jl 0x4abc32
cmp byte [edx + 0x5f], 0
jne 0x4abc72
mov ecx, edx
call fcn.00450d70
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x4a6cf5
push eax
call dword [0x5dac88]
add esp, 4
jmp 0x4a6cf5
test edx, edx
je 0x4abcba
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x28]
mov dword [esp + 0x28], 0
call fcn.0043fb80
mov ecx, dword [esp + 0x28]
mov edx, ebx
mov dword [esp + 0x20], ecx
test cl, 2
je 0x4a6cf9
jmp 0x4abcc2
mov dword [esp + 0x20], 0xfffe
cmp dword [esp + 0x44], 0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x18], edx
lea eax, [edx + 1]
mov dword [ecx + 0x28], eax
mov ecx, dword [esp + 0x40]
je 0x4abce6
mov eax, ecx
mov dword [esp + 0x30], eax
jmp 0x4abcfe
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x30], eax
cmp ecx, eax
jg 0x4ac00b
mov eax, 1
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x30]
rol eax, cl
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
nop dword [eax]
cmp dword [esp + 0x40], 1
je 0x4abff0
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x58]
test dword [esp + 0x5c], eax
jne 0x4abd4a
mov ebx, dword [esp + 0x40]
bts eax, ebx
mov dword [ecx + 0x58], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x60], ebx
test ebx, ebx
je 0x4abfe4
nop dword [eax + eax]
mov ebx, dword [ebx + 8]
test dword [ebx + 0x1c], 0x100
je 0x4abfd2
mov ax, word [ebx + 0x26]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [ebx + 8]
mov dword [esp + 0xc0], ecx
test eax, eax
je 0x4abdb1
nop dword [eax]
test byte [eax + 0x38], 0x80
je 0x4abe44
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4abda0
test cx, cx
je 0x4abe44
mov ecx, dword [esp + 0x24]
push 0x70
push ebx
push dword [esp + 0x48]
call fcn.0049eb60
mov eax, dword [esp + 0xcc]
add esp, 0xc
mov esi, dword [esp + 0x1c]
mov ecx, dword [edi]
movsx edx, ax
mov eax, dword [esp + 0x20]
and eax, 1
add eax, 2
add eax, ecx
cmp dword [esi], ecx
mov esi, dword [esp + 0x50]
mov dword [esp + 0xc0], eax
jg 0x4abe0f
push edx
push eax
push dword [esp + 0x20]
mov edx, 0x21
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4abe44
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x18]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0xc0]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
push dword [ebx]
mov ecx, dword [esp + 0x5c]
mov eax, dword [edx + 0x10]
push dword [eax + ecx]
push str.ANALYZE___w_.__w_
push edx
call fcn.0043e040
add esp, 0x10
mov ebx, eax
test byte [esp + 0x20], 1
mov dword [esp + 0xc0], ebx
je 0x4abf68
mov edx, dword [esp + 0x24]
mov cl, byte [edx + 0x13]
test cl, cl
jne 0x4abe8b
mov eax, dword [esp + 0x64]
inc dword [eax]
mov ebx, dword [eax]
jmp 0x4abe9a
dec cl
movzx eax, cl
mov byte [edx + 0x13], cl
mov ebx, dword [edx + eax*4 + 0x9c]
mov eax, dword [esp + 0x1c]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x4abec7
push 0
push ebx
push 0
mov edx, 0x75
mov ecx, esi
call fcn.00460920
mov edx, eax
add esp, 0xc
mov eax, dword [esp + 0x7c]
add eax, 0x68
mov dword [esp + 0x28], eax
jmp 0x4abeff
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov edi, dword [esp + 0x70]
lea eax, [esi + 0x68]
mov dword [esp + 0x28], eax
mov eax, dword [eax]
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
push 0xfffffffffffffffa
push dword [esp + 0xc4]
mov ecx, esi
call fcn.00461760
mov eax, dword [esp + 0x24]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4abf35
push 0
push 1
push ebx
mov edx, 0x54
mov ecx, esi
call fcn.00460920
add esp, 0xc
jmp 0x4abfce
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4abfce
mov eax, dword [esp + 0x1c]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x4abf8b
push 0
push 0
push 0
mov edx, 0x94
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov edx, eax
jmp 0x4abfc1
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x70]
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
push 0xfffffffffffffffa
push ebx
mov ecx, esi
call fcn.00461760
add esp, 8
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x60]
mov ebx, dword [ebx]
mov dword [esp + 0x60], ebx
test ebx, ebx
jne 0x4abd70
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
inc dword [esp + 0x40]
add eax, 0x10
rol ecx, 1
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
cmp dword [esp + 0x40], ebx
jle 0x4abd20
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4ac025
push 0
push 0
push 0
mov edx, 0xa6
jmp 0x4a6ceb
lea eax, [ecx + 1]
mov dword [edi], 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 0x4a6d4c
test edx, edx
je 0x4ac07a
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0xc0]
call fcn.0043fa70
test eax, eax
jne 0x4ac07a
push dword [esp + 0xc4]
push dword [esp + 0xc4]
call fcn.0043add0
add esp, 8
call fcn.004e4f50
test eax, eax
je 0x4ac09b
or ecx, 0xffffffff
or edx, ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
jmp 0x4a7325
mov eax, dword [0x5dfe08]
test eax, eax
je 0x4ac0b3
push eax
call dword [0x5dac80]
mov eax, dword [0x5dfe08]
add esp, 4
mov ecx, dword [0x5dfe10]
mov edx, dword [0x5dfe14]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xa0], edx
test eax, eax
je 0x4ac0e9
push eax
call dword [0x5dac88]
mov ecx, dword [esp + 0xc4]
add esp, 4
mov edx, dword [esp + 0xa0]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
jmp 0x4a7325
test edx, edx
je 0x4ac1a6
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0xc0]
call fcn.0043fa70
test eax, eax
jne 0x4ac1a6
call fcn.004e4f50
test eax, eax
je 0x4ac132
or eax, 0xffffffff
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], eax
jmp 0x4ac170
mov eax, dword [0x5dfe08]
test eax, eax
je 0x4ac14a
push eax
call dword [0x5dac80]
mov eax, dword [0x5dfe08]
add esp, 4
mov ecx, dword [0x5dfe18]
mov dword [esp + 0x38], ecx
mov ecx, dword [0x5dfe1c]
mov dword [esp + 0x20], ecx
test eax, eax
je 0x4ac16c
push eax
call dword [0x5dac88]
add esp, 4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0xc4]
test edx, edx
jl 0x4ac1a6
mov ecx, dword [esp + 0xc0]
jg 0x4ac188
test ecx, ecx
je 0x4ac1a6
or eax, dword [esp + 0x20]
je 0x4ac19c
cmp dword [esp + 0x20], edx
jl 0x4ac1a6
jg 0x4ac19c
cmp dword [esp + 0x38], ecx
jbe 0x4ac1a6
push edx
push ecx
call fcn.0043af10
add esp, 8
call fcn.004e4f50
test eax, eax
je 0x4ac1c7
or ecx, 0xffffffff
or edx, ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
jmp 0x4a7325
mov eax, dword [0x5dfe08]
test eax, eax
je 0x4ac1df
push eax
call dword [0x5dac80]
mov eax, dword [0x5dfe08]
add esp, 4
mov ecx, dword [0x5dfe18]
mov edx, dword [0x5dfe1c]
jmp 0x4ac0bf
test edx, edx
je 0x4ac237
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0xc0]
call fcn.0043fa70
test eax, eax
jne 0x4ac237
cmp dword [esp + 0xc4], eax
jl 0x4ac237
mov eax, dword [esp + 0xc0]
jg 0x4ac21e
test eax, eax
jb 0x4ac237
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]
cdq
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
jmp 0x4a7325
test edx, edx
je 0x4ac292
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0xc0]
call fcn.0043fa70
test eax, eax
jne 0x4ac292
cmp dword [esp + 0xc4], eax
jl 0x4ac292
mov eax, dword [esp + 0xc0]
jg 0x4ac283
test eax, eax
jb 0x4ac292
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1f0], eax
mov eax, dword [esp + 0x10]
push 0xfffffffffffffff3
mov eax, dword [eax + 0x1f0]
cdq
mov dword [esp + 0xc4], eax
lea eax, [esp + 0xc4]
push eax
push ecx
push 1
mov dword [esp + 0xd4], edx
mov edx, 0x48
push ecx
mov ecx, esi
call fcn.00460d70
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jle 0x4ac378
lea eax, [ecx + 1]
mov edx, ebx
mov dword [edi], 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 0x4a6cf9
test edx, edx
je 0x4ac338
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x28]
mov dword [esp + 0x28], 0
call fcn.0043fb80
push dword [esp + 0x28]
push dword [esp + 0x14]
call fcn.004e6900
add esp, 8
mov eax, dword [esp + 0x10]
push 0xfffffffffffffff3
mov eax, dword [eax + 0x1f4]
cdq
mov dword [esp + 0xc4], eax
lea eax, [esp + 0xc4]
push eax
push ecx
push 1
mov dword [esp + 0xd4], edx
mov edx, 0x48
push ecx
mov ecx, esi
call fcn.00460d70
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4ac394
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.00460920
add esp, 0xc
mov edx, ebx
jmp 0x4a6cf9
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], 1
jmp 0x4a6ef8