Function at 0x5947d0
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1f0
mov esi, ecx
mov eax, dword [0x72a00c]
xor eax, ebp
mov dword [esp + 0x1e8], eax
mov ebx, dword [ecx + 0x68]
mov edx, dword [ecx]
mov dword [esp + 0x5c], 0
cmp dword [ecx + 0x24], 7
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x54], ebx
jne 0x59483f
xor ecx, ecx
mov dword [esp + 0x50], ecx
cmp byte [edx + 0x57], 0
jne 0x594824
cmp byte [edx + 0x58], 0
je 0x5a0e1a
push str.out_of_memory
push esi
call fcn.00592ac0
mov edx, dword [esp + 0x14]
add esp, 8
mov eax, 7
mov ecx, ebx
jmp 0x59487d
mov cl, byte [edx + 0x54]
mov edi, dword [esi + 0x58]
xor eax, eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], eax
mov dword [edx + 0x1b4], eax
mov eax, dword [edx + 0x120]
test eax, eax
je 0x5948fc
mov dword [esp + 0x50], 0
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x5c], 0
mov eax, 9
mov ebx, 7
cmp byte [edx + 0x57], 0
jne 0x5948bc
mov ebx, eax
cmp eax, 0x210a
jne 0x5948bc
push 0x718366
push 0x182cd
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
mov edi, ecx
call fcn.00576b00
mov ecx, edi
mov edx, dword [esp + 0x20]
add esp, 0x14
mov ebx, 0xb
cmp dword [esi + 0x7c], 0
jne 0x5a0c7e
cmp ebx, 0xc0a
je 0x5a0c7e
mov edi, ecx
cmp ebx, 0x204
je 0x5a0c44
cmp ebx, 0x65
je 0x5a0c3d
cmp ebx, 0x64
jne 0x5a0c4b
mov eax, str.another_row_available
jmp 0x5a0c69
mov dword [esp + 0x24], edi
mov byte [esp + 0x33], cl
lea eax, [esi + 0x58]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + eax*4]
lea eax, [esi + 0xd8]
mov dword [esp + 0x7c], eax
lea eax, [edx + 0x10]
mov dword [esp + 0x60], eax
lea eax, [esi + 0x7c]
mov dword [esp + 0x6c], eax
lea eax, [esi + 0x60]
mov dword [esp + 0x4c], eax
lea eax, [edx + 0x178]
mov dword [esp + 0x90], eax
lea eax, [edx + 0x174]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x10], 0
add dword [esp + 0x5c], 1
adc dword [esp + 0x94], 0
movzx edx, byte [ecx]
cmp edx, 0xb5
ja case.0x59499c.89
mov dword [esp + 4], ecx
jmp dword [edx*4 + 0x720110]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc]
mov dword [esp + 0x40], eax
lea eax, [eax + eax*4]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x34], eax
lea edi, [esi + eax*8]
mov dword [esp + 0x48], ebx
lea eax, [ebx + ebx*4]
mov dword [esp + 0x38], eax
lea ecx, [esi + eax*8]
mov dword [esp + 0x18], edi
movzx eax, word [edi + 0x10]
movzx ebx, word [ecx + 0x10]
mov dword [esp + 0x3c], eax
movzx edi, ax
mov dword [esp + 0x14], ebx
movzx ebx, bx
mov eax, ebx
mov dword [esp + 0x28], edi
and eax, edi
test al, 4
jne 0x594d60
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x34]
mov edi, ebx
lea ebx, [esi + ecx*8]
add ebx, 0x10
mov dword [esp + 0x34], ebx
mov ecx, dword [esp + 0x38]
lea esi, [esi + ecx*8]
add esi, 0x10
mov ebx, edi
or ebx, dword [esp + 0x28]
mov ecx, dword [esp + 4]
movzx ecx, word [ecx + 2]
test bl, 1
mov dword [esp + 0x38], edi
jne 0x595b71
mov dword [esp + 0x58], esi
and ecx, 0x47
cmp cx, 0x43
mov esi, dword [esp + 0x5c]
jb 0x599a0b
test bl, 2
mov edi, dword [esp + 0x28]
je 0x59e76f
and edi, 0x2e
cmp edi, 2
jne 0x594a6c
mov ecx, dword [esp + 0x18]
xor edx, edx
call fcn.0057b2f0
mov eax, dword [esp + 0x58]
movzx eax, word [eax]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
and eax, 0x2e
cmp ax, 2
jne 0x59e76f
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x44]
mov ecx, edi
xor edx, edx
call fcn.0057b2f0
jmp 0x59e777
mov eax, dword [ecx + 4]
mov ebx, ecx
mov ecx, dword [ecx + 8]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x40], eax
lea esi, [edi + eax*8]
movzx eax, word [esi + 0x10]
mov dword [esp + 0x28], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x48], ecx
lea ecx, [edi + ecx*8]
movzx eax, word [ecx + 0x10]
mov dword [esp + 0x38], eax
movzx eax, ax
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
and ebx, eax
mov eax, dword [esp + 0x18]
lea edi, [edi + eax*8]
mov dword [esp + 0x14], edi
test bl, 4
mov ebx, ecx
mov dword [esp + 0x34], esi
je 0x595a72
mov eax, dword [esi]
mov dword [esp + 0x28], eax
mov esi, dword [esi + 4]
mov ecx, dword [ebx]
mov edi, dword [ebx + 4]
movzx eax, dl
add eax, 0xffffffa0
cmp eax, 3
ja case.default.0x594b11
jmp dword [eax*4 + 0x7203fc]
test esi, esi
js 0x59b865
cmp ecx, 1
mov eax, edi
sbb eax, 0
mov edx, ecx
jl 0x59b8a8
mov eax, 0x7fffffff
sub eax, edi
mov ecx, edx
not ecx
cmp ecx, dword [esp + 0x28]
sbb eax, esi
jb 0x59db5b
jmp 0x59b8a8
mov eax, dword [ecx + 4]
mov edx, ecx
mov ecx, dword [ecx + 8]
mov edx, dword [edx + 0xc]
lea ebx, [edx + edx*4]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov esi, dword [edi + eax*8 + 0x10]
lea eax, [ecx + ecx*4]
movzx edx, word [edi + eax*8 + 0x10]
mov ecx, edx
mov dword [esp + 0x28], esi
or ecx, esi
lea esi, [edi + ebx*8]
mov dword [esp + 0x18], esi
test cl, 1
jne 0x594df4
mov dword [esp + 0x34], ebx
lea ecx, [edi + eax*8]
test dl, 0x24
je 0x599ad3
mov edi, dword [ecx]
mov edx, dword [ecx + 4]
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x14]
jmp 0x59c0f5
mov dword [esp + 0x130], 0xffffffff
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 4]
movzx ebx, byte [ecx]
mov word [eax + 2], 0
mov dword [eax + 0x20], 0
cmp byte [eax + 4], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ebx
je 0x595bbc
mov eax, dword [ecx + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea ebx, [eax + edx*8]
movzx edi, word [ebx + 0x10]
mov ecx, edi
and ecx, 0x2e
mov eax, edi
cmp cx, 2
jne 0x594c39
mov ecx, ebx
mov dword [esp + 0x14], edi
mov edi, edx
xor edx, edx
call fcn.0057b2f0
mov edx, edi
mov edi, dword [esp + 0x14]
movzx eax, word [ebx + 0x10]
movzx ecx, ax
test cl, 0x24
je 0x5999a9
mov eax, dword [ebx]
mov dword [esp + 0x14], eax
mov edx, dword [ebx + 4]
jmp 0x59b7ad
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x140], xmm0
movdqa xmmword [esp + 0x130], xmm0
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov edx, ecx
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x130], ecx
movzx ecx, word [edx + 0x10]
mov word [esp + 0x144], cx
xor edi, edi
cmp byte [edx], 0x2c
mov ecx, 0
sbb ecx, ecx
mov byte [esp + 0x146], cl
mov ecx, dword [edx + 0xc]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x24]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x134], ecx
xor ecx, ecx
dec ecx
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a0], ecx
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
mov esi, dword [eax + 0x2c]
mov ecx, esi
call fcn.0058dbc0
mov eax, dword [esi + 0x2c]
test eax, eax
jle 0x5a1070
mov word [esp + 0x190], 0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], edi
movzx ecx, word [esi + 0x30]
mov edx, dword [esi + 0x28]
mov ebx, dword [esi + 0x74]
mov ebx, dword [ebx + 0x3c]
sub ebx, edx
test ebx, ebx
cmovg edi, ebx
cmp ebx, ecx
cmovge edi, ecx
mov dword [esp + 0x188], edx
cmp edi, eax
jae 0x595a0d
lea edi, [esp + 0x180]
mov ecx, esi
xor edx, edx
push edi
push eax
call fcn.005a2300
add esp, 8
test eax, eax
jne 0x5a16e2
mov edx, dword [esp + 0x188]
mov eax, dword [esp + 0x18c]
jmp 0x595a1e
mov edi, dword [ecx]
mov eax, dword [ecx + 4]
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
mov esi, dword [esi + 4]
cmp ecx, edi
mov ebx, esi
sbb ebx, eax
jge 0x595b91
cmp byte [edx + 0x717dda], 0
jne 0x59a1c4
xor eax, eax
inc eax
mov dword [esp + 0x58], eax
jmp 0x59f90f
mov eax, dword [ecx + 4]
cmp eax, dword [0x72ddec]
jl 0x594de5
cmp dl, 0xb5
je case.0x59499c.89
mov ecx, dword [esi + 0x6c]
xor eax, eax
cmp ecx, 2
jl 0x594de1
xor edx, edx
inc edx
mov esi, 0x18
mov edi, dword [esp + 8]
mov edi, dword [edi + 0x68]
cmp byte [edi + esi - 4], 0xf
jne 0x594dd5
mov dword [edi + esi], 0
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x6c]
inc edx
add esi, 0x14
cmp edx, ecx
jl 0x594db9
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
inc eax
mov dword [ecx + 4], eax
inc dword [esi + 0xb0]
jmp 0x59e7ec
test byte [edi + ebx*8 + 0x11], 0x90
je 0x599b19
mov ecx, dword [esp + 0x18]
jmp 0x599e90
mov edx, dword [esp + 0xc]
cmp byte [edx + 0x57], 0
jne 0x5a107f
movzx ebx, word [ecx + 2]
lea edx, [ebx*4 + 0x44]
mov ecx, dword [esp + 0xc]
push 0
call fcn.00580000
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
add esp, 4
test eax, eax
je 0x5a107f
mov esi, eax
xor eax, eax
mov dword [esi + 8], eax
lea ecx, [esi + ebx*4]
add ecx, 0x1c
mov dword [esi], ecx
mov word [esi + ebx*4 + 0x2c], 1
mov dword [esi + ebx*4 + 0x30], edx
mov dword [esi + ebx*4 + 0x34], eax
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x10]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 4]
sub ecx, dword [esp + 0x54]
sar ecx, 2
imul ecx, ecx, 0xcccccccd
mov dword [esi + 0x10], ecx
mov ecx, dword [esp + 8]
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 4]
mov byte [esi + 0x19], 0
mov dword [esi + 0x14], eax
mov al, byte [esp + 0x33]
mov byte [esi + 0x18], al
mov byte [esi + 0x1a], bl
mov dword [ecx + 0x10], esi
mov word [ecx], 0xf1a3
jmp 0x5972eb
mov eax, ecx
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x10]
lea ebx, [ecx + ecx*4]
mov ecx, dword [esp + 0x24]
lea esi, [ecx + ebx*8]
xor edx, edx
lea ecx, [esp + 0x13c]
mov dword [ecx + 0x10], edx
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
lea ecx, [esp + 0x180]
movaps xmmword [ecx + 0x10], xmm0
mov dword [ecx + 0x24], edx
mov dword [ecx + 0x20], edx
movaps xmmword [ecx], xmm0
mov word [ecx + 0x10], 1
mov edx, dword [esi + 0x14]
mov dword [ecx + 0x14], edx
lea edi, [esp + 0x130]
mov dword [edi], ecx
mov dword [edi + 8], esi
mov dword [edi + 4], eax
mov cl, byte [edx + 0x54]
mov byte [edi + 0x18], cl
mov ecx, dword [eax + 0x14]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
xor eax, eax
cmp dword [esi + 0x18], eax
jle 0x594f27
mov eax, dword [esp + 0x24]
lea eax, [eax + ebx*8]
add eax, 0x14
mov edx, dword [eax + 0xc]
mov ecx, dword [eax]
call fcn.0057fe10
movsd xmm0, qword [esp + 0x1a0]
movsd qword [esi + 0x20], xmm0
movdqa xmm0, xmmword [esp + 0x180]
movapd xmm1, xmmword [esp + 0x190]
movupd xmmword [esi + 0x10], xmm1
movdqu xmmword [esi], xmm0
mov eax, dword [esp + 0x144]
test eax, eax
jne 0x5a115c
mov eax, dword [esp + 0x24]
lea eax, [eax + ebx*8]
add eax, 0x12
test byte [eax - 2], 2
mov ecx, dword [esp + 4]
jne 0x599986
mov dl, byte [esp + 0x33]
mov byte [eax], dl
jmp 0x59df8f
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x594fa6
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
mov dword [edx + eax*8 + 0xc], 0
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov dword [edx + eax*8 + 8], 0x704b43
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ecx + 4]
mov esi, dword [eax + edx*4]
test esi, esi
je 0x594fc9
test byte [esi + 8], 8
jne 0x594fc9
movsx eax, word [esi + 0x3c]
cmp dword [ecx + 8], eax
jle 0x59b767
mov ebx, ecx
mov ecx, dword [esp + 8]
push 0
push dword [ebx + 8]
call fcn.005a23d0
add esp, 8
test eax, eax
je 0x5a108a
mov esi, eax
or byte [eax + 8], 1
movzx eax, word [ebx + 2]
or eax, 5
lea edi, [esi + 0x10]
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx]
xor edx, edx
push 0x41e
push eax
push edi
push ebx
call fcn.00580d20
add esp, 0x10
test eax, eax
jne 0x5a11dc
mov ecx, dword [edi]
xor edx, edx
inc edx
push 0
call fcn.00577cb0
add esp, 4
test eax, eax
mov ecx, dword [esp + 4]
jne 0x59e9db
mov ebx, dword [ecx + 0x10]
mov dword [esi + 0x30], ebx
test ebx, ebx
je 0x59c217
movzx eax, word [ecx + 2]
or eax, 2
mov edx, esi
add edx, 0x38
mov ecx, dword [esi + 0x10]
push eax
call fcn.005a2500
add esp, 4
test eax, eax
jne 0x59506d
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x38]
push dword [esi + 0x2c]
push ebx
push 4
call fcn.005a8ab0
add esp, 0xc
xor ecx, ecx
jmp 0x59e9d4
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edi + 0x2c]
cmp byte [eax], 0
je 0x595097
mov ecx, edi
call fcn.005a2090
test eax, eax
jne 0x5a16e6
cmp byte [edi + 2], 0
je 0x599cdb
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
test byte [edx + eax*8 + 0x11], 0x90
je 0x59a434
lea ecx, [edx + eax*8]
call fcn.005930a0
mov ecx, dword [esp + 4]
jmp 0x5a0a97
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x180], 0
cmp dl, 0x89
jne 0x599919
mov dword [edi + 0x24], 0xffffffff
cmp byte [ecx], 0
jne 0x599928
jmp 0x59f913
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
mov eax, dword [ecx + 8]
lea esi, [eax + eax*4]
lea eax, [edx + esi*8]
add eax, 0x10
test byte [eax + 1], 0x90
mov dword [esp + 0x18], eax
je 0x599b29
lea ecx, [edx + esi*8]
mov edi, edx
call fcn.005a7630
mov edx, edi
mov ecx, dword [esp + 4]
jmp 0x599b2e
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea ecx, [ecx + eax*8]
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x599b91
mov eax, dword [ecx]
xor ebx, ebx
or eax, dword [ecx + 4]
setne bl
jmp 0x59ed52
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x18], eax
lea eax, [edi + eax*8]
mov dword [esp + 0x28], eax
cmp dword [ebx], eax
je 0x5951b1
mov dword [ebx + 0xc], esi
mov eax, dword [esp + 0x28]
mov dword [ebx], eax
mov al, byte [esp + 0x33]
mov byte [ebx + 0x18], al
movzx eax, byte [ebx + 0x1a]
test eax, eax
je 0x5951b1
mov edx, ecx
dec eax
mov ecx, dword [edx + 8]
add ecx, eax
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
mov dword [ebx + eax*4 + 0x1c], ecx
lea ecx, [eax - 1]
inc eax
cmp eax, 1
mov eax, ecx
ja 0x595197
mov eax, 0xfffff240
mov ecx, dword [esp + 0x18]
and eax, dword [edi + ecx*8 + 0x10]
or eax, 1
mov word [edi + ecx*8 + 0x10], ax
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x10]
lea edi, [ebx + 0x1c]
movzx esi, byte [ebx + 0x1a]
call dword [section..00cfg]
push edi
push esi
push ebx
call ecx
add esp, 0xc
cmp dword [ebx + 0x14], 0
je 0x59f90f
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x14], ebx
jle 0x59524f
xor eax, eax
cmp dword [esp + 0x28], 0
je 0x595231
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
lea ecx, [edi + ebx*8]
add ecx, 0x10
mov ecx, dword [ecx]
mov edx, ecx
not edx
test edx, 0x202
jne 0x59d5b5
cmp byte [edi + ebx*8 + 0x12], 1
jne 0x59d5b5
mov eax, dword [edi + ebx*8 + 8]
push eax
push 0x7048ef
push esi
call fcn.00592ac0
add esp, 0xc
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x7c]
mov esi, dword [eax]
test esi, esi
mov ecx, dword [esp + 4]
je 0x5952d5
mov eax, dword [ecx + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x10]
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x18], ebx
test ebx, ebx
js 0x59529b
cmp dword [esi], ebx
jne 0x595294
mov eax, dword [esi + 4]
test eax, eax
js 0x595294
cmp eax, 0x1f
ja 0x59529b
mov ebx, dword [esp + 0x28]
bt ebx, eax
mov ebx, dword [esp + 0x18]
jae 0x59529b
add esi, 0x10
mov edi, esi
jmp 0x5952cf
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x5952b9
mov ebx, dword [esi + 8]
call dword [section..00cfg]
push ebx
mov ebx, dword [esp + 0x1c]
call ecx
mov edx, dword [esp + 0x10]
add esp, 4
mov eax, dword [esi + 0x10]
mov dword [edi], eax
mov ecx, edx
mov edx, esi
call fcn.0057fe10
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov esi, dword [edi]
test esi, esi
jne 0x595273
mov eax, dword [esp + 0x14]
mov dword [eax + 0x14], 0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x59df8f
jmp 0x5a0ec1
inc dword [esi + 0xa0]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
cmp byte [eax], 1
mov dword [esp + 0x78], eax
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x44], ecx
jne 0x595ac5
cmp byte [ecx + 0x38], 0
je 0x599e5d
mov ebx, ecx
call fcn.005adf90
test eax, eax
jne 0x5a16e6
cmp byte [ebx + 0x3b], 0
mov eax, ebx
je 0x59b597
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x48], ecx
lea esi, [edi + edi*8]
lea ecx, [eax + esi*8]
add ecx, 0x40
mov dword [esp + 0x130], 0
mov edx, dword [ecx + 0x1c]
cmp edx, 0x11
mov dword [esp + 0x88], edi
jl 0x5959b2
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
lea eax, [eax + esi*8]
add eax, 0x5c
mov dword [esp + 0x68], eax
xor esi, esi
mov eax, 0x10
xor ecx, ecx
mov edi, edx
shld ecx, eax, 4
sar edi, 0x1f
shl eax, 4
cmp eax, edx
mov ebx, ecx
sbb ebx, edi
mov edi, esi
lea esi, [esi - 1]
jl 0x595386
mov dword [esp + 0x70], esi
xor eax, eax
mov dword [esp + 0x184], eax
mov dword [esp + 0x180], eax
mov ecx, dword [0x72dde0]
test ecx, ecx
je 0x5953d2
call dword [section..00cfg]
push 0x64
call ecx
add esp, 4
test eax, eax
jne 0x5a11bb
mov dword [esp + 0x74], edi
xor edi, edi
mov ecx, 0x3d0
xor edx, edx
call fcn.00576290
test eax, eax
je 0x5a11bb
lea ebx, [eax + 0x10]
push 0x3c0
push edi
push ebx
mov esi, eax
call fcn.006719e0
add esp, 0xc
mov dword [esi], 0x10
mov dword [esi + 4], edi
mov dword [esi + 0xc], ebx
mov eax, esi
add eax, 0x390
mov dword [esi + 8], eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x130], esi
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
test ecx, ecx
jle 0x5959e6
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x18]
lea eax, [eax + edx*8]
add eax, 0x48
mov dword [esp + 0x38], eax
neg dword [esp + 0x74]
mov dword [esp + 0x10], 0
xor edx, edx
lea esi, [esp + 0x128]
mov dword [esi], 0
mov dword [esp + 0x40], edx
sub ecx, edx
cmp ecx, 0x10
mov edx, 0x10
cmovl edx, ecx
lea eax, [esp + 0x180]
mov ecx, dword [esp + 0x14]
push esi
push eax
call fcn.005aee40
add esp, 8
test eax, eax
jne 0x5a0ecf
mov esi, dword [esp + 0x128]
mov ecx, dword [0x72dde0]
test ecx, ecx
je 0x5954b0
call dword [section..00cfg]
push 0x64
call ecx
add esp, 4
test eax, eax
jne 0x595535
xor ebx, ebx
mov ecx, 0x40
xor edx, edx
call fcn.00576290
test eax, eax
je 0x595535
mov dword [eax + 0x3c], ebx
mov dword [esp + 0x28], 0
mov dword [eax + 0x38], ebx
pxor xmm0, xmm0
movdqu xmmword [eax + 0x28], xmm0
movdqu xmmword [eax + 0x18], xmm0
movdqu xmmword [eax + 8], xmm0
mov dword [eax + 4], esi
mov edi, eax
mov eax, dword [esp + 0x14]
mov dword [edi], eax
mov esi, dword [esp + 0x38]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edx, ecx
shr edx, 0x1f
add edx, ecx
mov eax, dword [eax + 8]
add eax, 9
sar edx, 1
cmp eax, edx
cmovg edx, eax
mov dword [esp + 0x3c], edi
mov dword [edi + 0x10], edx
mov eax, edx
sar eax, 0x1f
add dword [esi + 0x38], edx
adc dword [esi + 0x3c], eax
mov al, 1
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x70]
cmp edx, 0xffffffff
jne 0x5955ec
jmp 0x595772
test esi, esi
je 0x5955cd
cmp dword [esi], 0
jle 0x595558
xor edi, edi
xor ebx, ebx
mov ecx, dword [esi + 0xc]
add ecx, edi
call fcn.00592830
inc ebx
add edi, 0x38
cmp ebx, dword [esi]
jl 0x595546
cmp dword [0x72dce0], 0
je 0x595978
mov edi, dword [0x73ee00]
test edi, edi
je 0x595581
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
je 0x5955cd
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov edx, dword [esp + 0x70]
cmp edx, 0xffffffff
je 0x5a0eca
xor eax, eax
mov dword [esp + 0x28], 7
mov dword [esp + 0x3c], 0
xor ebx, ebx
inc ebx
mov esi, dword [esp + 0x74]
mov ecx, esi
shl ebx, 4
dec ecx
jne 0x5955f5
cmp edx, 0xffffffff
sete cl
mov edx, eax
xor dl, 1
or dl, cl
mov ecx, dword [esp + 0x34]
jne 0x595762
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x10]
cdq
idiv ebx
lea edx, [eax + 0xf]
test eax, eax
cmovns edx, eax
and edx, 0xfffffff0
sub eax, edx
mov esi, dword [ecx + 0xc]
imul edi, eax, 0x38
mov eax, dword [esi + edi + 0x30]
test eax, eax
jne 0x595745
mov ecx, dword [0x72dde0]
test ecx, ecx
je 0x59565b
call dword [section..00cfg]
push 0x64
call ecx
add esp, 4
test eax, eax
jne 0x59582a
mov dword [esp + 0x28], edi
mov edi, esi
mov ecx, 0x3d0
xor edx, edx
call fcn.00576290
mov ecx, 7
test eax, eax
je 0x59582f
mov esi, eax
mov eax, dword [esp + 0x28]
add eax, edi
add eax, 0x30
mov dword [esp + 0x28], eax
lea edi, [esi + 0x10]
push 0x3c0
xor eax, eax
push eax
push edi
call fcn.006719e0
add esp, 0xc
mov dword [esi], 0x10
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi + 0xc], edi
mov eax, esi
add eax, 0x390
mov edi, esi
mov dword [esi + 8], eax
mov ecx, dword [0x72dde0]
test ecx, ecx
je 0x5956d6
call dword [section..00cfg]
push 0x64
call ecx
add esp, 4
test eax, eax
jne 0x59578e
xor esi, esi
mov ecx, 0x40
xor edx, edx
call fcn.00576290
test eax, eax
je 0x59578e
mov dword [eax + 0x3c], esi
mov dword [eax + 0x38], esi
pxor xmm0, xmm0
movdqu xmmword [eax + 0x28], xmm0
movdqu xmmword [eax + 0x18], xmm0
movdqu xmmword [eax + 8], xmm0
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov dword [eax + 4], edi
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
mov edi, dword [esp + 0x38]
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
mov esi, edx
shr esi, 0x1f
add esi, edx
mov ecx, dword [ecx + 8]
add ecx, 9
sar esi, 1
cmp ecx, esi
cmovg esi, ecx
mov dword [eax + 0x10], esi
mov eax, esi
sar eax, 0x1f
add dword [edi + 0x38], esi
adc dword [edi + 0x3c], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
lea edx, [ebx + 0xf]
test ebx, ebx
cmovns edx, ebx
mov ecx, dword [eax + 4]
sar edx, 4
mov ebx, edx
mov esi, dword [esp + 0x18]
dec esi
jne 0x595612
jmp 0x595772
test al, al
mov ecx, dword [esp + 0x28]
je 0x59582f
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x10]
and ecx, 0xf
imul ecx, ecx, 0x38
mov edx, dword [esp + 0x3c]
mov dword [eax + ecx + 0x30], edx
xor ecx, ecx
jmp 0x595957
mov eax, dword [esp + 0x28]
mov dword [eax], 0
mov ebx, edi
cmp dword [edi], 0
jle 0x5957b5
xor esi, esi
xor edi, edi
mov ecx, dword [ebx + 0xc]
add ecx, esi
call fcn.00592830
inc edi
add esi, 0x38
cmp edi, dword [ebx]
jl 0x5957a3
cmp dword [0x72dce0], 0
je 0x5959a0
mov esi, dword [0x73ee00]
test esi, esi
je 0x5957de
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
je 0x59582a
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ecx, 7
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x595957
mov dword [esp + 0x28], ecx
mov esi, dword [eax + 4]
test esi, esi
je 0x5958da
cmp dword [esi], 0
jle 0x595865
xor edi, edi
xor ebx, ebx
mov ecx, dword [esi + 0xc]
add ecx, edi
call fcn.00592830
inc ebx
add edi, 0x38
cmp ebx, dword [esi]
jl 0x595853
cmp dword [0x72dce0], 0
je 0x595995
mov edi, dword [0x73ee00]
test edi, edi
je 0x59588e
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
je 0x5958da
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
cmp dword [0x72dce0], 0
je 0x595983
mov esi, dword [0x73ee00]
test esi, esi
je 0x595903
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
mov esi, dword [esp + 0x3c]
push esi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
je 0x595953
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
mov eax, ecx
test ecx, ecx
jne 0x5959d1
inc dword [esp + 0x10]
add edx, 0x10
mov ecx, dword [esp + 0x68]
mov ecx, dword [ecx]
cmp ecx, edx
jg 0x59544f
jmp 0x5959d1
mov ecx, dword [0x72dd04]
jmp 0x5955c1
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push dword [esp + 0x3c]
jmp 0x59594e
mov ecx, dword [0x72dd04]
jmp 0x5958ce
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push ebx
jmp 0x595825
xor eax, eax
lea esi, [esp + 0x180]
mov dword [esi + 4], eax
mov dword [esi], eax
lea eax, [esp + 0x130]
push eax
push esi
call fcn.005aee40
add esp, 8
test eax, eax
mov ecx, dword [esp + 4]
jne 0x5a128a
mov ebx, dword [esp + 0x130]
jmp 0x5959ea
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x88]
inc edi
mov eax, dword [esp + 0x44]
movzx eax, byte [eax + 0x3b]
mov ecx, ebx
cmp edi, eax
mov eax, dword [esp + 0x44]
jb 0x595340
jmp 0x59b599
mov word [esp + 0x190], 0x4010
mov dword [esp + 0x18c], eax
lea esi, [esp + 0x130]
mov ecx, eax
push 0
push esi
call fcn.005a4be0
add esp, 8
mov esi, eax
cmp dword [esp + 0x198], 0
je 0x595a4a
lea ecx, [esp + 0x180]
call fcn.00593060
mov eax, esi
neg eax
inc esi
mov ecx, dword [esp + 4]
test byte [ecx], 1
cmove esi, eax
mov dword [esp + 0x10], 0
test esi, esi
mov esi, dword [esp + 8]
jg 0x59e7ec
jmp case.0x59499c.89
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x3c]
or eax, esi
test al, 1
jne 0x59fb95
and si, 0x2d
mov eax, ecx
jne 0x595a9f
mov ecx, dword [esp + 0x34]
call fcn.005a7690
mov esi, eax
movzx eax, word [ebx + 0x10]
and ax, 0x2d
jne 0x595aac
mov ecx, ebx
call fcn.005a7690
and eax, esi
test al, 4
je 0x59db5b
mov eax, dword [esp + 4]
mov dl, byte [eax]
mov esi, dword [esp + 0x34]
jmp 0x594af4
call fcn.005a7d30
xor ebx, ebx
inc ebx
cmp eax, 0x10
je 0x59a177
test eax, eax
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
jne 0x59cca9
mov eax, dword [esp + 0x44]
lea edi, [eax + 0x74]
mov dword [esp + 0x18], edi
mov ecx, dword [edi]
xor ebx, ebx
cmp byte [ecx + 8], 0
jne 0x59cae4
mov esi, dword [esp + 0x44]
movsx eax, byte [esi + 0x44]
cmp eax, 0x13
jge 0x59cc7a
mov edx, dword [ecx + 0x40]
movzx edi, word [esi + 0x46]
movzx edx, word [edx + edi*2]
rol dx, 8
movzx ebx, word [ecx + 0x1a]
and edx, ebx
mov ecx, dword [ecx + 0x38]
mov edx, dword [ecx + edx]
xor ebx, ebx
mov word [esi + 0x32], bx
and byte [esi + 1], 0xf9
mov word [esi + eax*2 + 0x48], di
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 0x74]
movsx ecx, byte [esi + 0x44]
mov dword [esi + ecx*4 + 0x78], eax
mov word [esi + 0x46], bx
inc byte [esi + 0x44]
bswap edx
movzx eax, byte [esi + 2]
mov ecx, dword [esi + 0x14]
push eax
push esi
push edi
call fcn.005a7ff0
add esp, 0xc
test eax, eax
mov edx, dword [esp + 0xc]
je 0x595af1
jmp 0x59cae6
mov ebx, ecx
test bl, bl
js 0x599a88
test cl, 0x10
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jne 0x59e7ec
xor eax, eax
inc eax
jmp 0x595bb3
cmp edi, ecx
sbb eax, esi
jge 0x599ab9
cmp byte [edx + 0x717dce], 0
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jne 0x59e7ec
xor eax, eax
dec eax
mov dword [esp + 0x58], eax
jmp case.0x59499c.89
mov esi, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
movzx edi, byte [esi + 3]
movzx edx, word [ecx + 0x10]
mov word [esp + 0x10], dx
lea edx, [esp + 0x180]
mov dword [edx], eax
mov eax, ebx
and eax, 1
xor ebx, ebx
cmp eax, 1
sbb ebx, ebx
movzx eax, word [esp + 0x10]
mov word [edx + 0x14], ax
or bl, 1
mov byte [edx + 0x16], bl
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea eax, [ecx + eax*8]
mov dword [edx + 4], eax
mov byte [edx + 0x1a], 0
lea eax, [esp + 0x130]
mov ecx, esi
push eax
call fcn.005a2fe0
add esp, 4
test eax, eax
jne 0x5a16e2
and edi, 2
mov ebx, edi
shr ebx, 1
test edi, edi
je 0x59b58a
cmp byte [esp + 0x19a], 0
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x28]
jne 0x59bec8
xor ebx, ebx
inc ebx
jmp 0x59cab9
xor eax, eax
mov dword [esp + 0x184], eax
mov dword [esp + 0x180], eax
mov edx, dword [esp + 0xc]
cmp byte [edx + 0x57], 0
jne 0x5a1083
mov eax, dword [ecx + 0x10]
mov edi, dword [eax + 8]
mov ebx, 6
test edi, edi
je 0x5a15cc
mov eax, dword [edi]
test eax, eax
je 0x5a15cc
cmp dword [eax + 0x34], 0
je case.0x59499c.89
mov dword [esp + 0x18], edi
mov edi, ecx
mov ecx, esi
mov esi, dword [edi + 8]
mov dl, byte [edx + 0x5c]
mov byte [esp + 0x10], dl
mov edi, dword [ecx + 0x5c]
test esi, esi
jle 0x595cca
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0xc]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x24]
lea ecx, [edx + ecx*8]
xor edx, edx
mov dword [edi + edx*4], ecx
add ecx, 0x28
inc edx
cmp esi, edx
jne 0x595cbf
mov ecx, dword [esp + 4]
mov cl, byte [ecx + 2]
mov ebx, dword [esp + 0xc]
mov byte [ebx + 0x5c], cl
mov ecx, dword [eax + 0x34]
call dword [section..00cfg]
lea eax, [esp + 0x180]
push eax
push edi
push esi
mov esi, dword [esp + 0x24]
push esi
call ecx
mov edx, ebx
add esp, 0x10
mov cl, byte [esp + 0x10]
mov byte [ebx + 0x5c], cl
mov edi, dword [esi + 8]
test edi, edi
je 0x59dda3
mov dword [esp + 0x28], eax
mov eax, dword [esp + 8]
mov ebx, dword [eax]
mov edx, dword [eax + 0x7c]
test edx, edx
je 0x595d30
mov ecx, ebx
call fcn.0057fe10
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 8]
test edi, edi
je 0x59dd08
push edi
call fcn.00687040
add esp, 4
inc eax
test ebx, ebx
je 0x59dcea
xor esi, esi
cmp byte [ebx + 0x57], 0
jne 0x59dd0a
mov ecx, ebx
mov ebx, eax
mov edx, eax
push 0
call fcn.00580000
add esp, 4
jmp 0x59dcf5
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
mov word [edx + eax*8 + 0x10], 4
mov ecx, dword [esp + 4]
sub ecx, dword [esp + 0x54]
sar ecx, 2
imul ecx, ecx, 0xcccccccd
mov dword [edx + eax*8], ecx
sar ecx, 0x1f
mov dword [edx + eax*8 + 4], ecx
jmp 0x596a22
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
dec ecx
mov edx, dword [esp + 0x24]
mov dword [edx + eax*8], ecx
sar ecx, 0x1f
mov dword [edx + eax*8 + 4], ecx
mov ecx, dword [esp + 4]
mov word [edx + eax*8 + 0x10], 4
cmp dword [ecx + 8], 0
jne 0x59e7ec
jmp case.0x59499c.89
mov dword [esp + 0x120], 0xffffffff
mov ecx, dword [ecx + 0xc]
lea eax, [ecx + ecx*4]
mov edx, dword [esp + 0x24]
test byte [edx + eax*8 + 0x10], 0x24
jne 0x596e3c
xor esi, esi
dec esi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a0], esi
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
movups xmm0, xmmword [edx + eax*8]
movdqu xmm1, xmmword [edx + eax*8 + 0x10]
movdqa xmmword [esp + 0x190], xmm1
movaps xmmword [esp + 0x180], xmm0
movsd xmm0, qword [edx + eax*8 + 0x20]
movsd qword [esp + 0x1a0], xmm0
movzx ebx, word [esp + 0x190]
movzx eax, bx
test al, 4
jne 0x59c3ce
test al, 0x28
mov ecx, dword [esp + 4]
je 0x59ece7
test bl, 0x20
jne 0x59c3db
movsd xmm0, qword [esp + 0x180]
movsd qword [esp + 0x18], xmm0
call fcn.00593ea0
mov ecx, eax
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x118], xmm1
fild qword [esp + 0x118]
add eax, 0xffffffff
mov edi, edx
adc edi, 0x7fffffff
fstp qword [esp + 0x110]
movsd xmm0, qword [esp + 0x18]
ucomisd xmm0, qword [esp + 0x110]
jne 0x59c3ce
jp 0x59c3ce
mov dword [esp + 0x18], edx
mov edx, ecx
mov ecx, 0xfffffffd
cmp ecx, eax
sbb esi, edi
mov ecx, dword [esp + 4]
jb 0x59c3d2
mov dword [esp + 0x180], edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x184], eax
jmp 0x59c3db
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 4]
movzx eax, word [eax + 0xc]
cmp dword [ecx + 0x10], eax
jle case.0x59499c.89
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 4]
mov edx, dword [edx + 0xc]
mov edi, dword [eax + ecx*4]
lea ebx, [edx + edx*4]
mov ecx, dword [esp + 0x24]
lea esi, [ecx + ebx*8]
mov dword [esp + 0x184], esi
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
mov word [esp + 0x194], ax
test eax, 0xffff
je 0x595f8b
mov eax, dword [edi + 0x30]
lea edx, [esp + 0x180]
mov dword [edx], eax
mov byte [edx + 0x16], 0
lea eax, [edi + 0x24]
mov ecx, dword [edi + 0x2c]
push eax
call fcn.005a2fe0
add esp, 4
jmp 0x59a395
mov eax, dword [ecx + ebx*8 + 0x10]
bt eax, 0xa
jae 0x595fe2
mov edx, dword [esi]
mov ecx, dword [esp + 0x24]
add edx, dword [ecx + ebx*8 + 0xc]
jg 0x595fa8
test al, 0x10
je 0x595fe2
xor edx, edx
inc edx
mov ecx, esi
push 1
call fcn.00593170
add esp, 4
test eax, eax
jne 0x5a15da
mov eax, dword [esp + 0x24]
lea ebx, [eax + ebx*8]
add ebx, 0x10
mov eax, dword [ebx - 8]
add eax, dword [ebx - 4]
push dword [esi]
push 0
push eax
call fcn.006719e0
add esp, 0xc
mov eax, dword [esi]
add dword [ebx - 4], eax
and byte [ebx + 1], 0xf9
mov ebx, dword [edi + 0x30]
movzx eax, word [ebx + 6]
lea eax, [eax + eax*4]
lea edx, [eax*8 + 0x48]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x59a334
cmp byte [ecx + 0x57], 0
jne 0x5a15da
push 0
call fcn.00580000
add esp, 4
jmp 0x59a33d
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
mov esi, eax
or esi, ecx
je 0x59f90f
cmp eax, 1
mov esi, ecx
sbb esi, 0
jl 0x59a1c4
mov esi, dword [esp + 0x24]
lea edx, [esi + edx*8]
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x59a1c4
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0x10]
test eax, eax
mov dword [esp + 0x18], ebx
je 0x59a60c
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1d8]
mov dword [esp + 0x34], eax
test eax, eax
je 0x5a12a2
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
xor ecx, ecx
movzx edx, byte [eax + ecx]
movzx ebx, byte [ebx + ecx]
cmp dl, bl
jne 0x5960a6
test edx, edx
jne 0x5960b4
jmp 0x599db7
mov dl, byte [edx + 0x717d00]
cmp dl, byte [ebx + 0x717d00]
jne 0x5960bb
inc ecx
mov ebx, dword [esp + 0x18]
jmp 0x596091
mov eax, dword [esp + 0x28]
inc eax
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x34], ecx
test ecx, ecx
mov ebx, dword [esp + 0x18]
jne 0x596085
jmp 0x5a12a2
mov ebx, dword [ecx + 0xc]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
lea esi, [edx + eax*8]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 4]
lea edi, [edx + eax*8]
test byte [edi + 0x11], 0x90
je 0x596116
mov ecx, edi
mov edx, esi
push 0x4000
call fcn.005a7650
mov ecx, dword [esp + 8]
add esp, 4
jmp 0x59613b
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
movdqu xmm0, xmmword [esi]
movdqu xmmword [edi], xmm0
test byte [esi + 0x11], 0x20
jne 0x59613b
mov eax, 0xffff8fff
and eax, dword [edi + 0x10]
or eax, 0x4000
mov word [edi + 0x10], ax
mov eax, dword [edi + 0x10]
bt eax, 0xe
jae 0x59615b
mov ecx, edi
call fcn.0057a9d0
test eax, eax
jne 0x5a15da
movzx eax, word [edi + 0x10]
mov ecx, dword [esp + 4]
bt eax, 0xb
jae 0x596170
test byte [ecx + 2], 2
je 0x596170
and eax, 0xf7ff
mov word [edi + 0x10], ax
sub ebx, 1
jb 0x59fca6
add edi, 0x28
add esi, 0x28
jmp 0x5960f9
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
test byte [edx + eax*8 + 0x10], 1
je case.0x59499c.89
mov ecx, dword [esi + 0xc4]
test ecx, ecx
je 0x5a11fa
mov edi, dword [esp + 4]
mov eax, dword [edi + 4]
test eax, eax
jne 0x5a121a
mov eax, dword [ecx + 4]
mov esi, dword [esp + 8]
mov dword [esi + 0xc4], eax
dec dword [esi + 0xcc]
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
mov ebx, dword [esp + 0xc]
mov dword [ebx + 0x68], eax
mov dword [ebx + 0x6c], edx
add dword [ebx + 0x70], eax
adc dword [ebx + 0x74], edx
call fcn.00591f90
cmp dword [edi + 8], 4
mov ecx, dword [esi + 0x68]
jne 0x5961f5
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov edx, dword [esp + 0x64]
mov edx, dword [edx]
mov dword [esp + 0x24], edx
lea eax, [eax + eax*4]
mov dword [esp + 0x54], ecx
lea ecx, [ecx + eax*4]
jmp 0x59fca6
xor edx, edx
test byte [ecx + 2], 1
je 0x59621c
mov edx, dword [ecx - 4]
add edx, 4
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x28], eax
test eax, eax
jle case.0x59499c.89
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x34], eax
xor esi, esi
mov dword [esp + 0x3c], edx
mov eax, esi
test edx, edx
je 0x59624f
mov eax, dword [edx + esi*4]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x10]
mov cl, byte [ecx + esi]
mov byte [esp + 0x38], cl
mov ecx, dword [esp + 0x34]
add ecx, eax
lea edi, [ecx + ecx*4]
mov ecx, dword [esp + 0x24]
lea edx, [ecx + edi*8]
add eax, dword [esp + 0x14]
lea ebx, [eax + eax*4]
lea ecx, [ecx + ebx*8]
mov eax, dword [esp + 0x18]
push dword [eax + esi*4 + 0x14]
call fcn.005a1de0
add esp, 4
test eax, eax
jne 0x59b617
inc esi
cmp dword [esp + 0x28], esi
mov edx, dword [esp + 0x3c]
jne 0x596246
mov dword [esp + 0x58], 0
jmp 0x59f90f
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
test byte [edx + eax*8 + 0x10], 1
je 0x59e7ec
jmp case.0x59499c.89
mov eax, ecx
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
mov edx, esi
mov esi, dword [esi + 0x5c]
mov edx, dword [edx + 0x60]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x14], ecx
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x18], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
mov edx, dword [ecx]
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx + eax*8]
mov dword [esp + 0x28], edi
mov ebx, dword [ecx + eax*8 + 0x28]
test ebx, ebx
jle 0x596314
mov ecx, dword [esp + 0x24]
lea eax, [ecx + eax*8]
add eax, 0x50
xor ecx, ecx
mov dword [esi + ecx*4], eax
inc ecx
add eax, 0x28
cmp ebx, ecx
jne 0x596309
mov dword [esp + 0x34], edx
mov ecx, dword [edx + 0x20]
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x10]
call dword [section..00cfg]
push esi
push ebx
push edi
push dword [esp + 0x34]
push dword [esp + 0x28]
call ecx
add esp, 0x14
mov ebx, dword [esp + 0x10]
mov esi, dword [ebx + 8]
test esi, esi
je 0x59c97f
mov dword [esp + 0x28], eax
mov eax, dword [esp + 8]
mov edi, dword [eax]
mov edx, dword [eax + 0x7c]
test edx, edx
je 0x59636a
mov ecx, edi
call fcn.0057fe10
mov esi, dword [ebx + 8]
test esi, esi
je 0x59c8ec
push esi
call fcn.00687040
add esp, 4
inc eax
test edi, edi
je 0x59c8ce
xor ebx, ebx
cmp byte [edi + 0x57], 0
jne 0x59c8ee
mov ecx, edi
mov edi, eax
mov edx, eax
push 0
call fcn.00580000
add esp, 4
jmp 0x59c8d9
mov eax, dword [ecx + 4]
test eax, eax
js 0x59a644
mov edi, ecx
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov ecx, dword [edi + 0xc]
movzx edx, word [eax + 0x3e]
cmp ecx, edx
jge 0x59b635
mov eax, dword [eax + ecx*4 + 0x58]
cmp eax, 0xc
jb 0x59cd1b
xor ecx, ecx
test al, 1
sete cl
lea eax, [ecx*4 + 4]
jmp 0x59b63f
mov dword [esp + 0x180], 0
xor eax, eax
dec eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x184], eax
mov edx, dword [ecx + 4]
mov eax, ecx
mov ecx, dword [esp + 0xc]
lea edi, [esp + 0x188]
push edi
lea edi, [esp + 0x188]
push edi
push dword [eax + 8]
call fcn.0057f1e0
add esp, 0xc
cmp eax, 5
je 0x59a17e
test eax, eax
jne 0x5a16e6
mov edx, dword [esp + 0x180]
jmp 0x59a18c
cmp dword [ecx + 4], 0
je 0x59a661
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x1f0]
or eax, dword [ecx + 0x1f4]
jne 0x59f913
jmp 0x59a671
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x10]
cmp word [ecx + 2], 0
je 0x59648e
mov ecx, dword [esi + 0xc4]
test ecx, ecx
je 0x59648e
mov edx, dword [ebx + 0x14]
cmp dword [ecx + 0x18], edx
je 0x59f913
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x59647e
mov ecx, dword [esi + 0xcc]
mov edx, dword [esp + 0xc]
cmp ecx, dword [edx + 0xa0]
jge 0x5a159b
lea edi, [eax + eax*4]
mov eax, dword [esp + 0x24]
test byte [eax + edi*8 + 0x10], 0x10
jne 0x59a603
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x14], ebx
mov esi, dword [ebx + 0xc]
mov dword [esp + 0x40], ecx
lea ebx, [esi + ecx]
xor ecx, ecx
test esi, esi
sete cl
mov dword [esp + 0x3c], ecx
add ebx, ecx
lea ecx, [eax + 7]
add eax, 0xe
test ecx, ecx
cmovns eax, ecx
sar eax, 3
mov dword [esp + 0x48], esi
lea eax, [eax + esi*4]
mov dword [esp + 0x34], ebx
lea ecx, [ebx + ebx*4]
lea esi, [eax + ecx*8]
add esi, 0x58
test edx, edx
mov dword [esp + 0x18], esi
je 0x59ce63
cmp byte [edx + 0x57], 0
jne 0x5a0e8d
mov eax, esi
sar eax, 0x1f
mov ecx, edx
mov edx, esi
push eax
call fcn.00580000
add esp, 4
jmp 0x59ce6f
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
test byte [edx + eax*8 + 0x10], 1
jne 0x59e7ec
jmp case.0x59499c.89
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
lea esi, [eax + eax*4]
mov ebx, dword [esp + 0x24]
lea edx, [ebx + esi*8]
lea eax, [ecx + ecx*4]
lea ecx, [ebx + eax*8]
test byte [ecx + 0x11], 0x90
jne 0x59a7d4
mov edi, dword [edx + 0x10]
mov dword [ecx + 0x10], edi
movdqu xmm0, xmmword [edx]
movdqu xmmword [ecx], xmm0
test byte [ebx + esi*8 + 0x11], 0x20
jne 0x59f90f
lea eax, [ebx + eax*8]
add eax, 0x10
mov ecx, 0xffff8fff
and ecx, dword [eax]
or ecx, 0x4000
jmp 0x5995db
mov edi, dword [ecx + 4]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea esi, [ecx + eax*8]
test byte [esi + 0x11], 0x90
je 0x59a68c
mov ecx, esi
call fcn.005930a0
jmp 0x59a692
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
test byte [edx + eax*8 + 0x10], 4
je case.0x59499c.89
mov eax, dword [edx + eax*8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + eax*4]
jmp case.0x59499c.89
mov eax, dword [ecx + 4]
mov dword [esp + 0x14], eax
mov edx, dword [ecx + 0x10]
test edx, edx
jle 0x59a6c9
mov ebx, dword [ecx + 0xc]
add edx, ebx
lea eax, [ebx + ebx*4]
mov ecx, dword [esp + 0x24]
lea edi, [ecx + eax*8]
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x28], edx
movzx eax, word [edi + 0x10]
test al, 0x24
je 0x596616
add ecx, dword [edi]
adc esi, dword [edi + 4]
jmp 0x596633
test al, 8
je 0x596633
movq xmm0, qword [edi]
mov dword [esp + 0x18], ecx
call fcn.00593ea0
mov ecx, dword [esp + 0x18]
add ecx, eax
adc esi, edx
mov edx, dword [esp + 0x28]
inc ebx
add edi, 0x28
cmp ebx, edx
jl 0x596607
jmp 0x59a6cd
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
lea esi, [eax + eax*4]
mov dword [esp + 0x14], edx
lea eax, [edx + edx*4]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x18], esi
movzx esi, word [edx + esi*8 + 0x10]
mov dword [esp + 0x28], eax
movzx eax, word [edx + eax*8 + 0x10]
or ax, si
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x34], edi
lea edi, [edi + edi*4]
lea ebx, [edx + edi*8]
mov dword [esp + 0x38], ebx
test al, 1
jne 0x599e81
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x18]
mov edi, eax
lea ebx, [edx + eax*8]
movzx eax, si
test al, 0x12
mov edx, dword [esp + 0x50]
mov dword [esp + 0x50], edx
mov dword [esp + 0x3c], ebx
je 0x59c41d
mov ecx, esi
bt eax, 0xa
jae 0x596712
mov edx, dword [ebx]
mov eax, dword [esp + 0x24]
add edx, dword [eax + edi*8 + 0xc]
jg 0x5966c2
test cl, 0x10
je 0x59670c
xor edx, edx
inc edx
mov esi, ebx
mov ecx, ebx
push 1
call fcn.00593170
add esp, 4
test eax, eax
jne 0x5a1336
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
lea edi, [eax + ecx*8]
add edi, 0xc
mov eax, dword [edi - 4]
add eax, dword [edi]
mov ebx, esi
push dword [esi]
push 0
push eax
call fcn.006719e0
add esp, 0xc
mov eax, dword [esi]
add dword [edi], eax
movzx ecx, word [esi + 0x10]
and ecx, 0xf9ff
mov word [esi + 0x10], cx
and ecx, 0xfffd
mov dword [esp + 0x44], ecx
jmp 0x59c445
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
test byte [edx + eax*8 + 0x10], 1
jne 0x5999ed
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
jne 0x5999ed
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
jmp 0x59980b
mov eax, dword [ecx + 4]
lea edi, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea esi, [eax + edi*8]
mov eax, dword [esi + 0x10]
bt eax, 0xa
jae 0x5967b3
mov edx, dword [esi]
mov ebx, dword [esp + 0x24]
add edx, dword [ebx + edi*8 + 0xc]
jg 0x596775
test al, 0x10
je 0x5967b3
xor edx, edx
inc edx
mov ecx, esi
push 1
call fcn.00593170
add esp, 4
test eax, eax
jne 0x5a16dd
mov eax, dword [esp + 0x24]
lea edi, [eax + edi*8]
add edi, 0x10
mov eax, dword [edi - 8]
add eax, dword [edi - 4]
push dword [esi]
push 0
push eax
call fcn.006719e0
add esp, 0xc
mov eax, dword [esi]
add dword [edi - 4], eax
and byte [edi + 1], 0xf9
mov ecx, dword [esp + 4]
movzx edx, byte [ecx + 8]
movzx eax, byte [esp + 0x33]
mov ecx, esi
push eax
call fcn.005a1c50
add esp, 4
jmp 0x59f8ff
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov edi, ecx
mov ecx, dword [ecx + 4]
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x5967ed
mov ebx, esi
mov ecx, esi
call fcn.00592080
mov eax, dword [esi + 0x60]
mov ecx, dword [edi + 4]
mov dword [eax + ecx*4], 0
jmp 0x59a917
mov ebx, ecx
mov ecx, esi
mov edx, dword [ebx + 4]
push 3
push dword [ebx + 0xc]
call fcn.005a23d0
add esp, 8
test eax, eax
je 0x5a108e
mov cl, 1
mov byte [eax + 2], cl
mov edx, dword [ebx + 8]
mov dword [eax + 0x24], edx
mov byte [eax + 4], cl
mov dword [eax + 0x2c], 0x73ef7c
mov ecx, ebx
jmp case.0x59499c.89
mov eax, dword [esi + 0x44]
mov dword [esp + 0x10], 0
cmp dword [esi + 0x40], 1
sbb eax, 0
jl case.0x59499c.89
jmp 0x5a1407
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 4]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x10], edx
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 4]
mov ebx, dword [ecx + 0x10]
mov edi, dword [eax + 0x2c]
mov ecx, dword [eax + 0x30]
mov esi, dword [edi + 0x20]
test esi, esi
mov dword [esp + 0x18], ecx
jne 0x59cfa6
movzx eax, word [ecx + 6]
lea eax, [eax + eax*4]
lea edx, [eax*8 + 0x48]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x59cf80
cmp byte [ecx + 0x57], 0
jne 0x5a16d6
push 0
call fcn.00580000
add esp, 4
jmp 0x59cf89
xor eax, eax
dec eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a0], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
mov edi, ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
mov ecx, dword [ecx + edx*4]
mov dword [esp + 0x18], ecx
test byte [edi + 2], 1
je 0x596901
add dword [esi + 0x28], 1
adc dword [esi + 0x2c], 0
lea ebx, [eax + eax*4]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 0x10]
bt ecx, 0xa
jae 0x596964
lea esi, [edx + ebx*8]
mov edx, dword [esi]
add edx, eax
jg 0x596927
test cl, 0x10
je 0x596964
xor edx, edx
inc edx
mov ecx, esi
push 1
call fcn.00593170
add esp, 4
test eax, eax
jne 0x5a16dd
mov eax, dword [esp + 0x24]
lea edi, [eax + ebx*8]
add edi, 0x10
mov eax, dword [edi - 8]
add eax, dword [edi - 4]
push dword [esi]
push 0
push eax
call fcn.006719e0
add esp, 0xc
mov eax, dword [edi - 4]
add eax, dword [esi]
mov dword [edi - 4], eax
and byte [edi + 1], 0xf9
mov dword [esp + 0x188], eax
sar eax, 0x1f
mov dword [esp + 0x18c], eax
mov edx, dword [esp + 0x24]
mov eax, dword [edx + ebx*8 + 8]
mov dword [esp + 0x180], eax
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x194], eax
movzx eax, word [ecx + 0x10]
mov word [esp + 0x198], ax
movzx eax, word [ecx + 2]
xor esi, esi
test al, 0x10
mov edi, dword [esp + 0x18]
je 0x5969b5
mov esi, dword [edi + 0x24]
and eax, 0x8a
mov ecx, dword [edi + 0x2c]
lea edx, [esp + 0x180]
push esi
push eax
call fcn.005a3780
add esp, 8
mov dword [edi + 0x20], 0
jmp 0x59f8ff
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
je 0x59a71e
mov ecx, esi
call fcn.005a7630
jmp 0x59a729
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x596a22
cmp byte [eax + 2], 0
mov ecx, dword [esp + 4]
jne case.0x59499c.9
jmp case.0x59499c.89
mov ecx, dword [esp + 4]
jmp case.0x59499c.9
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ecx + 4]
mov eax, dword [eax + edx*4]
test eax, eax
jne 0x596a6b
mov ecx, esi
push 3
push 1
call fcn.005a23d0
add esp, 8
test eax, eax
je 0x5a133a
mov dword [eax + 0x24], 0
mov byte [eax + 4], 1
or byte [eax + 8], 8
mov dword [eax + 0x2c], 0x73ef7c
mov ecx, dword [esp + 4]
mov byte [eax + 2], 1
mov dword [eax + 0x20], 0
cmp byte [eax], 0
jne case.0x59499c.89
mov esi, dword [eax + 0x2c]
mov edi, dword [esi + 0x10]
test edi, edi
je 0x596b06
cmp dword [0x72dce0], 0
je 0x5a0bce
mov ebx, dword [0x73ee00]
test ebx, ebx
je 0x596ab2
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov edi, dword [0x73ee00]
test edi, edi
mov ecx, dword [esp + 4]
je 0x596b06
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push edi
call ecx
mov ecx, dword [esp + 8]
add esp, 4
mov dword [esi + 0x10], 0
mov byte [esi], 1
jmp 0x59fca6
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
jne 0x59f90f
mov dword [esp + 0x10], eax
mov edi, dword [eax + 0x2c]
mov esi, dword [edi]
mov ebx, dword [esi]
mov ecx, dword [ebx + 0x24]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov dword [esp + 0x18], esi
mov edi, dword [esi + 8]
test edi, edi
je 0x59eedd
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
mov esi, dword [eax]
mov edx, dword [eax + 0x7c]
test edx, edx
mov dword [esp + 0x28], ebx
je 0x596b7f
mov ecx, esi
call fcn.0057fe10
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 8]
test edi, edi
je 0x59ee42
push edi
call fcn.00687040
add esp, 4
inc eax
test esi, esi
je 0x59ee24
xor ebx, ebx
cmp byte [esi + 0x57], 0
jne 0x59ee44
mov ecx, esi
mov esi, eax
mov edx, eax
push 0
call fcn.00580000
add esp, 4
jmp 0x59ee2f
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
je 0x59a73d
mov ecx, esi
call fcn.005a7630
jmp 0x59a748
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea esi, [ecx + eax*8]
mov al, byte [edi]
inc edi
mov cl, byte [esp + 0x33]
movzx ebx, cl
movsx edx, al
mov ecx, esi
push ebx
call fcn.005a1b50
add esp, 4
cmp byte [edi - 1], 0x45
jne 0x596c70
movzx eax, word [esi + 0x10]
test al, 4
je 0x596c70
mov ecx, dword [esi + 4]
mov edx, 0x8000
add edx, ecx
mov ebx, 0x10000
cmp edx, ebx
jae 0x596c2a
mov cx, 0x20
mov dx, 0xffdb
jmp 0x596c62
movd xmm0, dword [esi]
movd xmm1, ecx
punpckldq xmm0, xmm1
movq qword [esp + 0xe8], xmm0
fild qword [esp + 0xe8]
fstp qword [esp + 0xe0]
movq xmm0, qword [esp + 0xe0]
movq qword [esi], xmm0
mov cx, 8
mov dx, 0xfff3
movsx edx, dx
and edx, eax
movzx eax, cx
or eax, edx
mov word [esi + 0x10], ax
mov al, byte [edi]
add esi, 0x28
inc edi
test al, al
mov cl, byte [esp + 0x33]
jne 0x596bee
jmp 0x59f90f
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ecx + 4]
mov edi, ecx
mov ecx, dword [ecx + 8]
mov eax, dword [eax + edx*4]
movzx edx, word [eax + 0xc]
cmp ecx, edx
jle 0x599e9a
mov word [eax + 0xc], cx
jmp 0x59a917
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 8]
lea esi, [eax + eax*4]
mov ebx, dword [esp + 0x24]
test byte [ebx + esi*8 + 0x10], 0x10
jne 0x596cd1
lea ecx, [ebx + esi*8]
call fcn.005a6660
test eax, eax
jne 0x5a15da
lea eax, [edi + edi*4]
lea eax, [ebx + eax*8]
mov edi, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [ebx + esi*8 + 8]
movzx ecx, word [esi + 0x18]
test cx, cx
je 0x59b3a6
mov eax, dword [esi + 0x10]
dec ecx
mov word [esi + 0x18], cx
lea ecx, [eax + 0x10]
mov dword [esi + 0x10], ecx
test eax, eax
je 0x59f90f
mov dword [eax], edi
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x59ff90
mov ebx, edx
mov edx, dword [ecx + 4]
cmp dword [ecx], edi
sbb edx, ebx
jl 0x596d29
and byte [esi + 0x1a], 0xfe
mov dword [ecx + 8], eax
jmp 0x59ff93
xor eax, eax
dec eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
je 0x59a75c
mov ecx, esi
call fcn.005a7630
jmp 0x59a762
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
cmp byte [eax], 1
mov edx, dword [eax + 0x2c]
jne 0x599eae
mov ecx, dword [esp + 0xc]
call fcn.00592390
jmp 0x59f913
xor eax, eax
mov dword [esp + 0x184], eax
mov dword [esp + 0x180], eax
mov esi, dword [ecx + 4]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx]
shl eax, 4
mov ebx, dword [ecx + eax + 4]
mov edi, dword [ebx + 4]
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x59a454
test esi, esi
je 0x59a444
cmp dword [ecx + 0x40], esi
je 0x59a444
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x596dc6
jmp 0x59a454
mov edx, dword [esp + 0xc]
test byte [edx + 0x22], 8
jne 0x599edf
cmp dword [ecx + 4], 0
mov eax, dword [ecx + 8]
mov ecx, eax
je 0x59c4ef
sar ecx, 0x1f
add dword [edx + 0x1f0], eax
adc dword [edx + 0x1f4], ecx
jmp 0x59f913
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
je 0x59a79a
mov ecx, esi
call fcn.005a7630
movzx eax, word [esi + 0x10]
jmp 0x59a7a4
mov ecx, dword [ecx + 0xc]
mov edx, dword [esp + 0x24]
lea eax, [ecx + ecx*4]
mov esi, dword [edx + eax*8]
mov eax, dword [edx + eax*8 + 4]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [ebx + 0x2c]
xor eax, eax
lea edi, [esp + 0x120]
mov dword [edi], eax
mov edx, esi
push edi
push eax
mov edi, dword [esp + 0x20]
push edi
call fcn.005a2bf0
add esp, 0xc
mov dword [ebx + 0x44], edi
mov dword [ebx + 0x40], esi
mov word [ebx + 2], 0
xor ecx, ecx
mov dword [ebx + 0x20], ecx
lea ecx, [esp + 0x120]
mov ecx, dword [ecx]
mov dword [ebx + 0x24], ecx
test ecx, ecx
je 0x599da2
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 4]
cmp dword [ecx + 8], 0
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5c], esi
je 0x5a12fc
mov esi, ebx
mov dword [esp + 0x50], eax
jmp 0x59e7ec
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
mov eax, dword [ecx + 8]
lea ebx, [eax + eax*4]
lea esi, [edx + ebx*8]
test byte [esi + 0x11], 0x90
mov dword [esp + 0x18], edx
je 0x59a812
mov ecx, esi
call fcn.005a7630
mov ecx, dword [esp + 4]
jmp 0x59a818
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
je 0x59a8d4
mov ecx, esi
call fcn.005a7630
jmp 0x59a8df
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edi, ecx
mov ebx, dword [esp + 0x24]
mov ecx, dword [ebx + eax*8]
mov edx, dword [ebx + eax*8 + 4]
cmp ecx, 1
mov esi, edx
sbb esi, 0
jl 0x59a913
mov esi, dword [edi + 0xc]
mov edi, esi
sar edi, 0x1f
sub ecx, esi
sbb edx, edi
lea eax, [ebx + eax*8]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x59a1c4
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
je 0x59a91e
mov ecx, esi
call fcn.005a7630
jmp 0x59a929
mov ecx, dword [esi + 0xc4]
mov eax, dword [esp + 0x24]
test ecx, ecx
je 0x596f96
mov eax, ecx
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x596f8a
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
movzx edi, word [esi + 0x10]
movzx edx, di
test dl, 0x24
je 0x59a98a
mov eax, dword [esi]
mov edx, dword [esi + 4]
jmp 0x59d6e4
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
shl ecx, 4
mov eax, dword [eax + ecx + 4]
mov ebx, dword [eax + 4]
cmp byte [ebx + 0x11], 0
je 0x59cac4
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 0x30]
mov ecx, dword [eax + 0x38]
mov eax, 0xcccccccd
mul dword [ebx + 0x28]
mov edi, edx
mov edx, esi
mov esi, dword [ecx + 0x24]
mov dword [esp + 0x14], esi
bswap esi
shr edi, 2
mov dword [esp + 0x10], esi
sub esi, edx
cmp edx, 1
mov dword [esp + 0x34], ebx
mov dword [esp + 0x28], edx
ja 0x59b64e
mov eax, dword [0x72ddf8]
mov ecx, ebx
xor ebx, ebx
xor edx, edx
div dword [ecx + 0x24]
mov ecx, eax
lea eax, [edi + 1]
mov dword [esp + 0x18], eax
jmp 0x59b685
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov edx, ecx
mov ecx, dword [ecx + 4]
mov edx, dword [edx + 8]
mov ecx, dword [eax + ecx*4]
lea ebx, [edx + edx*4]
mov esi, dword [esp + 0x24]
mov eax, dword [esi + ebx*8 + 0x10]
bt eax, 0xa
mov dword [esp + 0x14], ebx
jae 0x5970b3
lea edi, [esi + ebx*8]
mov edx, dword [edi]
add edx, dword [edi + 0xc]
jg 0x597069
test al, 0x10
mov esi, dword [esp + 0x24]
je 0x5970b3
xor edx, edx
inc edx
mov dword [esp + 0x18], ecx
mov ecx, edi
push 1
call fcn.00593170
add esp, 4
test eax, eax
jne 0x5a16dd
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
lea ebx, [esi + eax*8]
add ebx, 0x10
mov eax, dword [ebx - 8]
add eax, dword [ebx - 4]
push dword [edi]
push 0
push eax
call fcn.006719e0
add esp, 0xc
mov eax, dword [edi]
add dword [ebx - 4], eax
and byte [ebx + 1], 0xf9
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x2c]
mov ecx, dword [esi + ebx*8 + 8]
movzx eax, byte [ecx + 1]
test al, al
mov dword [esp + 0x10], edx
jns 0x59f6f6
movzx edx, byte [ecx + 2]
test dl, dl
js 0x59d2b5
and eax, 0x7f
shl eax, 7
or eax, edx
jmp 0x59f6f2
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea ecx, [ecx + eax*8]
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x59a9b7
mov esi, dword [esp + 0x5c]
mov eax, dword [ecx]
xor edx, edx
or eax, dword [ecx + 4]
setne dl
mov ebx, dword [esp + 0x50]
jmp 0x59fc5d
mov edx, dword [ecx + 0x10]
movzx eax, word [edx + 0x22]
test ax, ax
jle case.0x59499c.89
mov dword [esp + 0x18], edx
mov ebx, dword [edx + 4]
mov ecx, dword [ecx + 4]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x24]
lea esi, [edx + ecx*8]
xor edi, edi
movzx ecx, word [ebx + 0xe]
test cl, 0x60
je 0x59715d
test cl, 0x20
jne 0x597231
mov ecx, dword [esp + 4]
cmp dword [ecx + 0xc], 0
je 0x59715d
add esi, 0x28
jmp 0x597231
movsx edx, byte [ebx + 8]
movzx eax, byte [esp + 0x33]
mov ecx, esi
push eax
call fcn.005a1b50
add esp, 4
movzx eax, word [esi + 0x10]
test al, 1
jne case.default.0x597192
mov ecx, dword [ebx + 4]
shr ecx, 4
and ecx, 0xf
lea edx, [ecx - 2]
cmp edx, 4
ja case.default.0x597192
jmp dword [edx*4 + 0x7203e8]
test al, 4
jne case.default.0x597192
jmp 0x5a10ab
test al, 2
jne case.default.0x597192
jmp 0x5a10ab
test al, 0x10
jne case.default.0x597192
jmp 0x5a10ab
test al, 4
jne 0x5971c5
test al, 0x28
jne case.default.0x597192
jmp 0x5a10ab
mov ecx, dword [esi + 4]
lea edx, [ecx + 0x8000]
test edx, 0xffff0000
jne 0x5971e0
mov cx, 0x20
mov dx, 0xffdb
jmp 0x597218
movd xmm0, dword [esi]
movd xmm1, ecx
punpckldq xmm0, xmm1
movq qword [esp + 0xd8], xmm0
fild qword [esp + 0xd8]
fstp qword [esp + 0xd0]
movq xmm0, qword [esp + 0xd0]
movq qword [esi], xmm0
mov cx, 8
mov dx, 0xfff3
movsx edx, dx
and edx, eax
movzx eax, cx
or eax, edx
mov word [esi + 0x10], ax
add esi, 0x28
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 0x22]
inc edi
movsx ecx, ax
add ebx, 0x10
cmp edi, ecx
jl 0x597139
jmp 0x59f90f
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
mov edx, dword [esp + 0xc]
mov dword [edx + 0x68], eax
mov dword [edx + 0x6c], ecx
add dword [edx + 0x70], eax
adc dword [edx + 0x74], ecx
mov ecx, dword [esp + 4]
xor eax, eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
jmp case.0x59499c.89
xor eax, eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], eax
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [ecx + 8]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8]
test byte [ecx + 0x11], 0x90
mov dword [esp + 0x18], ecx
je 0x59a9dd
call fcn.005a7630
jmp 0x59a9e8
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x24]
mov word [edi + eax*8 + 0x10], 4
mov edx, ecx
mov ecx, dword [edi + eax*8]
mov ebx, dword [esp + 0x54]
sub edx, ebx
sar edx, 2
imul edx, edx, 0xcccccccd
mov dword [edi + eax*8], edx
sar edx, 0x1f
mov dword [edi + eax*8 + 4], edx
mov esi, dword [esp + 8]
lea eax, [ecx + ecx*4]
lea ecx, [ebx + eax*4]
jmp case.0x59499c.89
mov esi, dword [ecx + 0x10]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edi, ecx
mov ebx, dword [esp + 0x24]
lea ecx, [ebx + eax*8]
cmp dword [esi + 8], ecx
je 0x597325
mov dword [esi + 8], ecx
movzx ecx, byte [esi + 0x1a]
test ecx, ecx
je 0x597325
dec ecx
mov edx, dword [edi + 8]
add edx, ecx
lea edx, [edx + edx*4]
lea edx, [ebx + edx*8]
mov dword [esi + ecx*4 + 0x1c], edx
lea edx, [ecx - 1]
inc ecx
cmp ecx, 1
mov ecx, edx
ja 0x59730b
inc dword [ebx + eax*8 + 0xc]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x10]
lea edi, [esi + 0x1c]
movzx ebx, byte [esi + 0x1a]
call dword [section..00cfg]
push edi
push ebx
push esi
call ecx
add esp, 0xc
cmp dword [esi + 0x14], 0
je 0x59f90f
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x10]
jle 0x597399
mov ecx, dword [esi]
xor eax, eax
test ecx, ecx
je 0x597380
mov edx, dword [ecx + 0x10]
mov edi, edx
not edi
test edi, 0x202
jne 0x59c83b
cmp byte [ecx + 0x12], 1
jne 0x59c83b
mov eax, dword [ecx + 8]
mov ebx, dword [esp + 0x5c]
push eax
push 0x7048ef
push dword [esp + 0x10]
call fcn.00592ac0
add esp, 0xc
mov edi, dword [esi + 0x14]
cmp byte [esi + 0x19], 0
je 0x59ba10
mov eax, dword [esp + 4]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x59ba0c
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
lea ecx, [edx + eax*8]
test byte [ecx + 0x11], 0x90
je 0x59b9f4
xor edx, edx
inc edx
push 0
call fcn.005941c0
add esp, 4
jmp 0x59ba0c
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 0x2c]
and byte [eax + 1], 0xbf
jmp case.0x59499c.89
mov eax, dword [ecx + 8]
test eax, eax
mov edi, ecx
lea ecx, [eax + eax*4]
mov edx, dword [esp + 0x24]
lea esi, [edx + ecx*8]
cmove esi, eax
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xc]
push esi
push dword [edi + 4]
call fcn.005a68f0
add esp, 8
jmp 0x59f8ff
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx]
shl eax, 4
mov ecx, dword [ecx + eax + 0xc]
add ecx, 0x28
push 0
call fcn.005b0030
add esp, 4
test eax, eax
je 0x59f90f
mov esi, eax
mov eax, dword [eax + 0x14]
cmp eax, dword [esi + 0x18]
mov ecx, dword [esp + 0xc]
je 0x59bd20
mov edx, esi
call fcn.00575a80
mov eax, dword [esp + 0xc]
or byte [eax + 0x18], 1
jmp 0x59f90f
mov edx, ecx
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0x20]
mov eax, esi
or eax, 0x4000000
mov dword [ecx + 0x20], eax
mov eax, dword [edx + 4]
mov ecx, dword [edx + 0x10]
mov ebx, dword [ecx + 8]
lea edi, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea eax, [eax + edi*8]
add eax, 0x12
test byte [eax - 2], 2
jne 0x599ef8
mov byte [eax], 1
jmp 0x599f14
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 0x2c]
or byte [eax + 1], 0x40
jmp case.0x59499c.89
lea eax, [esp + 0x130]
mov dword [eax], 0xffffffff
pcmpeqd xmm0, xmm0
lea edx, [esp + 0x180]
movdqa xmmword [edx + 0x10], xmm0
movdqa xmmword [edx], xmm0
mov ebx, ecx
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx]
mov esi, dword [ebx + 4]
mov edi, dword [ecx + esi*4]
mov esi, dword [edi + 0x2c]
mov ecx, dword [edi + 0x30]
mov dword [edx], ecx
movzx ecx, word [ebx + 0xc]
mov word [edx + 0x14], cx
mov byte [edx + 0x16], 0
mov ecx, dword [ebx + 8]
lea ecx, [ecx + ecx*4]
mov ebx, dword [esp + 0x24]
lea ecx, [ebx + ecx*8]
mov dword [edx + 4], ecx
mov ecx, esi
push eax
call fcn.005a2fe0
add esp, 4
test eax, eax
jne 0x5a16e2
cmp dword [esp + 0x130], 0
je 0x59b490
mov eax, dword [esp + 4]
cmp word [eax + 2], 0
mov ecx, dword [esp + 0xc]
je 0x59b4a8
mov eax, 0x10000001
and eax, dword [ecx + 0x20]
cmp eax, 1
je 0x59b4a8
jmp 0x5a17df
xorps xmm0, xmm0
movaps xmmword [esp + 0x190], xmm0
xor eax, eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x1a0], eax
movaps xmmword [esp + 0x180], xmm0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x194], eax
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov edi, dword [esp + 0x24]
mov edx, dword [edi + ecx*8 + 0x10]
mov dword [esp + 0x190], edx
movdqu xmm0, xmmword [edi + ecx*8]
movdqa xmmword [esp + 0x180], xmm0
mov eax, edx
and eax, 0xefff
mov word [esp + 0x190], ax
test dl, 0x12
je 0x597602
test byte [edi + ecx*8 + 0x11], 0x20
jne 0x597602
or eax, 0x4000
lea esi, [esp + 0x180]
mov word [esi + 0x10], ax
mov ecx, esi
call fcn.0057a9d0
mov dword [esp + 0x28], eax
movzx eax, word [esi + 0x10]
mov esi, dword [esp + 8]
mov ecx, eax
not ecx
test ecx, 0x202
jne 0x599fa1
cmp byte [esp + 0x192], 1
jne 0x599fa1
mov edx, dword [esp + 0x188]
jmp 0x599fba
mov eax, dword [ecx + 4]
mov dword [esp + 0x34], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x10], eax
mov eax, dword [ecx + 0xc]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov edx, ecx
movzx ecx, word [ecx + 2]
shl ecx, 4
mov ecx, dword [eax + ecx + 4]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], esi
mov eax, dword [eax + esi*8]
inc eax
pcmpeqd xmm0, xmm0
mov ebx, dword [edx + 0x10]
movdqu xmmword [esp + 0x16c], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
movdqa xmmword [esp + 0x130], xmm0
mov esi, dword [ecx + 4]
mov ecx, dword [esi + 4]
mov edi, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x3c], ecx
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
mov dword [esp + 0x1e0], 0xffffffff
mov edx, dword [ebx + 4]
xor ecx, ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x28], edx
test edx, edx
jne 0x597704
cmp dword [ebx + 8], 1
setne dl
mov dword [esp + 0x14], edx
lea edx, [esp + 0x13c]
mov dword [edx + 0x38], ecx
pxor xmm0, xmm0
movdqu xmmword [edx + 0x28], xmm0
movdqu xmmword [edx + 0x18], xmm0
movdqu xmmword [edx + 8], xmm0
movdqu xmmword [edx - 8], xmm0
mov edx, dword [esp + 0xc]
mov dword [esp + 0x178], edx
mov dword [esp + 0x130], esi
mov edx, dword [esi]
mov dword [esp + 0x134], edx
mov dword [esp + 0x18], esi
mov esi, dword [esi + 0x30]
mov dword [esp + 0x13c], esi
mov dword [esp + 0x140], eax
lea eax, [esp + 0x180]
mov dword [esp + 0x160], eax
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x164], 0x64
mov dword [esp + 0x168], 0x3b9aca00
mov dword [esp + 0x16c], ecx
mov word [esp + 0x170], 0x100
test esi, esi
je 0x59f417
mov dword [esp + 0x40], edi
shr esi, 3
inc esi
mov ecx, esi
xor edx, edx
call fcn.00576290
test eax, eax
je 0x59bd61
mov edi, eax
push esi
push 0
push eax
call fcn.006719e0
add esp, 0xc
mov dword [esp + 0x138], edi
mov edi, dword [esp + 0x18]
mov ecx, dword [edi + 0x24]
call fcn.0058a3c0
mov dword [esp + 0x174], eax
test eax, eax
je 0x59ce1f
mov eax, dword [0x72ddf8]
xor edx, edx
div dword [edi + 0x24]
inc eax
cmp eax, dword [esp + 0x13c]
ja 0x59780e
mov ecx, eax
and cl, 7
xor edx, edx
inc edx
shl edx, cl
mov ecx, dword [esp + 0x138]
shr eax, 3
or byte [ecx + eax], dl
cmp byte [esp + 0x14], 0
jne 0x59784d
lea esi, [esp + 0x130]
mov dword [esi + 0x20], str.Main_freelist:
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
bswap eax
bswap edi
xor edx, edx
inc edx
mov ecx, esi
push eax
push edi
mov edi, dword [esp + 0x20]
call fcn.005b0dd0
add esp, 8
mov dword [esi + 0x20], 0
cmp dword [esp + 0x28], 0
mov esi, dword [esp + 0x10]
je 0x59f21a
cmp byte [edi + 0x11], 0
je 0x59f1f9
xor eax, eax
test esi, esi
jle 0x59787c
xor ecx, ecx
mov edx, dword [ebx + ecx*4 + 4]
cmp eax, edx
cmovbe eax, edx
inc ecx
cmp esi, ecx
jne 0x59786e
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x34]
bswap ecx
cmp eax, ecx
je 0x59f21a
lea edx, [esp + 0x130]
push ecx
push eax
push str.max_rootpage___d__disagrees_with_header___d_
push edx
call fcn.005b10b0
add esp, 0x10
jmp 0x59f21a
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
je 0x59aa5b
mov ecx, esi
call fcn.005a7630
jmp 0x59aa66
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov esi, dword [edi + 0x2c]
mov word [esi + 0x32], 0
and byte [esi + 1], 0xf9
cmp byte [esi], 0
jne 0x59c523
mov eax, dword [esi + 0x74]
movzx ecx, word [esi + 0x46]
lea edx, [ecx + 1]
mov word [esi + 0x46], dx
cmp dx, word [eax + 0x18]
jae 0x59c51f
cmp byte [eax + 8], 0
jne 0x59aaec
lea ebx, [esi + 0x74]
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], ebx
mov ecx, dword [ebx]
cmp byte [ecx + 8], 0
jne 0x59aaec
movsx eax, byte [esi + 0x44]
cmp eax, 0x13
jge 0x59fe44
mov edx, dword [ecx + 0x40]
movzx ebx, word [esi + 0x46]
movzx edx, word [edx + ebx*2]
rol dx, 8
movzx edi, word [ecx + 0x1a]
and edx, edi
mov ecx, dword [ecx + 0x38]
mov edx, dword [ecx + edx]
xor ecx, ecx
mov word [esi + 0x32], cx
and byte [esi + 1], 0xf9
mov word [esi + eax*2 + 0x48], bx
mov ebx, dword [esp + 0x10]
mov eax, dword [esi + 0x74]
movsx edi, byte [esi + 0x44]
mov dword [esi + edi*4 + 0x78], eax
mov edi, dword [esp + 0x18]
mov word [esi + 0x46], cx
inc byte [esi + 0x44]
bswap edx
movzx eax, byte [esi + 2]
mov ecx, dword [esi + 0x14]
push eax
push esi
push ebx
call fcn.005a7ff0
add esp, 0xc
test eax, eax
je 0x59791f
jmp 0x59d0e1
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2c]
cmp byte [ecx + 0x38], 0
je 0x59aaac
lea edx, [esp + 0x180]
mov dword [edx], 0
mov ecx, dword [ecx + 0x14]
call fcn.005afca0
mov edx, eax
test eax, eax
jne 0x59c52c
mov eax, 0x65
cmp dword [esp + 0x180], 0
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jne 0x59d0e9
jmp 0x59c534
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
je 0x59aaf5
mov ecx, esi
call fcn.005a7630
jmp 0x59ab00
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov esi, ecx
add esi, 1
mov dword [eax + 0x18], esi
mov esi, edx
adc esi, 0
mov dword [eax + 0x1c], esi
mov esi, dword [esp + 8]
or ecx, edx
jmp 0x59a67d
mov ebx, dword [esp + 0xc]
inc byte [ebx + 0x60]
xor eax, eax
push eax
push eax
mov dword [esp + 0x18], 0
push eax
push dword [ecx + 0x10]
push ebx
call fcn.0057d320
add esp, 0x14
dec byte [ebx + 0x60]
test eax, eax
je 0x59f913
jmp 0x5a1483
mov dword [esp + 0x180], 0
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + 8]
mov eax, 6
test esi, esi
je 0x5a14fc
mov edx, dword [esi]
test edx, edx
je 0x5a14fc
mov dword [esp + 0x10], edx
mov ecx, dword [edx + 0x18]
call dword [section..00cfg]
lea eax, [esp + 0x180]
push eax
push esi
call ecx
add esp, 8
mov ebx, eax
mov edi, dword [esi + 8]
test edi, edi
je 0x59cc38
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov edx, dword [eax + 0x7c]
test edx, edx
mov dword [esp + 0x18], ebx
je 0x597aec
mov edi, ecx
call fcn.0057fe10
mov ecx, edi
mov edi, dword [esi + 8]
test edi, edi
je 0x59cba9
push edi
mov ebx, ecx
call fcn.00687040
add esp, 4
inc eax
test ebx, ebx
je 0x59cb86
mov ecx, ebx
xor ebx, ebx
cmp byte [ecx + 0x57], 0
jne 0x59cbab
mov dword [esp + 0x28], eax
mov edx, eax
push 0
call fcn.00580000
add esp, 4
jmp 0x59cb93
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
and word [edx + eax*8 + 0x10], 0xf7ff
jmp case.0x59499c.89
mov eax, dword [ecx + 4]
mov dword [esp + 0x14], eax
mov edx, dword [ecx + 0x10]
test edx, edx
jle 0x59ab2a
mov ebx, dword [ecx + 0xc]
add edx, ebx
lea eax, [ebx + ebx*4]
mov ecx, dword [esp + 0x24]
lea edi, [ecx + eax*8]
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x28], edx
movzx eax, word [edi + 0x10]
test al, 0x24
je 0x597b71
add ecx, dword [edi]
adc esi, dword [edi + 4]
jmp 0x597b8e
test al, 8
je 0x597b8e
movq xmm0, qword [edi]
mov dword [esp + 0x18], ecx
call fcn.00593ea0
mov ecx, dword [esp + 0x18]
add ecx, eax
adc esi, edx
mov edx, dword [esp + 0x28]
inc ebx
add edi, 0x28
cmp ebx, edx
jl 0x597b62
jmp 0x59ab2e
mov eax, dword [ecx + 4]
mov esi, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x38], ecx
lea ecx, [eax + eax*4]
mov edi, dword [esp + 0x24]
test byte [edi + ecx*8 + 0x10], 0x10
jne 0x597bce
mov ebx, ecx
lea ecx, [edi + ecx*8]
call fcn.005a6660
mov ecx, ebx
mov ebx, dword [esp + 4]
test eax, eax
jne 0x5a108a
mov dword [esp + 0x40], ecx
lea eax, [esi + esi*4]
lea edx, [edi + eax*8]
mov esi, dword [esp + 0x38]
test esi, esi
mov ecx, dword [esp + 0x50]
mov eax, edi
je 0x59ff3f
mov ebx, dword [edx]
mov dword [esp + 0x48], edx
mov edx, dword [edx + 4]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x40]
mov eax, dword [eax + edx*8 + 8]
cmp dword [eax + 0x1c], esi
mov dword [esp + 0x50], ecx
mov ecx, eax
je 0x59fee6
mov esi, dword [ecx + 8]
test esi, esi
je 0x59fedf
lea edi, [ecx + 0x14]
test byte [ecx + 0x1a], 1
mov dword [esp + 0x44], ecx
jne 0x597c2f
mov ecx, esi
call fcn.005b1bf0
mov esi, eax
mov edx, dword [edi]
test edx, edx
mov dword [esp + 0x3c], ebx
je 0x597cf6
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x59f135
lea eax, [edx + 8]
mov dword [esp + 0x34], eax
lea edi, [esp + 0x130]
mov dword [edi], 0xffffffff
lea eax, [esp + 0x128]
mov ebx, edx
mov edx, edi
push eax
call fcn.005b1d90
add esp, 4
mov dword [ebx + 0xc], 0
mov eax, dword [edi]
pcmpeqd xmm0, xmm0
lea ecx, [esp + 0x180]
mov dword [esp + 0x18], ecx
movdqa xmmword [ecx], xmm0
mov edx, esi
mov ebx, dword [eax]
mov esi, dword [eax + 4]
mov ecx, dword [edx]
mov edi, dword [edx + 4]
mov dword [esp + 0x28], ebx
cmp ecx, ebx
mov ebx, edi
sbb ebx, esi
jge 0x597cba
mov ecx, dword [esp + 0x18]
mov dword [ecx + 8], edx
mov esi, dword [edx + 8]
mov dword [esp + 0x18], edx
mov edx, eax
test esi, esi
jne 0x597c8c
jmp 0x597cd6
cmp dword [esp + 0x28], ecx
sbb esi, edi
jge 0x597ccd
mov ecx, dword [esp + 0x18]
mov dword [ecx + 8], eax
mov dword [esp + 0x18], eax
mov eax, dword [eax + 8]
mov esi, edx
test eax, eax
jne 0x597c8c
mov eax, dword [esp + 0x18]
mov dword [eax + 8], edx
mov esi, dword [esp + 0x188]
mov edi, dword [esp + 0x34]
mov edx, dword [edi]
test edx, edx
mov ebx, dword [esp + 0x3c]
jne 0x597c3d
mov ecx, dword [esp + 0x44]
movzx edx, word [ecx + 0x18]
test dx, dx
je 0x59f91c
mov eax, dword [ecx + 0x10]
dec edx
mov word [ecx + 0x18], dx
lea edx, [eax + 0x10]
mov dword [ecx + 0x10], edx
mov dword [edi], eax
test eax, eax
je 0x59fed3
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov dword [esp + 0x18], eax
mov dword [eax + 8], ecx
mov eax, dword [esi + 8]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ecx
test eax, eax
je 0x59fec2
xor ebx, ebx
inc ebx
mov edi, eax
mov eax, dword [eax + 8]
lea ecx, [esp + 0x180]
mov dword [ecx], eax
mov dword [edi + 0xc], esi
mov esi, ecx
mov edx, ebx
call fcn.005b1df0
mov dword [edi + 8], eax
inc ebx
mov eax, dword [esi]
mov esi, edi
test eax, eax
jne 0x597d41
jmp 0x59fec4
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x140], xmm0
movdqa xmmword [esp + 0x130], xmm0
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x18]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 4]
mov eax, dword [edi + 0x2c]
cmp byte [eax], 0
jne case.0x59499c.89
mov eax, dword [ecx + 4]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x30]
mov dword [esp + 0x130], eax
movzx eax, word [ecx + 0x24]
mov word [esp + 0x144], ax
mov byte [esp + 0x146], 0
mov eax, dword [ecx + 0x20]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
lea eax, [edx + eax*8]
mov dword [esp + 0x134], eax
lea eax, [ecx + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], edi
xor eax, eax
dec eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a0], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
mov esi, dword [edi + 0x2c]
mov ecx, esi
call fcn.0058dbc0
mov eax, dword [esi + 0x2c]
test eax, eax
jle 0x5a11a5
mov word [esp + 0x190], 0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x194], ecx
xor ecx, ecx
mov dword [esp + 0x198], ecx
movzx ebx, word [esi + 0x30]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x74]
mov edi, dword [edi + 0x3c]
sub edi, edx
test edi, edi
cmovg ecx, edi
cmp edi, ebx
cmovge ecx, ebx
mov dword [esp + 0x188], edx
cmp ecx, eax
jae 0x597e91
lea edi, [esp + 0x180]
mov ecx, esi
xor edx, edx
push edi
push eax
call fcn.005a2300
add esp, 8
test eax, eax
jne 0x5a16e2
mov edx, dword [esp + 0x188]
mov eax, dword [esp + 0x18c]
jmp 0x597ea2
mov word [esp + 0x190], 0x4010
mov dword [esp + 0x18c], eax
lea esi, [esp + 0x130]
mov ecx, eax
push 0
push esi
call fcn.005a4be0
add esp, 8
mov esi, eax
cmp dword [esp + 0x198], 0
mov edi, dword [esp + 0x28]
je 0x597ed2
lea ecx, [esp + 0x180]
call fcn.00593060
test esi, esi
jg 0x59f6a9
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jns 0x59f6bd
cmp dword [esp + 0x18], 0
jle 0x5a0a97
mov esi, dword [edi + 0x2c]
mov word [esi + 0x32], 0
and byte [esi + 1], 0xf9
cmp byte [esi], 0
jne 0x597f27
mov eax, dword [esi + 0x74]
movzx ecx, word [esi + 0x46]
lea edx, [ecx + 1]
mov word [esi + 0x46], dx
cmp dx, word [eax + 0x18]
jae 0x597f23
cmp byte [eax + 8], 0
je 0x597f3f
xor eax, eax
jmp 0x597f2e
mov word [esi + 0x46], cx
mov ecx, esi
call fcn.005a9b90
dec dword [esp + 0x18]
test eax, eax
je 0x597de6
jmp 0x59dfcf
lea ebx, [esi + 0x74]
mov dword [esp + 0x10], ebx
mov ecx, dword [ebx]
cmp byte [ecx + 8], 0
jne 0x597f1f
movsx eax, byte [esi + 0x44]
cmp eax, 0x13
jge 0x5a114d
mov edx, dword [ecx + 0x40]
movzx ebx, word [esi + 0x46]
movzx edx, word [edx + ebx*2]
rol dx, 8
movzx edi, word [ecx + 0x1a]
and edx, edi
mov ecx, dword [ecx + 0x38]
mov edx, dword [ecx + edx]
xor ecx, ecx
mov word [esi + 0x32], cx
and byte [esi + 1], 0xf9
mov word [esi + eax*2 + 0x48], bx
mov ebx, dword [esp + 0x10]
mov eax, dword [esi + 0x74]
movsx edi, byte [esi + 0x44]
mov dword [esi + edi*4 + 0x78], eax
mov edi, dword [esp + 0x28]
mov word [esi + 0x46], cx
inc byte [esi + 0x44]
bswap edx
movzx eax, byte [esi + 2]
mov ecx, dword [esi + 0x14]
push eax
push esi
push ebx
call fcn.005a7ff0
add esp, 0xc
test eax, eax
je 0x597f46
jmp 0x597f2e
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
lea esi, [edx + eax*8]
test byte [esi + 0x11], 0x90
je 0x59ab6a
mov ecx, esi
call fcn.005a7630
mov ecx, dword [esp + 4]
jmp 0x59ab70
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov edi, ecx
mov esi, dword [ecx + 4]
mov edx, dword [ecx + 0xc]
mov esi, dword [eax + esi*4]
lea ebx, [edx + edx*4]
mov edx, dword [esp + 0x24]
lea ecx, [edx + ebx*8]
cmp byte [esi + 2], 0
je 0x59ac2a
test byte [edx + ebx*8 + 0x11], 0x90
jne 0x59fba8
lea eax, [edx + ebx*8]
add eax, 0x10
jmp 0x59fbbc
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0x18c], xmm0
movdqa xmmword [esp + 0x180], xmm0
mov esi, dword [ecx + 4]
cmp dword [ecx + 0x10], 0
je 0x59ac88
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x180], ebx
mov dword [esp + 0x188], esi
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x184], eax
mov dword [esp + 0x190], 0
mov eax, dword [ebx + 0x10]
shl esi, 4
mov eax, dword [eax + esi + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x198], eax
mov eax, dword [ebx + 0x10]
push dword [ecx + 0x10]
push str.sqlite_master
push dword [eax + esi]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.0057bed0
add esp, 0x14
test eax, eax
je 0x5a15d3
mov edi, eax
mov byte [ebx + 0xb1], 1
xor eax, eax
lea ecx, [esp + 0x180]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x14], eax
push eax
push ecx
push fcn.005a6170
push edi
push ebx
call fcn.0057d320
add esp, 0x14
mov ebx, eax
test eax, eax
jne 0x5980fa
mov ebx, dword [esp + 0x18c]
mov eax, dword [esp + 0x194]
or eax, ebx
jne 0x598128
push 0x718366
push 0x17b3a
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00576b00
add esp, 0x14
mov ebx, 0xb
mov esi, dword [esp + 0xc]
mov ecx, esi
mov edx, edi
call fcn.0057fe10
mov ecx, esi
mov byte [esi + 0xb1], 0
mov esi, dword [esp + 8]
jmp 0x59acce
cmp dword [ecx + 4], 0
je 0x59acdb
mov eax, dword [ecx + 8]
inc eax
mov ecx, dword [esi + 0x8c]
and eax, 3
and ecx, 0xfffffffc
or ecx, eax
mov dword [esi + 0x8c], ecx
jmp 0x59f913
mov eax, dword [esp + 0x64]
mov edi, dword [eax]
mov eax, dword [ecx + 8]
lea ebx, [eax + eax*4]
lea esi, [edi + ebx*8]
test byte [esi + 0x11], 0x90
je 0x59818e
mov ecx, esi
call fcn.005a7630
mov ecx, dword [esp + 4]
lea eax, [edi + ebx*8]
add eax, 0x10
mov word [eax], 8
jmp 0x59a72d
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ebx, ecx
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, 8
xor edx, edx
call fcn.00576290
test eax, eax
je 0x5a108a
mov esi, eax
mov eax, dword [edi + 0x2c]
mov dword [esi], eax
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea eax, [ecx + eax*8]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
mov eax, dword [ebx + 8]
lea ebx, [eax + eax*4]
lea edi, [ecx + ebx*8]
test byte [edi + 0x11], 0x90
je 0x5981fb
mov dword [esp + 0x18], ecx
mov ecx, edi
call fcn.005a7630
mov ecx, dword [esp + 0x18]
lea ebx, [ecx + ebx*8]
add ebx, 0x10
mov word [ebx], 1
mov ecx, edi
call fcn.00593060
mov dword [edi], str.ValueList
mov dword [ebx - 8], esi
mov word [ebx], 0x1a01
mov byte [ebx + 3], 0x70
mov dword [ebx + 0x14], 0x5a7590
jmp 0x59f90f
mov edi, dword [ecx + 0x10]
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x16c]
test edx, edx
jle 0x598249
cmp dword [eax + 0x184], 0
je 0x59bd8e
test edi, edi
je 0x5a0a97
mov ebx, dword [edi + 8]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x59c9b8
mov dword [esp + 0x18], eax
mov esi, ebx
test edx, edx
jle 0x598285
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x184]
xor ebx, ebx
cmp dword [eax + ebx*4], edi
je 0x5a08e0
inc ebx
cmp edx, ebx
jne 0x598277
imul eax, edx, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333332
ja 0x5a085f
mov ebx, edx
sar ebx, 0x1f
shld ebx, edx, 2
lea eax, [edx*4]
add eax, 0x14
mov dword [esp + 0x10], eax
adc ebx, 0
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x184]
test eax, eax
je 0x59fce1
cmp dword [esi + 0x15c], eax
jbe 0x5a081b
cmp dword [esi + 0x154], eax
jbe 0x5a080c
cmp dword [esi + 0x158], eax
ja 0x5a081b
movzx ecx, word [esi + 0x12e]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x10]
sbb dword [esp + 0x14], ebx
jb 0x5a081b
jmp 0x5a083e
mov ebx, ecx
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x10]
mov edi, dword [ecx + 0xcc]
lea edx, [edi + 1]
mov dword [ecx + 0xcc], edx
mov esi, dword [ebx + 4]
mov edx, dword [ebx + 0x10]
shl esi, 4
push dword [eax + esi]
call fcn.0057f430
add esp, 4
test eax, eax
je 0x5999de
mov esi, eax
cmp byte [eax + 0x2b], 1
jne 0x5999de
mov eax, dword [esi + 0x34]
test eax, eax
je 0x5999de
mov ecx, eax
mov edx, dword [ecx + 8]
cmp dword [edx + 4], 0
jg 0x5a1097
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x598362
mov dword [esi + 0x34], 0
xor edi, edi
mov edx, dword [eax]
mov ecx, dword [eax + 0x18]
cmp edx, dword [esp + 0xc]
je 0x59839b
mov ebx, dword [edx + 0x188]
mov dword [eax + 0x18], ebx
mov dword [edx + 0x188], eax
jmp 0x5983a7
mov dword [esi + 0x34], eax
mov dword [eax + 0x18], 0
mov edi, eax
mov eax, ecx
test ecx, ecx
jne 0x59837f
mov eax, dword [edi + 4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x5983bc
mov ecx, dword [eax + 0x10]
inc dword [esi + 0x18]
mov ebx, dword [edi + 8]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov ebx, eax
test eax, eax
mov edx, dword [esp + 0xc]
jne 0x59848a
xor eax, eax
mov dword [edi + 8], eax
mov dword [esi + 0x34], eax
mov ecx, dword [edi]
dec dword [edi + 0xc]
jne 0x59848a
mov eax, dword [edi + 8]
mov dword [esp + 0x28], ecx
test eax, eax
mov dword [esp + 0x18], ecx
je 0x598424
mov dword [esp + 0x10], eax
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
call dword [section..00cfg]
push dword [esp + 0x10]
call ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add esp, 4
mov eax, dword [edi]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x10], eax
dec dword [eax + 8]
jne 0x59847b
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x598455
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x14], eax
call dword [section..00cfg]
push dword [esp + 0x14]
call ecx
add esp, 4
cmp dword [esp + 0x10], 0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
je 0x59847b
mov ecx, eax
mov edx, dword [esp + 0x10]
call fcn.0057fe10
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
test edi, edi
je 0x59848a
mov edx, edi
call fcn.0057fe10
mov edx, dword [esp + 0xc]
cmp dword [edx + 0x200], 0
je 0x59fbf2
mov ecx, edx
mov edx, esi
call fcn.005b4070
mov edx, dword [esp + 0xc]
jmp 0x59fbfb
mov ebx, dword [ecx + 4]
mov eax, ecx
mov ecx, dword [ecx + 8]
mov edi, dword [eax + 0xc]
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8]
test byte [ecx + 0x11], 0x90
mov dword [esp + 0x18], ecx
je 0x59ad10
call fcn.005a7630
jmp 0x59ad1b
mov eax, dword [ecx + 8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [esp + 4]
cmp byte [ecx + 1], 0xfb
mov edi, 0
mov esi, 0
jne 0x598551
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xf4], 0
je 0x598551
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
movsx ecx, byte [ebx + 1]
shl ecx, 4
mov edi, dword [eax + ecx]
mov ecx, dword [esp + 4]
mov esi, dword [ecx + 0x10]
test byte [ecx + 2], 2
je 0x598551
cmp byte [ebx + 4], 0
je 0x598551
mov ecx, dword [ebx + 0x2c]
mov dword [esp + 0x10], ecx
call fcn.0058dbc0
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x10]
movq xmm0, qword [eax + 0x20]
movq qword [ebx + 0x40], xmm0
movzx edx, byte [ecx + 2]
mov ecx, dword [ebx + 0x2c]
call fcn.005a4400
xor ecx, ecx
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], ecx
test eax, eax
jne 0x5a16e2
mov dword [esp + 0x10], 0
test byte [esp + 0x18], 1
mov edx, dword [esp + 0xc]
je 0x59f90f
mov eax, dword [esp + 8]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov ecx, dword [edx + 0xf4]
test ecx, ecx
je 0x59f90f
test esi, esi
je 0x59f90f
test byte [esi + 0x1c], 0x80
jne 0x59f90f
mov eax, dword [ebx + 0x40]
mov dword [esp + 0x28], eax
mov ebx, dword [ebx + 0x44]
mov esi, dword [esi]
mov eax, dword [edx + 0xf0]
mov dword [esp + 0x18], eax
call dword [section..00cfg]
push ebx
push dword [esp + 0x2c]
push esi
push edi
push 9
push dword [esp + 0x2c]
call ecx
add esp, 0x18
jmp 0x59f90f
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea ebx, [eax + esi*8]
add ebx, 0x10
movzx eax, word [ebx]
test al, 0x10
je 0x59c620
mov eax, dword [esp + 0x24]
mov edi, dword [eax + esi*8 + 8]
movzx eax, word [edi + 0x1a]
movzx ecx, ax
test cl, 2
jne 0x59862d
test cl, 1
jne 0x598626
mov ecx, dword [edi + 8]
call fcn.005b1bf0
mov dword [edi + 8], eax
movzx eax, word [edi + 0x1a]
or eax, 3
mov word [edi + 0x1a], ax
mov eax, dword [edi + 8]
test eax, eax
je 0x59c619
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
test eax, eax
mov eax, dword [esp + 4]
jne 0x598681
mov dword [esp + 0x18], ebx
mov edx, dword [edi]
test edx, edx
je 0x598665
mov ebx, dword [edx]
mov ecx, dword [edi + 4]
call fcn.0057fe10
mov edx, ebx
test ebx, ebx
jne 0x598655
xor eax, eax
mov dword [edi], eax
mov dword [edi + 0x18], 0x10000
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x14], eax
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
lea ecx, [edx + eax*8]
test byte [ecx + 0x11], 0x90
je 0x59d6a0
mov edx, esi
push ebx
call fcn.005941c0
add esp, 4
jmp 0x59d6b0
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 3], 0
je 0x59f913
call fcn.005a2000
test eax, eax
je 0x59e6cf
jmp 0x5a16e6
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx]
shl eax, 4
mov ecx, dword [ecx + eax + 0xc]
add ecx, 0x18
push 0
call fcn.005b0030
add esp, 4
test eax, eax
je 0x59bdad
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 8]
cmp edx, eax
je 0x59bd9a
test edx, edx
je 0x59bda2
mov ecx, edx
mov edx, dword [edx + 0x14]
cmp edx, eax
jne 0x598706
add ecx, 0x14
jmp 0x59bd9d
mov edi, dword [ecx + 0xc]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x24]
lea esi, [edx + ecx*8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
add ebx, 0x18
mov dword [esp + 0x18], edi
lea edi, [ebx - 0x18]
test byte [esi + 0x11], 0x90
jne 0x59874e
cmp dword [esi + 0x18], 0
je 0x598755
mov ecx, esi
call fcn.00593060
movsd xmm0, qword [edi + 0x20]
movsd qword [esi + 0x20], xmm0
movdqu xmm0, xmmword [edi]
movupd xmm1, xmmword [edi + 0x10]
movupd xmmword [esi + 0x10], xmm1
movdqu xmmword [esi], xmm0
mov word [ebx - 8], 1
mov dword [ebx], 0
test byte [esi + 0x11], 0x40
je 0x598796
mov ecx, esi
call fcn.0057a9d0
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a0e8d
add esi, 0x28
add ebx, 0x28
mov edi, dword [esp + 0x18]
dec edi
jne 0x59873b
jmp 0x59f90f
xor eax, eax
dec eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a0], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
mov ebx, dword [ecx + 4]
mov edi, dword [ecx + 8]
shl ebx, 2
add ebx, dword [esi + 0x60]
mov eax, dword [esi + 0x1c]
mov ebx, dword [ebx]
mov edx, dword [ebx + 0x48]
mov dword [esp + 0x18], edx
cmp dword [ebx + 0x20], eax
mov dword [esp + 0x28], edi
mov edx, edi
jne 0x5987ff
mov eax, dword [ebx + 0x2c]
cmp byte [eax], 0
jne 0x59881f
jmp 0x59c8a4
cmp byte [ebx + 2], 0
jne 0x59c85d
mov edi, dword [ebx + 0x2c]
cmp byte [ebx + 3], 0
mov ecx, dword [esp + 0x10]
jne 0x59888e
cmp byte [edi], 0
je 0x59cb32
mov ecx, ebx
call fcn.005a2090
test eax, eax
jne 0x5a16e6
mov ecx, dword [esp + 4]
mov edx, dword [ebx + 0x48]
mov eax, dword [esi + 0x1c]
cmp dword [ebx + 0x20], eax
jne 0x59884a
mov eax, dword [ebx + 0x2c]
cmp byte [eax], 0
jne 0x59886e
jmp 0x59c894
mov dword [esp + 0x18], edx
cmp byte [ebx + 2], 0
jne 0x59c855
mov edi, dword [ebx + 0x2c]
cmp byte [ebx + 3], 0
mov edx, dword [esp + 0x28]
jne 0x598886
cmp byte [edi], 0
je 0x59cb30
mov ecx, ebx
call fcn.005a2090
test eax, eax
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
je 0x598832
jmp 0x59487d
mov dword [esp + 0x10], 0
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x59f946
mov ecx, dword [ecx + edx*4 + 4]
test ecx, ecx
je 0x59f946
add ebx, 0x28
dec ecx
mov edi, ecx
mov ecx, dword [esp + 4]
jmp 0x5987de
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 4]
mov edi, dword [eax + 0x2c]
cmp dword [ecx + 0xc], 0
je 0x59ad83
xor ebx, ebx
dec ebx
cmp byte [edi], 0
je 0x59bdba
mov esi, ebx
mov edx, dword [esp + 0xc]
jmp 0x59e811
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea esi, [ecx + eax*8]
movzx edi, word [esi + 0x10]
movzx ecx, di
test cl, 0x24
je 0x59af6d
mov eax, dword [esi]
mov edx, dword [esi + 4]
jmp 0x59d773
mov eax, dword [esp + 0x64]
mov esi, dword [eax]
mov eax, dword [ecx + 8]
lea edi, [eax + eax*4]
lea ebx, [esi + edi*8]
test byte [ebx + 0x11], 0x90
je 0x598933
mov ecx, ebx
call fcn.005a7630
mov ecx, dword [esp + 4]
lea esi, [esi + edi*8]
add esi, 0x10
mov word [esi], 1
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0xcc]
inc eax
cmp dword [edx + 0xc0], eax
jg 0x5a148a
mov dword [esp + 0x34], esi
mov dword [esp + 0x18], ebx
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 0xc]
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov edx, ecx
shl edx, 4
mov dword [esp + 0x38], edx
mov eax, dword [eax + edx + 4]
mov dword [esp + 0x14], eax
mov edi, dword [eax + 4]
cmp dword [edi + 0x30], ebx
mov esi, dword [esp + 8]
jb 0x5a14c9
mov dword [esp + 0x3c], ecx
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x59a4fb
test ebx, ebx
je 0x59a4e3
cmp dword [ecx + 0x40], ebx
je 0x59a4e3
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x5989a1
jmp 0x59a4fb
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx]
shl eax, 4
mov ecx, dword [ecx + eax + 0xc]
add ecx, 8
push 0
call fcn.005b0030
add esp, 4
test eax, eax
mov ecx, dword [esp + 0xc]
je 0x59be12
cmp dword [ecx + 0x200], 0
je 0x59be09
mov edx, eax
call fcn.005b4070
mov ecx, dword [esp + 0xc]
jmp 0x59be12
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
mov eax, dword [ecx + 8]
lea ebx, [eax + eax*4]
lea esi, [edx + ebx*8]
test byte [esi + 0x11], 0x90
mov dword [esp + 0x18], edx
je 0x59af9e
mov ecx, esi
call fcn.005a7630
mov ecx, dword [esp + 4]
jmp 0x59afa4
mov ecx, dword [esi + 0x68]
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x59b018
mov edx, dword [esp + 4]
sub edx, ecx
sar edx, 2
imul edx, edx, 0xcccccccd
mov eax, dword [eax + 0x14]
mov esi, edx
mov ecx, edx
and cl, 7
xor ebx, ebx
inc ebx
shl ebx, cl
shr esi, 3
movzx ecx, byte [eax + esi]
and edx, 7
bt ecx, edx
jb 0x59a1c4
or bl, cl
mov byte [eax + esi], bl
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 4]
jmp 0x59b028
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + 0x2c]
cmp byte [eax + 0x38], 0
je 0x59b030
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
imul ecx, dword [ecx + 4], 0x38
add eax, ecx
add eax, 0x14
mov edx, dword [eax + 0xc]
jmp 0x59b036
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x59b0bb
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
mov esi, dword [edx + eax*8]
mov eax, dword [edx + eax*8 + 4]
mov dword [esp + 0x18], eax
jmp 0x59b0c5
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea ecx, [ecx + eax*8]
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x59b133
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jmp 0x59a67d
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + eax*8 + 0x10]
and ecx, 0xffffffc0
or ecx, 1
mov word [edx + eax*8 + 0x10], cx
jmp 0x59f913
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov edi, dword [esp + 0x24]
mov eax, dword [edi + ecx*8]
xor esi, esi
xor edx, edx
dec edx
add edx, 1
mov edx, dword [edi + ecx*8 + 4]
adc esi, 0x7fffffff
xor esi, edx
or esi, eax
je 0x59f90f
add eax, 0xffffffff
adc edx, 0xffffffff
lea ecx, [edi + ecx*8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
or edx, eax
mov esi, dword [esp + 8]
jmp 0x59a67d
xor eax, eax
dec eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a0], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
mov edi, ecx
mov ecx, dword [ecx + 4]
mov eax, dword [edi + 8]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x4c]
mov edx, dword [edx]
mov ebx, dword [edx + ecx*4]
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + ecx*8]
mov ecx, dword [edx + ecx*8 + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18c], ecx
xor eax, eax
cmp byte [edi + 1], 0xfb
jne 0x59a036
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0xf4], 0
mov edx, 0
je 0x59a03c
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx]
movsx edx, byte [ebx + 1]
shl edx, 4
mov eax, dword [ecx + edx]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov edx, dword [edx + 0x10]
jmp 0x59a03c
mov edi, dword [ecx + 0x10]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
mov dword [esp + 0x18], edx
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
lea eax, [edx + eax*8]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x14], eax
test edi, edi
mov cl, byte [esp + 0x33]
je 0x598c6b
mov al, byte [edi]
inc edi
mov esi, dword [esp + 0x28]
movzx ebx, cl
movsx edx, al
mov ecx, esi
push ebx
call fcn.005a1b50
add esp, 4
cmp byte [edi - 1], 0x45
jne 0x598c5d
movzx eax, word [esi + 0x10]
test al, 4
je 0x598c5d
and eax, 0xffffffdb
or eax, 0x20
mov word [esi + 0x10], ax
add esi, 0x28
mov al, byte [edi]
inc edi
test al, al
mov cl, byte [esp + 0x33]
jne 0x598c34
mov eax, dword [esp + 0x18]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x28]
lea ecx, [edi + eax*8]
add ecx, 0xffffffd8
mov eax, dword [esp + 0x14]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x70], edx
lea eax, [eax + edx*8]
mov dword [esp + 0x74], eax
xor esi, esi
mov dword [esp + 0x34], ecx
mov eax, ecx
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x44], 0
mov dword [esp + 0x68], 0
movzx ebx, word [eax + 0x10]
test bl, 1
jne 0x598d3c
mov dword [esp + 0x18], eax
test bl, 0x24
je 0x598d4e
mov dword [esp + 0x38], edx
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov edi, eax
sar edi, 0x1f
mov edx, edi
xor edx, eax
mov dword [esp + 0x40], esi
xor edi, esi
inc ecx
mov dword [esp + 0x3c], ecx
xor esi, esi
mov ecx, 0x7f
cmp ecx, edi
mov ecx, 0
sbb ecx, edx
jb 0x598db6
mov ecx, eax
xor eax, eax
inc eax
cmp eax, dword [esp + 0x40]
sbb esi, ecx
jb 0x598ddf
mov eax, dword [esp + 8]
cmp byte [eax + 0x87], 4
jb 0x598ddf
add edi, 8
mov eax, dword [esp + 0x18]
mov dword [eax + 0x1c], edi
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
jmp 0x598f8c
shl ebx, 0x15
sar ebx, 0x1f
and ebx, 0xa
mov dword [eax + 0x1c], ebx
inc ecx
jmp 0x598f94
test bl, 8
jne 0x598dfa
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0xc]
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov dword [esp + 0x48], edi
lea edi, [ecx + edi*2]
add edi, 0xc
bt ebx, 0xa
jae 0x598eba
mov ecx, esi
mov esi, edi
mov edi, dword [eax]
lea esi, [esi + edi*2]
mov dword [esp + 0x40], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], edx
or ecx, edx
je 0x598ea1
add edi, dword [esp + 0x48]
test edi, edi
jg 0x598eea
test bl, 0x10
jne 0x598ee7
mov eax, edi
jmp 0x598f28
mov ecx, 0x7fff
cmp ecx, edi
sbb esi, edx
jb 0x598e11
mov esi, dword [esp + 0x14]
add esi, 2
mov edx, dword [esp + 0x38]
adc edx, 0
mov eax, dword [esp + 0x18]
mov dword [eax + 0x1c], 2
jmp 0x598e66
mov esi, dword [esp + 0x14]
add esi, 1
mov edx, dword [esp + 0x38]
adc edx, 0
mov eax, dword [esp + 0x18]
mov dword [eax + 0x1c], 1
jmp 0x598e66
inc ecx
add esi, 8
adc edx, 0
mov eax, dword [esp + 0x18]
mov dword [eax + 0x1c], 7
jmp 0x598f94
mov dword [esp + 0x48], eax
xor eax, eax
mov ecx, 0x7fffff
cmp ecx, edi
mov ecx, 0
sbb ecx, edx
jb 0x598e42
mov esi, dword [esp + 0x14]
add esi, 3
mov edx, dword [esp + 0x38]
adc edx, 0
mov eax, dword [esp + 0x18]
mov dword [eax + 0x1c], 3
jmp 0x598e66
mov ecx, 0x7fffffff
cmp ecx, edi
sbb eax, edx
jb 0x598e73
mov esi, dword [esp + 0x14]
add esi, 4
mov edx, dword [esp + 0x38]
adc edx, 0
mov eax, dword [esp + 0x18]
mov dword [eax + 0x1c], 4
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
jmp 0x598f94
test edx, 0xffff8000
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
jne 0x598ec0
mov esi, dword [esp + 0x14]
add esi, 6
mov edx, dword [esp + 0x38]
adc edx, 0
mov eax, dword [esp + 0x18]
mov dword [eax + 0x1c], 5
jmp 0x598f94
mov eax, edi
sar eax, 0x1f
add dword [esp + 0x44], edi
adc dword [esp + 0x68], eax
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
jmp 0x598f34
mov esi, dword [esp + 0x14]
add esi, 8
mov edx, dword [esp + 0x38]
adc edx, 0
test bl, 0x20
jne 0x598fa6
mov eax, dword [esp + 0x18]
mov dword [eax + 0x1c], 6
jmp 0x598f94
xor edi, edi
inc edi
mov esi, dword [esp + 0x18]
mov ecx, esi
mov edx, edi
push 1
call fcn.00593170
add esp, 4
test eax, eax
jne 0x5a149f
mov eax, dword [esi + 8]
add eax, dword [esi + 0xc]
push dword [esi]
push 0
push eax
call fcn.006719e0
add esp, 0xc
mov eax, dword [esi]
add dword [esi + 0xc], eax
and byte [esi + 0x11], 0xf9
mov ecx, dword [esp + 0x48]
add ecx, eax
mov eax, ecx
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x40]
add esi, eax
mov dword [esp + 0x14], esi
adc edx, 0
mov dword [esp + 0x38], edx
cmp edi, 0x80
mov dword [esp + 0x40], edi
jae 0x598f52
xor eax, eax
inc eax
jmp 0x598f77
xor ecx, ecx
xor eax, eax
inc eax
xor edx, edx
mov ebx, ecx
shld ebx, edi, 0x19
shr edx, 7
inc eax
mov esi, 0x3fff
cmp esi, edi
mov esi, 0
sbb esi, ecx
mov edi, ebx
mov ecx, edx
jb 0x598f59
mov ecx, dword [esp + 0x3c]
add ecx, eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
mov dword [eax + 0x1c], edx
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov ebx, eax
add eax, 0xffffffd8
cmp ebx, edi
jne 0x598cae
jmp 0x599977
movss xmm0, dword [esp + 0x40]
movss xmm1, dword [esp + 0x48]
unpcklps xmm0, xmm1
movlpd qword [esp + 0xf8], xmm0
fild qword [esp + 0xf8]
fstp qword [esp + 0xf0]
movq xmm0, qword [esp + 0xf0]
mov eax, dword [esp + 0x18]
movq qword [eax], xmm0
and ebx, 0xffffffd7
or ebx, 8
mov word [eax + 0x10], bx
jmp 0x598e05
mov eax, dword [esi + 0x60]
mov edx, dword [ecx + 4]
mov edi, dword [ecx + 8]
mov ecx, esi
mov esi, dword [eax + edi*4]
movsx eax, word [esi + 0x3c]
push 0
push eax
call fcn.005a23d0
add esp, 8
test eax, eax
je 0x5a15da
mov byte [eax + 2], 1
mov ecx, dword [eax + 8]
or ecx, 1
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x30]
mov dword [eax + 0x30], edx
mov dl, byte [esi + 4]
mov byte [eax + 4], dl
mov edx, dword [esi + 0x38]
mov dword [eax + 0x38], edx
mov edx, dword [esi + 8]
and edx, 4
and ecx, 0xfffffffb
or ecx, edx
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x10]
mov dword [eax + 0x10], edx
or ecx, 8
mov dword [eax + 8], ecx
or byte [esi + 8], 8
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x38]
push dword [eax + 0x2c]
push dword [eax + 0x30]
push 4
call fcn.005a8ab0
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x59f90f
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea ecx, [ecx + eax*8]
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x59b155
mov edx, dword [ecx]
xor eax, eax
or edx, dword [ecx + 4]
setne al
jmp 0x59fcc6
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call fcn.005a7d30
cmp eax, 0x10
je 0x59a1bc
test eax, eax
jne 0x5a0eb9
lea edi, [esi + 0x74]
mov ecx, dword [esp + 4]
mov dword [esp + 0x18], edi
mov eax, dword [edi]
cmp byte [eax + 8], 0
jne 0x59caef
movsx ecx, byte [esi + 0x44]
cmp ecx, 0x13
jge 0x5a0e96
mov edx, dword [eax + 0x40]
movzx ebx, word [esi + 0x46]
movzx edx, word [edx + ebx*2]
rol dx, 8
movzx edi, word [eax + 0x1a]
and edx, edi
mov eax, dword [eax + 0x38]
mov edx, dword [eax + edx]
xor eax, eax
mov word [esi + 0x32], ax
and byte [esi + 1], 0xf9
mov word [esi + ecx*2 + 0x48], bx
mov ecx, dword [esi + 0x74]
movsx edi, byte [esi + 0x44]
mov dword [esi + edi*4 + 0x78], ecx
mov edi, dword [esp + 0x18]
mov word [esi + 0x46], ax
inc byte [esi + 0x44]
bswap edx
movzx eax, byte [esi + 2]
mov ecx, dword [esi + 0x14]
push eax
push esi
push edi
call fcn.005a7ff0
add esp, 0xc
test eax, eax
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
je 0x5990c7
jmp 0x5a0ec1
mov edx, dword [ecx + 4]
mov edi, ecx
mov ecx, esi
push 1
push dword [edi + 8]
call fcn.005a23d0
add esp, 8
test eax, eax
je 0x5a1127
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x18], eax
mov dword [eax + 0x30], ecx
movzx ebx, word [ecx + 6]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x28], eax
lea edi, [ebx*4 + 0x9c]
mov edx, dword [esp + 0xc]
test edx, edx
je 0x59b4bd
cmp byte [edx + 0x57], 0
jne 0x5a11e5
mov ecx, edx
mov edx, edi
push 0
call fcn.00580000
add esp, 4
jmp 0x59b4c6
mov eax, dword [esp + 0x60]
mov esi, dword [eax]
mov edi, dword [ecx + 4]
shl edi, 4
mov eax, dword [esi + edi + 4]
mov ebx, dword [eax + 4]
mov eax, dword [ebx + 0xc]
mov edx, ecx
mov ecx, dword [eax + 0x48]
test byte [ecx + 0x1c], 4
mov eax, dword [eax + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 0x14]
je 0x5991eb
mov edx, dword [eax + 0x1c]
cmp edx, dword [ecx + 0x18]
jae 0x59baa1
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x10], edx
test edx, edx
jne 0x59d12d
mov edx, dword [eax + 0x9c]
cmp edx, dword [eax + 0xa8]
jbe 0x59d11c
call fcn.0058cb60
jmp 0x59d121
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2c]
and byte [ecx + 1], 0xf1
mov word [ecx + 0x32], 0
cmp byte [ecx], 0
je 0x59b177
call fcn.005aa0a0
mov edx, eax
jmp 0x59c530
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [esp + 4]
test ebx, ebx
je case.0x59499c.114
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 8]
jne case.0x59499c.114
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x18], eax
mov edi, dword [eax + 0x10]
test edi, edi
je 0x5992f7
cmp dword [0x72dce0], 0
je 0x5a0bff
mov esi, dword [0x73ee00]
test esi, esi
je 0x5992a3
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
mov ecx, dword [esp + 4]
je 0x5992f7
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
mov ecx, dword [esp + 8]
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [eax + 0x10], 0
mov byte [eax], 1
mov esi, dword [esp + 0x10]
jmp 0x59cde9
mov eax, dword [esi + 0x8c]
and eax, 3
cmp eax, 1
je 0x5a1119
mov eax, dword [ecx + 8]
mov dword [esp + 0x18], eax
mov ebx, dword [ecx + 0xc]
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov edi, ecx
mov dword [esp + 0x28], ebx
mov ecx, ebx
shl ecx, 4
mov ebx, dword [eax + ecx + 4]
mov dword [esp + 0x10], ebx
cmp dl, 0x73
jne 0x59936d
movzx edx, word [edi + 2]
and edx, 8
or edx, 4
mov dword [esp + 0x14], edx
mov eax, dword [eax + ecx + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x87]
jae 0x599375
mov byte [esi + 0x87], al
jmp 0x599375
mov dword [esp + 0x14], 0
mov eax, dword [esp + 4]
test byte [eax + 2], 0x10
je 0x59cd63
mov eax, dword [esp + 0x18]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea ebx, [ecx + eax*8]
movzx esi, word [ebx + 0x10]
movzx ecx, si
test cl, 0x24
je 0x59a303
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
jmp 0x59cd47
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
lea edi, [ecx + ecx*4]
mov edx, dword [esp + 0x24]
lea esi, [edx + edi*8]
lea ecx, [eax + eax*4]
movzx eax, word [edx + ecx*8 + 0x10]
test al, 1
jne 0x59a130
lea ecx, [edx + ecx*8]
test al, 0x24
je 0x59c6ae
mov eax, dword [ecx]
or eax, dword [ecx + 4]
setne al
jmp 0x5a003c
mov eax, ecx
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x60]
mov edx, dword [edx]
shl ecx, 4
mov ecx, dword [edx + ecx + 4]
mov edx, dword [ecx + 4]
cmp eax, 0xf
jne 0x59a142
mov eax, dword [edx]
mov edi, dword [ecx + 0x14]
add edi, dword [eax + 0x6c]
jmp 0x59a14e
cmp dword [esp + 0x58], 0
jne case.0x59499c.89
mov dword [esp + 0x58], 0
jmp 0x59e7ec
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x24]
mov ecx, dword [edi + eax*8]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x54]
mov ecx, dword [edx + ecx*4 + 8]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffec
mov word [edi + eax*8 + 0x10], 0
jmp case.0x59499c.89
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov ebx, dword [esp + 0x24]
movzx eax, word [ebx + edx*8 + 0x10]
test al, 0x24
je case.0x59499c.89
lea edi, [ebx + edx*8]
add edi, 0x10
movzx ecx, ax
lea esi, [ebx + edx*8]
test cl, 8
jne 0x59b74f
test cl, 0x24
je 0x59d6bd
fild qword [esi]
fstp qword [esp + 0xc8]
movq xmm0, qword [esp + 0xc8]
jmp 0x59b753
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + ecx*4]
mov edi, dword [esp + 0x24]
lea ecx, [edi + esi*8]
mov edx, dword [edi + eax*8]
mov eax, dword [edi + eax*8 + 4]
test byte [ecx + 0x11], 0x90
je 0x59b1be
push eax
jmp 0x5a0050
cmp dword [esp + 0x58], 0
js 0x59b1d3
mov ecx, dword [esp + 0x54]
je 0x59be1b
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
jmp 0x59e7f6
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
mov eax, dword [ecx + 8]
lea esi, [eax + eax*4]
mov eax, ecx
mov dword [esp + 0x28], edx
lea ecx, [edx + esi*8]
test byte [ecx + 0x11], 0x90
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], esi
je 0x59b1db
call fcn.005a7630
mov eax, dword [esp + 4]
jmp 0x59b1e1
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x59f913
cmp byte [eax + 2], 0
je 0x59f913
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
test byte [edx + eax*8 + 0x11], 0x90
je 0x59ce53
lea ecx, [edx + eax*8]
call fcn.005930a0
jmp 0x59cacc
mov eax, dword [esi + 0x64]
mov ecx, dword [ecx + 4]
dec ecx
lea ecx, [ecx + ecx*4]
lea edi, [eax + ecx*8]
movzx ebx, word [edi + 0x10]
test bl, 0x12
je 0x599598
mov edx, dword [eax + ecx*8 + 0xc]
bt ebx, 0xa
jae 0x59958b
add edx, dword [edi]
mov eax, dword [eax + ecx*8 + 0x14]
cmp edx, dword [eax + 0x78]
jg 0x5a1054
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea ebx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea esi, [eax + ebx*8]
test byte [esi + 0x11], 0x90
je 0x5995b6
mov ecx, esi
call fcn.005930a0
mov eax, dword [esp + 0x24]
lea eax, [eax + ebx*8]
add eax, 0x10
mov ecx, dword [edi + 0x10]
mov dword [esi + 0x10], ecx
movdqu xmm0, xmmword [edi]
movdqu xmmword [esi], xmm0
mov ecx, 0xffff8fbf
and ecx, dword [eax]
or ecx, 0x2040
mov word [eax], cx
jmp 0x59f90f
mov dword [esp + 0x180], 0
mov edx, dword [ecx + 8]
test edx, edx
je 0x59961a
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
and ecx, 2
mov esi, eax
and esi, 0x100000
or esi, ecx
mov ecx, dword [esp + 4]
mov esi, dword [esp + 8]
jne 0x5a15ef
mov eax, dword [esp + 0x60]
mov edi, dword [eax]
mov ebx, dword [ecx + 4]
shl ebx, 4
mov eax, dword [edi + ebx + 4]
test eax, eax
je 0x59f9b9
mov dword [esp + 0x14], ebx
mov dword [esp + 0x28], edi
mov ecx, eax
lea eax, [esp + 0x180]
mov dword [esp + 0x34], ecx
push eax
call fcn.00577cb0
add esp, 4
test eax, eax
jne 0x5a16af
test byte [esi + 0x8c], 0x20
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
je 0x59f9c9
cmp dword [ecx + 8], 0
je 0x59f9c9
cmp byte [edx + 0x55], 0
je 0x599692
cmp dword [edx + 0xc0], 2
jl 0x59f9c9
mov edi, edx
mov edx, dword [esi + 0x30]
test edx, edx
jne 0x5996b3
mov eax, edi
mov edx, dword [edi + 0x1e8]
inc edx
mov dword [edi + 0x1e8], edx
add edx, dword [edi + 0x1e4]
mov dword [esi + 0x30], edx
cmp dword [edi + 0x184], 0
je 0x59f963
mov dword [esp + 0x38], edx
lea eax, [edx - 1]
mov dword [esp + 0x3c], eax
xor esi, esi
cmp esi, dword [edi + 0x16c]
jge 0x59f95c
mov edx, edi
mov eax, dword [edi + 0x184]
mov ecx, dword [eax + esi*4]
mov edi, dword [ecx + 8]
xor ebx, ebx
test edi, edi
je 0x5997e9
mov eax, dword [ecx + 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax]
cmp dword [ecx], 2
jl 0x5997e9
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0xc]
inc ebx
mov dword [eax + 0xc], ebx
mov ecx, dword [ecx + 0x50]
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
mov dword [edi + 0x14], eax
test ecx, ecx
je 0x599744
call dword [section..00cfg]
push dword [esp + 0x3c]
push dword [esp + 0x14]
call ecx
mov edx, dword [esp + 0x14]
add esp, 8
mov ecx, dword [esp + 0x18]
mov ebx, dword [ecx + 0xc]
jmp 0x59974a
xor eax, eax
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx]
dec ebx
mov dword [ecx + 0xc], ebx
je 0x599759
mov ebx, eax
jmp 0x5997e9
mov ebx, edi
mov edi, dword [ecx + 8]
mov dword [esp + 0x40], ebx
test edi, edi
je 0x599785
mov ecx, dword [edi]
mov ebx, eax
mov ecx, dword [ecx + 0x10]
call dword [section..00cfg]
push edi
call ecx
mov ecx, dword [esp + 0x1c]
mov eax, ebx
mov edx, dword [esp + 0x10]
add esp, 4
mov ebx, dword [ecx]
mov dword [esp + 0x48], ebx
mov ebx, dword [ecx + 4]
dec dword [ebx + 8]
jne 0x5997d4
mov edi, ebx
mov dword [esp + 0x10], eax
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x5997b1
mov ebx, dword [edi + 0xc]
call dword [section..00cfg]
push ebx
call ecx
mov edx, dword [esp + 0x10]
add esp, 4
test edi, edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
je 0x5997d4
mov ecx, dword [esp + 0x48]
mov edx, edi
call fcn.0057fe10
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, eax
test ecx, ecx
je 0x5997e9
mov edx, ecx
mov ecx, dword [esp + 0x40]
call fcn.0057fe10
mov edx, dword [esp + 0xc]
mov edi, edx
inc esi
test ebx, ebx
je 0x5996cd
jmp 0x59f98b
mov eax, dword [ecx + 4]
test eax, eax
je case.0x59499c.89
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
lea ecx, [edx + eax*8]
test byte [ecx + 0x11], 0x90
je 0x59b5cd
xor edx, edx
push 0
call fcn.005941c0
add esp, 4
jmp 0x59f913
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
lea edi, [edx + eax*8]
add edi, 0x10
movzx ebx, word [edi]
test bl, 4
jne 0x59bad5
mov dword [esp + 0x18], edi
movzx ecx, bx
test cl, 4
jne 0x59bab5
mov edi, ecx
mov edx, dword [esp + 0x24]
lea ecx, [edx + eax*8]
mov eax, edi
test al, 0x28
mov edx, dword [esp + 0xc]
je 0x59e70d
test bl, 0x20
mov edi, dword [esp + 0x18]
jne 0x599908
mov dword [esp + 0x14], ecx
movsd xmm0, qword [ecx]
movsd qword [esp + 0x28], xmm0
call fcn.00593ea0
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0xc0], xmm1
fild qword [esp + 0xc0]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x34], edx
adc edx, 0x7fffffff
fstp qword [esp + 0xb8]
movsd xmm0, qword [esp + 0x28]
ucomisd xmm0, qword [esp + 0xb8]
jne 0x59fff2
jp 0x59fff2
mov dword [esp + 0x28], eax
xor eax, eax
dec eax
mov esi, 0xfffffffd
cmp esi, ecx
sbb eax, edx
jb 0x59ffee
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 4], ecx
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
and ebx, 0xfffff240
or ebx, 4
mov word [edi], bx
jmp 0x59babd
cmp byte [ecx], 0
jne 0x599928
test byte [ecx + 1], 8
jne 0x59c6ec
lea esi, [esp + 0x180]
mov edx, esi
call fcn.005a9860
mov ebx, eax
mov eax, dword [esi]
mov byte [edi + 2], al
mov byte [edi + 3], 0
mov dword [edi + 0x20], 0
test ebx, ebx
jne 0x5a1281
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 4]
cmp dword [ecx + 8], 0
mov esi, dword [esp + 8]
jle 0x59f913
test eax, eax
jne 0x59cac4
jmp 0x59f913
cmp ecx, 0x7e
jg 0x59a1cd
inc ecx
jmp 0x59a271
mov dword [esp + 0x10], 0
mov dl, byte [esp + 0x33]
cmp byte [eax], dl
je 0x59fca6
movzx edx, dl
mov ecx, esi
call fcn.005941f0
jmp 0x59fca2
test cl, 8
jne 0x59a41e
test cl, 0x12
je 0x59b7a3
mov eax, dword [esp + 0x24]
cmp dword [eax + edx*8 + 8], 0
je 0x59b7a3
mov ecx, ebx
call fcn.00593ef0
mov dword [esp + 0x14], eax
movzx ecx, word [ebx + 0x10]
jmp 0x59b7ad
mov eax, dword [esp + 0xc]
mov dword [eax + 0xcc], edi
jmp 0x59f907
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x11], 0x90
je 0x59b5bd
lea ecx, [edx + eax*8]
call fcn.005930a0
jmp 0x59f913
cmp cx, 0x42
mov edx, dword [esp + 0x28]
jne 0x59e76f
and ebx, 2
je 0x59e76f
test dl, 2
jne 0x59e72d
mov edi, edx
mov edx, dword [esp + 0x38]
and edi, 0x2c
mov ecx, dword [esp + 0x18]
je 0x59e731
movzx edx, byte [esp + 0x33]
push 1
call fcn.00593580
add esp, 4
mov eax, 0xfffff240
mov ecx, dword [esp + 0x34]
and eax, dword [ecx]
mov ecx, dword [esp + 0x3c]
and ecx, 0xdbf
or ecx, eax
mov dword [esp + 0x3c], ecx
mov eax, ecx
or eax, 2
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x14]
cmove ecx, eax
mov dword [esp + 0x14], ecx
movzx edx, cx
jmp 0x59e731
mov ebx, esi
test al, 1
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x38]
je 0x59b330
mov eax, ecx
and eax, 0x100
jne 0x59b330
mov dword [esp + 0x58], 0
mov eax, 0x717dd4
jmp 0x59e7c9
cmp byte [edx + 0x717dd4], 0
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jne 0x59e7ec
jmp 0x59be2b
test dl, 8
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x14]
jne 0x59b345
test dl, 0x12
je 0x59c0f1
mov edx, dword [esp + 0x24]
cmp dword [edx + eax*8 + 8], 0
je 0x59c0f1
lea esi, [edx + ebx*8]
add esi, 0x10
call fcn.00593ef0
mov edi, eax
movzx eax, word [esi]
mov dword [esp + 0x28], eax
mov esi, dword [esp + 8]
jmp 0x59c0f5
lea eax, [edi + ebx*8]
add eax, 0x10
mov word [eax], 1
jmp 0x59fca2
mov word [eax], 4
mov eax, dword [ecx + 8]
mov dword [esp + 0x28], eax
mov edi, dword [ecx + 0xc]
xor ebx, ebx
cmp dword [ecx + 4], 0
setne bl
shl ebx, 8
or ebx, 1
mov eax, dword [esp + 0x18]
mov word [eax], bx
mov dword [edx + esi*8 + 0xc], 0
sub edi, dword [esp + 0x28]
jle 0x59fca6
lea esi, [edx + esi*8]
add esi, 0x28
inc edi
test byte [esi + 0x11], 0x90
je 0x599b78
mov ecx, esi
call fcn.005930a0
mov ecx, dword [esp + 4]
mov word [esi + 0x10], bx
mov dword [esi + 0xc], 0
add esi, 0x28
dec edi
cmp edi, 1
jg 0x599b67
jmp 0x59fca6
mov ebx, 2
test al, 1
jne 0x59ed52
test al, 8
jne 0x59c6fe
test al, 0x12
je 0x59ed3e
call fcn.005937a0
jmp 0x59ed42
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x28]
cmp ecx, 1
mov eax, esi
sbb eax, 0
jl 0x59b842
push esi
push ecx
push 0x7fffffff
push 0xffffffffffffffff
call fcn.0068c7b0
mov ecx, dword [esp + 0x38]
cmp eax, ecx
sbb edx, edi
jl 0x59db5b
xor ecx, ecx
push esi
push dword [esp + 0x2c]
push 0x80000000
push ecx
call fcn.0068c7b0
neg eax
mov ecx, 0
sbb ecx, edx
mov edx, dword [esp + 0x38]
cmp edx, eax
mov eax, edi
sbb eax, ecx
jge 0x59b84e
jmp 0x59db5b
mov edx, dword [esp + 0x28]
mov eax, edx
or eax, esi
je 0x59fb95
and edx, esi
xor eax, eax
mov dword [esp + 0x38], ecx
xor ecx, ecx
dec ecx
add ecx, 1
adc eax, 0x7fffffff
cmp edx, 0xffffffff
mov edx, dword [esp + 0x38]
jne 0x599c50
xor ecx, edx
xor eax, edi
or eax, ecx
je 0x59db5b
push esi
push dword [esp + 0x2c]
push edi
push edx
call fcn.00690350
jmp 0x599cd4
mov dword [esp + 0x38], ecx
xor ecx, ecx
dec ecx
xor edx, edx
mov dword [esp + 0x3c], ecx
add ecx, 1
mov ecx, 0
adc ecx, 0x7fffffff
xor ecx, esi
mov eax, dword [esp + 0x28]
or ecx, eax
mov ecx, 0x7fffffff
jne 0x59b355
test edi, edi
mov edx, dword [esp + 0x38]
jns 0x59db5b
xor eax, eax
dec eax
and edx, eax
and edi, ecx
jmp 0x59d288
mov ebx, dword [esp + 0x28]
mov eax, ebx
or eax, esi
je 0x59fb95
mov eax, ebx
and eax, esi
mov dword [esp + 0x38], ecx
xor ecx, ecx
xor edx, edx
inc edx
cmp eax, 0xffffffff
cmovne edx, ebx
cmovne ecx, esi
push ecx
push edx
push edi
push dword [esp + 0x44]
call fcn.00691020
mov edi, edx
jmp 0x59d28a
mov dword [esp + 0x18], edi
mov ebx, dword [edi + 0x2c]
xor eax, eax
dec eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a0], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
mov dword [esp + 0x154], eax
mov dword [esp + 0x150], eax
movdqa xmmword [esp + 0x140], xmm0
movdqa xmmword [esp + 0x130], xmm0
mov ecx, ebx
call fcn.0058dbc0
mov eax, dword [ebx + 0x2c]
mov word [esp + 0x190], 0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x194], ecx
xor ecx, ecx
mov dword [esp + 0x198], ecx
movzx edx, word [ebx + 0x30]
mov edi, dword [ebx + 0x28]
mov esi, dword [ebx + 0x74]
mov esi, dword [esi + 0x3c]
sub esi, edi
test esi, esi
cmovg ecx, esi
cmp esi, edx
cmovge ecx, edx
mov dword [esp + 0x188], edi
cmp ecx, eax
jae 0x59b45d
lea esi, [esp + 0x180]
mov ecx, ebx
xor edx, edx
push esi
push eax
call fcn.005a2300
add esp, 8
test eax, eax
jne 0x5a16e2
mov edi, dword [esp + 0x188]
jmp 0x59b46e
test eax, eax
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
je 0x59e6cf
jmp 0x5a1afd
mov edx, dword [esp + 0xc]
cmp dword [edx + 0xc4], 0
jle 0x599dcf
cmp dword [esp + 0x14], 1
je 0x5a16ef
mov edi, dword [esp + 0x34]
cmp dword [edi + 0x18], 0
je 0x59c308
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
not eax
add eax, dword [edx + 0x1e4]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x14], 2
jne 0x59bfa3
mov esi, dword [edx + 0x18]
and esi, 1
cmp dword [edx + 0x14], 0
jle 0x59d7a5
mov dword [esp + 0x3c], esi
xor esi, 1
xor edi, edi
mov ebx, 4
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov ecx, dword [eax + ebx]
mov edx, 0x204
push esi
call fcn.005901d0
add esp, 4
test eax, eax
jne 0x5a0eb9
inc edi
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x14]
add ebx, 0x10
cmp edi, eax
jl 0x599e20
xor ecx, ecx
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
jmp 0x59bfa8
cmp dword [ecx + 0x24], 0
je 0x59c384
lea edx, [ecx + 0x24]
add ecx, 0x40
call fcn.005adc40
xor ebx, ebx
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
jmp 0x59ccb8
test byte [edx + edi*8 + 0x11], 0x90
je 0x59c4df
mov ecx, dword [esp + 0x38]
call fcn.005930a0
jmp 0x59fca2
mov ecx, dword [edi + 0xc]
cmp ecx, edx
jge 0x59f913
mov word [eax + 0xc], cx
jmp 0x59f913
mov ebx, dword [edx + 8]
mov esi, dword [edx + 0x40]
mov edi, dword [ebx + 4]
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x59c2b8
test esi, esi
je 0x59c2a0
cmp dword [ecx + 0x40], esi
je 0x59c2a0
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x599eca
jmp 0x59c2b8
mov eax, dword [ecx + 8]
mov ecx, eax
sar ecx, 0x1f
add dword [edx + 0x1f8], eax
adc dword [edx + 0x1fc], ecx
jmp 0x59f913
cmp byte [eax], 1
je 0x599f14
mov eax, dword [esp + 0x24]
lea ecx, [eax + edi*8]
xor edx, edx
inc edx
call fcn.005941f0
test eax, eax
jne 0x5a16e2
mov eax, dword [ebx]
mov ecx, dword [eax + 0x4c]
mov eax, dword [esp + 0x24]
mov edi, dword [eax + edi*8 + 8]
call dword [section..00cfg]
push edi
push ebx
call ecx
add esp, 8
bt esi, 0x1a
mov edx, dword [esp + 0xc]
jb 0x599f3c
and byte [edx + 0x23], 0xfb
mov esi, dword [ebx + 8]
test esi, esi
je 0x59ca80
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
mov edi, dword [eax]
mov edx, dword [eax + 0x7c]
test edx, edx
mov dword [esp + 0x18], ebx
je 0x599f6e
mov ecx, edi
call fcn.0057fe10
mov esi, dword [ebx + 8]
test esi, esi
je 0x59c9e9
push esi
call fcn.00687040
add esp, 4
inc eax
test edi, edi
je 0x59c9cb
xor ebx, ebx
cmp byte [edi + 0x57], 0
jne 0x59c9eb
mov ecx, edi
mov edi, eax
mov edx, eax
push 0
call fcn.00580000
add esp, 4
jmp 0x59c9d6
test al, 1
jne 0x59ba47
lea ecx, [esp + 0x180]
xor edx, edx
inc edx
call fcn.00593420
mov edx, eax
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x28]
test edx, edx
je 0x59dabf
mov eax, dword [ecx + 4]
mov edi, dword [esp + 0xc]
mov esi, dword [edi + 0x10]
shl eax, 4
mov ecx, edi
push dword [esi + eax]
call fcn.0057f430
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0x30]
mov ecx, dword [eax]
mov edi, dword [edi + 0x17c]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x8c]
test edi, edi
je 0x59d9f2
mov bl, byte [ecx]
test bl, bl
je 0x59d9db
lea edx, [ecx + 1]
xor eax, eax
movzx esi, bl
movzx esi, byte [esi + 0x717d00]
add esi, eax
imul eax, esi, 0x9e3779b1
mov bl, byte [edx]
inc edx
test bl, bl
jne 0x59a018
jmp 0x59d9dd
xor edx, edx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x34], eax
mov edx, dword [esp + 4]
test byte [edx + 2], 1
je 0x59a06a
add dword [esi + 0x28], 1
adc dword [esi + 0x2c], 0
test byte [edx + 2], 0x20
je 0x59a06a
mov esi, dword [esp + 0x28]
mov dword [ecx + 0x28], esi
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x18]
lea ecx, [eax + eax*4]
mov esi, dword [esp + 0x24]
mov eax, dword [esi + ecx*8 + 8]
mov dword [esp + 0x190], eax
mov eax, dword [esi + ecx*8 + 0xc]
mov dword [esp + 0x19c], eax
xor edi, edi
test byte [edx + 2], 0x10
mov eax, 0
je 0x59a09b
mov eax, dword [ebx + 0x24]
test byte [esi + ecx*8 + 0x11], 4
je 0x59a0a7
lea ecx, [esi + ecx*8]
mov edi, dword [ecx]
lea edx, [esp + 0x180]
mov dword [edx + 0x20], edi
xor edi, edi
mov dword [edx], edi
mov ecx, dword [esp + 4]
movzx esi, word [ecx + 2]
and esi, 0x8a
mov ecx, dword [ebx + 0x2c]
push eax
push esi
call fcn.005a3780
add esp, 8
mov byte [ebx + 3], 0
mov dword [ebx + 0x20], edi
test eax, eax
jne 0x5a16e2
mov edx, dword [esp + 0x10]
test edx, edx
mov eax, dword [esp + 0xc]
je 0x59f907
mov ebx, dword [eax + 0xf0]
mov ecx, dword [eax + 0xf4]
mov esi, dword [edx]
mov eax, dword [esp + 4]
movzx eax, word [eax + 2]
and eax, 4
shr eax, 2
lea edi, [eax + eax*4]
add edi, 0x12
call dword [section..00cfg]
push dword [esp + 0x14]
push dword [esp + 0x2c]
push esi
push dword [esp + 0x40]
push edi
push ebx
call ecx
add esp, 0x18
jmp 0x59f907
test byte [edx + edi*8 + 0x11], 0x90
je 0x59c6d0
mov ecx, esi
jmp 0x59fba8
mov ecx, dword [edx + 0xc]
mov ecx, dword [ecx + 0x38]
mov edi, dword [ecx + eax*4 + 0x24]
bswap edi
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
je 0x59b1a6
mov ecx, esi
call fcn.005a7630
jmp 0x59b1b1
xor eax, eax
jmp 0x59cca1
mov dword [esp + 0x180], 1
xor edx, edx
inc edx
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea esi, [ecx + eax*8]
test byte [esi + 0x11], 0x90
je 0x59b3e0
mov eax, edx
sar eax, 0x1f
mov ecx, esi
push eax
call fcn.005941c0
add esp, 4
jmp 0x59b3f3
mov dword [esp + 0x10], 0
mov esi, dword [esp + 8]
jmp 0x59cacc
mov dword [esp + 0x38], edx
mov dword [esp + 0x14], esi
xor eax, eax
inc eax
mov dword [esp + 0x3c], ecx
cmp ecx, 0x7f
je 0x59a20e
xor edx, edx
xor eax, eax
inc eax
mov edi, dword [esp + 0x3c]
xor esi, esi
mov ebx, edx
shld ebx, edi, 0x19
shr esi, 7
inc eax
mov ecx, eax
mov eax, 0x3fff
cmp eax, edi
mov eax, 0
sbb eax, edx
mov eax, ecx
mov edi, ebx
mov edx, esi
jb 0x59a1ec
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x3c]
add ecx, eax
mov dword [esp + 0x3c], ecx
cmp ecx, 0x80
mov ecx, 1
jb 0x59a25a
mov edi, dword [esp + 0x3c]
mov edx, edi
sar edx, 0x1f
xor ecx, ecx
inc ecx
mov esi, edx
mov eax, edx
shld eax, edi, 0x19
shr esi, 7
inc ecx
mov dword [esp + 0x18], ecx
xor ebx, ebx
mov ecx, 0x3fff
cmp ecx, edi
mov ecx, dword [esp + 0x18]
sbb ebx, edx
mov edi, eax
mov edx, esi
jb 0x59a237
cmp dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x3c]
adc ecx, 0
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov eax, ecx
sar eax, 0x1f
mov dword [esp + 0x3c], ecx
add esi, ecx
mov dword [esp + 0x28], eax
adc edx, eax
mov dword [esp + 0x14], esi
mov ecx, esi
add ecx, dword [esp + 0x44]
adc edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x24]
mov esi, dword [eax + ebx*8 + 0x18]
mov eax, edx
mov edx, esi
sar edx, 0x1f
mov dword [esp + 0x18], esi
cmp esi, ecx
mov dword [esp + 0x38], eax
sbb edx, eax
jge 0x59a2f2
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x78]
mov esi, edx
sar esi, 0x1f
cmp edx, ecx
sbb esi, dword [esp + 0x38]
jl 0x5a1054
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x18], edx
jge 0x59bbb9
mov ecx, dword [esp + 0x74]
push 0
call fcn.00593170
add esp, 4
test eax, eax
je 0x59bbc9
jmp 0x5a149f
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + ebx*8 + 0x20]
mov dword [ecx + ebx*8 + 8], eax
jmp 0x59bbc9
test cl, 8
jne 0x59bae6
test cl, 0x12
je 0x59cd43
mov ecx, dword [esp + 0x24]
cmp dword [ecx + eax*8 + 8], 0
je 0x59cd43
mov ecx, ebx
call fcn.00593ef0
movzx esi, word [ebx + 0x10]
jmp 0x59cd47
mov ecx, edx
xor edx, edx
call fcn.00576290
mov esi, eax
test eax, eax
je 0x5a15da
lea eax, [esi + 0x20]
mov dword [esi + 4], eax
mov dword [esi], ebx
movzx eax, word [ebx + 6]
inc eax
mov word [esi + 0x14], ax
mov eax, dword [esp + 0x184]
mov edx, dword [eax + 0xc]
mov ecx, dword [edi + 0x30]
push esi
push dword [eax + 8]
call fcn.005a3590
add esp, 8
mov byte [esi + 0x16], 0
lea eax, [edi + 0x24]
mov ecx, dword [edi + 0x2c]
mov edx, esi
push eax
call fcn.005a2fe0
add esp, 4
mov ebx, eax
mov ecx, dword [esp + 0xc]
mov edx, esi
call fcn.0057fe10
mov eax, ebx
test eax, eax
mov esi, dword [esp + 8]
jne 0x5a16e6
mov ecx, dword [edi + 0x24]
test ecx, ecx
setne byte [edi + 2]
mov byte [edi + 3], 0
mov dword [edi + 0x20], 0
mov eax, dword [esp + 4]
movzx eax, byte [eax]
cmp eax, 0x1d
jne 0x59a3ce
test ecx, ecx
jne 0x59e6cf
jmp 0x59cac4
test ecx, ecx
jne 0x59cac4
cmp eax, 0x1a
je 0x59c3bd
cmp eax, 0x1b
jne 0x59e6cf
movzx ecx, word [esp + 0x194]
test ecx, ecx
je 0x59e6cf
mov eax, dword [esp + 0x184]
shl ecx, 3
lea ecx, [ecx + ecx*4]
xor edx, edx
test byte [eax + edx + 0x10], 1
jne 0x59cac4
add edx, 0x28
cmp ecx, edx
jne 0x59a407
jmp 0x59e6cf
movq xmm0, qword [ebx]
mov esi, ecx
call fcn.00593ea0
mov ecx, esi
mov dword [esp + 0x14], eax
jmp 0x59b7ad
lea eax, [edx + eax*8]
add eax, 0x10
mov word [eax], 1
jmp 0x5a0a97
mov edx, esi
push 0
call fcn.0058d970
add esp, 4
test eax, eax
jne 0x59a495
cmp byte [ebx + 0xb], 0
je 0x59a47f
mov byte [ebx + 0xb], 0
mov eax, dword [ebx + 4]
mov eax, dword [eax + 8]
test eax, eax
je 0x59a47f
test byte [eax + 1], 0x10
je 0x59a47a
mov byte [ebx + 0xb], 1
cmp dword [eax + 0x40], esi
jne 0x59a47a
mov byte [eax], 1
mov eax, dword [eax + 0x18]
jmp 0x59a464
lea eax, [esp + 0x180]
mov ecx, edi
mov edx, esi
push eax
push 0
call fcn.005a8bb0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 4]
cmp dword [eax + 0xc], 0
mov esi, dword [esp + 8]
je 0x59a4d2
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x184]
add dword [esi + 0x28], eax
adc dword [esi + 0x2c], ecx
mov edx, dword [esp + 4]
mov edx, dword [edx + 0xc]
test edx, edx
jle 0x59a4d2
lea edx, [edx + edx*4]
mov edi, dword [esp + 0x24]
add dword [edi + edx*8], eax
adc dword [edi + edx*8 + 4], ecx
test ebx, ebx
mov edx, dword [esp + 0xc]
je 0x59e6cf
jmp 0x5a1473
mov edx, ebx
push 0
call fcn.0058d970
add esp, 4
test eax, eax
mov edx, dword [esp + 0xc]
jne 0x5a17d4
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0xb], 0
je 0x59a52a
mov byte [ecx + 0xb], 0
mov eax, dword [ecx + 4]
mov eax, dword [eax + 8]
test eax, eax
je 0x59a52a
test byte [eax + 1], 0x10
je 0x59a525
mov byte [ecx + 0xb], 1
cmp dword [eax + 0x40], ebx
jne 0x59a525
mov byte [eax], 1
mov eax, dword [eax + 0x18]
jmp 0x59a50f
xor eax, eax
mov ecx, edi
mov edx, ebx
push eax
push eax
call fcn.005a8bb0
add esp, 8
test eax, eax
jne 0x5a1136
lea eax, [esp + 0x180]
mov dword [eax], 0xffffffff
mov esi, dword [edi]
mov ecx, dword [esi + 0xdc]
call dword [section..00cfg]
push 0
lea eax, [esp + 0x184]
push eax
push ebx
push esi
call ecx
add esp, 0x10
test eax, eax
jne 0x5a1136
mov eax, dword [esp + 0x180]
mov esi, dword [eax + 8]
cmp dword [esi + 4], ebx
je 0x59a5a4
mov ecx, dword [eax + 4]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x48], eax
mov dword [esi + 0x34], edi
mov dword [esi + 4], ebx
xor eax, eax
cmp ebx, 1
mov ecx, 0x64
cmovne ecx, eax
mov byte [esi + 9], cl
cmp byte [edi + 0x11], 0
je 0x59b5e4
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x34]
mov edi, eax
bswap edi
cmp edi, ebx
jne 0x59b9d1
mov ecx, dword [esi + 0x34]
mov edx, esi
push ebx
call fcn.005a9180
add esp, 4
test esi, esi
mov ebx, dword [esp + 0x18]
je 0x59e8b1
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x59e852
call fcn.00580a10
jmp 0x59e8ad
mov esi, dword [eax + edi*8 + 8]
jmp 0x59d2dc
mov edx, dword [esp + 0xc]
cmp dword [edx + 0xc4], 0
jg 0x5a1827
test ebx, ebx
je 0x59d38f
push ebx
call fcn.00687040
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
add esp, 4
and eax, 0x3fffffff
mov dword [esp + 0x3c], eax
jmp 0x59d397
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
movzx eax, word [ecx + eax*8 + 0x10]
and eax, 0x3f
mov cl, byte [eax + 0x717e12]
jmp 0x59b638
mov eax, dword [esi + 0x40]
or eax, dword [esi + 0x44]
mov ecx, dword [esp + 0xc]
jne 0x59f913
mov eax, dword [ecx + 0x1f8]
or eax, dword [ecx + 0x1fc]
mov ecx, dword [esp + 4]
jne case.0x59499c.89
jmp 0x59e7ec
mov word [esi + 0x10], 1
lea eax, [edi + edi*4]
mov ecx, dword [esp + 0x24]
test byte [ecx + eax*8 + 0x10], 1
jne 0x59f90f
lea edx, [ecx + eax*8]
add edx, 0x10
lea ecx, [ecx + eax*8]
mov word [esi + 0x10], 4
movzx edx, word [edx]
test dl, 0x24
je 0x59c3f2
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
jmp 0x59f5eb
xor ecx, ecx
xor esi, esi
mov eax, dword [esp + 0x14]
lea eax, [eax + eax*4]
mov edx, ecx
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx + eax*8 + 8]
mov eax, dword [ecx + eax*8 + 0xc]
mov ecx, eax
sar ecx, 0x1f
push ecx
push eax
push esi
push edx
call fcn.0068c820
shld edx, eax, 0x1d
movzx ecx, byte [edi + edx]
and eax, 7
bt ecx, eax
jae 0x59a70f
mov esi, dword [esp + 8]
inc dword [esi + 0xb4]
jmp 0x59f913
mov esi, dword [esp + 8]
inc dword [esi + 0xb8]
jmp 0x59cacc
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x10]
movq xmm0, qword [eax]
movq qword [esi], xmm0
jmp 0x59fca6
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov dword [esi], eax
sar eax, 0x1f
mov dword [esi + 4], eax
jmp 0x59fca6
mov word [esi + 0x10], 4
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
je 0x59a783
mov word [esi + 0x10], 1
jmp 0x59f90f
cmp byte [edi + 3], 0
je 0x59d03e
add edi, 0x40
mov ecx, dword [esp + 4]
movq xmm0, qword [edi]
jmp 0x59a734
mov word [esi + 0x10], 4
mov ax, 4
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0xc4]
mov edx, dword [ecx + 8]
mov edi, dword [ecx + 0x30]
lea edi, [edi + edi*4]
mov edx, dword [edx + edi*4 + 4]
mov edi, dword [esp + 4]
add edx, dword [edi + 4]
mov ecx, dword [ecx + 0xc]
lea edi, [edx + edx*4]
lea edx, [ecx + edi*8]
test eax, 0x9000
je 0x59a7e3
mov ecx, esi
push 0x4000
call fcn.005a7650
jmp 0x5a0055
mov eax, dword [edx + 0x10]
mov dword [esi + 0x10], eax
movdqu xmm0, xmmword [edx]
movdqu xmmword [esi], xmm0
test byte [ecx + edi*8 + 0x11], 0x20
jne 0x59f90f
mov eax, 0xffff8fff
and eax, dword [esi + 0x10]
or eax, 0x4000
mov word [esi + 0x10], ax
jmp 0x59f90f
mov word [esi + 0x10], 4
mov edi, dword [ecx + 4]
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x59a842
mov eax, edi
sar eax, 0x1f
mov ecx, esi
xor esi, esi
push esi
push esi
push eax
push edi
call fcn.0057ab10
add esp, 0x10
mov esi, ebx
mov ebx, dword [esp + 0x18]
jmp 0x59a8c7
test byte [esi + 0x11], 0x90
jne 0x59a853
mov eax, dword [esp + 0x18]
cmp dword [eax + ebx*8 + 0x18], 0
je 0x59a85a
mov ecx, esi
call fcn.00593060
mov word [esi + 0x10], 0x410
xor eax, eax
mov ecx, esi
mov esi, ebx
mov ebx, dword [esp + 0x18]
mov dword [ebx + esi*8 + 0xc], eax
test edi, edi
cmovle edi, eax
mov dword [ecx], edi
mov byte [ebx + esi*8 + 0x12], 1
mov dword [ebx + esi*8 + 8], eax
cmp edi, 1
adc edi, eax
mov dword [esp + 0x28], ecx
mov edx, edi
push 1
call fcn.00593170
add esp, 4
test eax, eax
jne 0x5a15da
lea ecx, [ebx + esi*8]
add ecx, 0xc
mov dword [esp + 0x14], ecx
mov eax, dword [ecx - 4]
add eax, dword [ecx]
mov edi, dword [esp + 0x28]
push dword [edi]
push 0
push eax
call fcn.006719e0
add esp, 0xc
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
add dword [ecx], eax
and byte [edi + 0x11], 0xf9
mov al, byte [esp + 0x33]
mov byte [ebx + esi*8 + 0x12], al
jmp 0x59f90f
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov edi, ecx
add edi, 1
mov ebx, edx
adc ebx, 0
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], ebx
mov dword [esi], ecx
mov ecx, dword [esp + 4]
mov dword [esi + 4], edx
jmp 0x59fca6
mov esi, dword [esp + 8]
mov ecx, edi
jmp case.0x59499c.89
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov ebx, dword [esp + 0x50]
lea edx, [esp + 0x180]
mov dword [edx], 0
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov edi, dword [esp + 4]
mov ecx, dword [edi + 4]
shl ecx, 4
mov ecx, dword [eax + ecx + 4]
push dword [edi + 0xc]
call fcn.005a2500
add esp, 4
test eax, eax
jne 0x5a16e2
mov eax, dword [esp + 0x180]
mov dword [esi], eax
mov dword [esi + 4], 0
mov dword [esp + 0x10], 0
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x50], ebx
jmp case.0x59499c.89
test dl, 8
jne 0x59c4fd
test dl, 0x12
je 0x59d6e0
cmp dword [eax + ecx*8 + 8], 0
je 0x59d6e0
mov ecx, esi
call fcn.00593ef0
movzx edi, word [esi + 0x10]
jmp 0x59d6e4
test al, 1
jne 0x59c50b
test al, 8
mov ebx, dword [esp + 0x50]
jne 0x59dff7
test al, 0x12
je 0x59fc45
call fcn.005937a0
jmp 0x59fc49
lea eax, [eax + edx*8]
add eax, 0x10
mov word [eax], 4
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 4]
mov ebx, dword [eax + ecx*4]
test byte [ebx + 8], 2
jne 0x59e060
mov edi, dword [ebx + 0x2c]
cmp byte [edi], 0
jne 0x59aa14
test byte [edi + 1], 8
jne 0x59e000
lea edx, [esp + 0x130]
mov ecx, edi
call fcn.005a9860
test eax, eax
jne 0x5a16e6
cmp dword [esp + 0x130], 0
je 0x59ce17
mov dword [esp + 0x184], 0
mov dword [esp + 0x180], 1
mov dword [esp + 0x10], 0
jmp 0x59e05c
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
mov eax, dword [esp + 4]
mov edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
shl edx, 4
mov ecx, dword [ecx + edx + 4]
mov ecx, dword [ecx + 4]
test eax, eax
je 0x59aa96
mov edx, dword [ecx]
mov ecx, dword [ecx + 0x30]
cmp ecx, eax
cmova eax, ecx
mov dword [edx + 0xa0], eax
jmp 0x59aa9e
mov eax, dword [ecx]
mov eax, dword [eax + 0xa0]
mov dword [esi], eax
mov dword [esi + 4], 0
jmp 0x59f90f
mov edx, dword [ecx + 0x24]
mov eax, dword [edx + 4]
mov dword [ecx + 0x24], eax
mov dword [edx + 4], 0
mov dword [esp + 0x18], ecx
cmp dword [ecx + 0x28], 0
mov esi, dword [esp + 0xc]
jne 0x59aade
test edx, edx
je 0x59aade
mov ebx, dword [edx + 4]
mov ecx, esi
call fcn.0057fe10
mov edx, ebx
test ebx, ebx
jne 0x59aace
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x24], 0
je 0x59d0dc
mov esi, dword [esp + 8]
jmp 0x59b196
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 4]
shl ecx, 4
mov eax, dword [eax + ecx + 4]
mov ecx, edx
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [esi], eax
mov dword [esi + 4], 0
jmp 0x59fca6
xor ecx, ecx
xor esi, esi
mov eax, dword [esp + 0x14]
lea eax, [eax + eax*4]
mov edx, ecx
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx + eax*8 + 8]
mov eax, dword [ecx + eax*8 + 0xc]
mov ecx, eax
sar ecx, 0x1f
push ecx
push eax
push esi
push edx
call fcn.0068c820
shld edx, eax, 0x1d
mov ecx, eax
and cl, 7
mov al, 1
shl al, cl
mov ecx, dword [esp + 4]
or byte [edi + edx], al
jmp 0x59fca6
mov word [esi + 0x10], 4
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + 0x2c]
mov ecx, edi
call fcn.0058dbc0
mov eax, dword [edi + 0x2c]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x78]
ja 0x5a1054
mov dword [esp + 0x28], esi
movzx ecx, word [edi + 0x30]
mov edx, dword [edi + 0x28]
mov esi, dword [edi + 0x74]
mov esi, dword [esi + 0x3c]
sub esi, edx
xor ebx, ebx
test esi, esi
cmovg ebx, esi
cmp esi, ecx
cmovge ebx, ecx
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov dword [ecx + esi*8 + 8], edx
cmp ebx, eax
jae 0x59abe4
mov ecx, edi
xor edx, edx
mov edi, dword [esp + 0x28]
push edi
push eax
call fcn.005a2300
add esp, 8
test eax, eax
mov ecx, dword [esp + 4]
je 0x59abf6
jmp 0x5a14fc
mov edi, dword [esp + 0x28]
mov word [edi + 0x10], 0x4010
mov dword [ecx + esi*8 + 0xc], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x10], 0
cmp dword [ecx + 0xc], 0
mov esi, dword [esp + 8]
jne case.0x59499c.89
test byte [edi + 0x11], 0x40
je case.0x59499c.89
mov ecx, edi
call fcn.0057a9d0
test eax, eax
je 0x59f913
jmp 0x5a133a
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
mov dword [esp + 0x28], eax
pxor xmm0, xmm0
lea eax, [esp + 0x184]
movdqu xmmword [eax + 0xc], xmm0
movdqu xmmword [eax], xmm0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x180], ecx
mov al, byte [esp + 0x33]
mov byte [esp + 0x198], al
test byte [edi + 2], 1
lea ecx, [edx + ebx*8 + 0x10]
movzx eax, word [ecx]
mov dword [esp + 0x10], ecx
jne 0x59c561
and eax, 0xfffff240
or eax, 1
mov word [ecx], ax
jmp 0x59c582
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x10]
mov edi, ecx
mov ecx, esi
shl ecx, 4
push dword [eax + ecx + 0xc]
call fcn.005a54f0
add esp, 4
and byte [ebx + 0x18], 0xef
movzx eax, word [edi + 2]
mov ecx, ebx
mov edx, esi
push eax
push dword [esp + 0x70]
call fcn.005a5a70
mov ecx, ebx
add esp, 8
or byte [ebx + 0x18], 1
mov ebx, eax
mov esi, dword [esp + 8]
and byte [esi + 0x8c], 0xfc
test ebx, ebx
je 0x59e6cf
jmp 0x5a14b4
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
test eax, eax
je case.0x59499c.89
mov ecx, dword [ecx + 8]
inc ecx
and ecx, 3
mov edx, dword [eax + 8]
mov esi, dword [eax + 0x8c]
and esi, 0xfffffffc
or esi, ecx
mov dword [eax + 0x8c], esi
mov eax, edx
test edx, edx
jne 0x59acf1
jmp 0x59f90f
lea eax, [eax + edx*8]
add eax, 0x10
mov word [eax], 4
lea eax, [ebx + ebx*4]
mov ebx, dword [esp + 0x24]
lea eax, [ebx + eax*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp ecx, 1
mov edx, eax
sbb edx, 0
jl 0x59ad6c
lea edx, [edi + edi*4]
mov edi, dword [ebx + edx*8 + 4]
mov esi, ebx
xor ebx, ebx
test edi, edi
cmovle edi, ebx
cmovns ebx, dword [esi + edx*8]
mov esi, 0x7fffffff
sub esi, eax
mov edx, ebx
add edx, ecx
not ecx
adc eax, edi
cmp ecx, ebx
sbb esi, edi
mov esi, dword [esp + 8]
mov ecx, 0xffffffff
cmovb eax, ecx
cmovb edx, ecx
jmp 0x59ad71
xor edx, edx
dec edx
mov eax, edx
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x18]
mov dword [edi], edx
mov dword [edi + 4], eax
jmp case.0x59499c.89
mov ecx, edi
call fcn.005a7d30
cmp eax, 0x10
je 0x59c707
test eax, eax
mov edx, dword [esp + 0xc]
jne 0x5a1afd
mov dword [esp + 0x18], edi
add edi, 0x74
mov dword [esp + 0x10], 0
xor ebx, ebx
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 4]
mov dword [esp + 0x38], edi
mov eax, dword [edx + 0x120]
test eax, eax
jne 0x5a0107
mov eax, dword [edi]
cmp byte [eax + 8], 0
je 0x59aea7
movzx ecx, word [eax + 0x18]
add ebx, ecx
mov esi, dword [esp + 0x14]
adc esi, 0
mov dword [esp + 0x34], ebx
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], esi
movsx ecx, byte [edi + 0x44]
test ecx, ecx
je 0x59cd27
mov word [edi + 0x32], 0
and byte [edi + 1], 0xf9
movzx edx, word [edi + ecx*2 + 0x46]
mov word [edi + 0x46], dx
dec cl
mov byte [edi + 0x44], cl
movsx ecx, cl
mov ecx, dword [edi + ecx*4 + 0x78]
mov dword [edi + 0x74], ecx
mov ecx, dword [eax + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x59ae31
call fcn.00580a10
jmp 0x59ae8f
mov esi, dword [ecx + 0x14]
dec dword [esi + 0x80]
mov eax, dword [esi + 0x90]
mov dword [ecx + 0x10], eax
mov dword [esi + 0x90], ecx
mov ebx, dword [ecx + 0x18]
dec ebx
mov eax, ebx
mul dword [esi + 0xa8]
mov dword [esp + 0x28], eax
mov edi, edx
mov eax, dword [esi + 0xac]
imul eax, ebx
mov ebx, dword [ecx + 4]
add edi, eax
mov esi, dword [esi + 0x40]
mov eax, dword [esi]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push ebx
mov ebx, dword [esp + 0x38]
push edi
mov edi, dword [esp + 0x20]
push dword [esp + 0x30]
push esi
mov esi, dword [esp + 0x24]
call ecx
add esp, 0x10
movzx ecx, word [edi + 0x46]
mov eax, dword [edi + 0x74]
cmp cx, word [eax + 0x18]
jae 0x59adf3
inc ecx
mov word [edi + 0x46], cx
jmp 0x59aec8
cmp byte [eax + 1], 0
mov esi, dword [esp + 0x14]
je 0x59aeb7
mov dword [esp + 0x34], ebx
jmp 0x59aec4
movzx ecx, word [eax + 0x18]
add ebx, ecx
mov dword [esp + 0x34], ebx
adc esi, 0
mov edi, dword [esp + 0x18]
movzx ecx, word [edi + 0x46]
movsx ebx, byte [edi + 0x44]
cmp cx, word [eax + 0x18]
mov dword [esp + 0x14], esi
jne 0x59aef1
cmp bl, 0x12
jg 0x5a114d
mov edx, dword [eax + 0x38]
movzx eax, byte [eax + 9]
add edx, eax
add edx, 8
jmp 0x59af11
cmp bl, 0x12
jg 0x5a114d
movzx edx, cx
mov esi, dword [eax + 0x40]
movzx edx, word [esi + edx*2]
rol dx, 8
movzx esi, word [eax + 0x1a]
and edx, esi
add edx, dword [eax + 0x38]
mov edx, dword [edx]
xor eax, eax
mov edi, dword [esp + 0x18]
mov word [edi + 0x32], ax
and byte [edi + 1], 0xf9
mov word [edi + ebx*2 + 0x48], cx
mov ecx, dword [edi + 0x74]
movsx esi, byte [edi + 0x44]
mov dword [edi + esi*4 + 0x78], ecx
mov word [edi + 0x46], ax
inc byte [edi + 0x44]
bswap edx
movzx eax, byte [edi + 2]
mov ecx, dword [edi + 0x14]
push eax
push edi
mov edi, dword [esp + 0x40]
push edi
call fcn.005a7ff0
add esp, 0xc
test eax, eax
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x34]
je 0x59adc0
jmp 0x59487d
test cl, 8
jne 0x59c657
test cl, 0x12
je 0x59d76f
mov ecx, dword [esp + 0x24]
cmp dword [ecx + eax*8 + 8], 0
je 0x59d76f
mov ecx, esi
call fcn.00593ef0
movzx edi, word [esi + 0x10]
jmp 0x59d773
mov word [esi + 0x10], 4
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x59afbb
push edi
call fcn.00687040
add esp, 4
and eax, 0x3fffffff
jmp 0x59afbd
xor eax, eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov dword [edx + 4], eax
cmp byte [esp + 0x33], 1
je 0x59bb5f
sub esp, 0x10
movdqa xmm0, xmmword [0x70e180]
movdqu xmmword [esp], xmm0
mov ecx, esi
mov edx, edi
call fcn.0057ab10
add esp, 0x10
test eax, eax
jne 0x5a1054
movzx eax, word [esi + 0x10]
mov edi, dword [esp + 0x18]
lea ecx, [edi + ebx*8]
add ecx, 0x12
test al, 2
jne 0x59baf4
mov dl, byte [esp + 0x33]
mov byte [ecx], dl
jmp 0x59bb12
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 4]
cmp eax, dword [ecx + 4]
je 0x59e7ec
mov dword [ecx + 4], eax
jmp case.0x59499c.89
mov eax, dword [eax + 0x24]
lea edx, [eax + 8]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ebx, [ecx + ecx*4]
mov esi, dword [eax]
mov edi, dword [esp + 0x24]
cmp dword [edi + ebx*8 + 0x18], esi
jge 0x59b076
mov dword [esp + 0x18], edx
lea ecx, [edi + ebx*8]
mov edx, esi
push 0
call fcn.00593170
add esp, 4
test eax, eax
jne 0x5a16dd
movzx ecx, word [edi + ebx*8 + 0x10]
mov eax, dword [edi + ebx*8 + 8]
mov edx, dword [esp + 0x18]
jmp 0x59b080
mov eax, dword [edi + ebx*8 + 0x20]
mov dword [edi + ebx*8 + 8], eax
xor ecx, ecx
mov dword [edi + ebx*8 + 0xc], esi
and ecx, 0xfffff240
or ecx, 0x10
mov word [edi + ebx*8 + 0x10], cx
push esi
push edx
push eax
call fcn.00670ee0
add esp, 0xc
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0xc]
mov eax, dword [eax + ecx*4]
mov ecx, edx
mov dword [eax + 0x20], 0
jmp 0x59df8f
xor esi, esi
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov edx, ecx
mov ecx, dword [ecx + 4]
mov edx, dword [edx + 8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [eax + edx*4]
mov ebx, dword [eax + 0x2c]
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0x14]
mov dword [esp + 0x40], eax
mov edi, dword [eax + 0x44]
mov ecx, ebx
call fcn.0058dbc0
mov dword [esp + 0x34], ebx
mov edx, dword [ebx + 0x2c]
cmp edx, 0x7f
ja 0x59b10e
mov byte [edi], dl
inc edi
mov ebx, dword [esp + 0x34]
mov edx, esi
jmp 0x59ba68
cmp edx, 0x3fff
ja 0x59ba54
mov eax, edx
shr eax, 7
or al, 0x80
mov byte [edi], al
and dl, 0x7f
mov byte [edi + 1], dl
mov eax, 2
jmp 0x59ba60
test al, 1
jne 0x59c68f
test al, 8
jne 0x59e6dc
test al, 0x12
je 0x59cacc
call fcn.005937a0
jmp 0x59e6e0
test al, 1
jne 0x59c6a2
test al, 8
jne 0x59e6fd
test al, 0x12
je 0x59fcb2
call fcn.005937a0
jmp 0x59fcb6
movzx eax, word [ecx + 0x46]
test ax, ax
je 0x599238
mov edx, dword [ecx + 0x74]
cmp byte [edx + 8], 0
je 0x599238
dec eax
mov word [ecx + 0x46], ax
mov ecx, dword [esp + 4]
mov dword [edi + 0x20], 0
jmp 0x59c545
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov dword [esi], edi
sar edi, 0x1f
mov dword [esi + 4], edi
jmp 0x59f90f
lea esi, [edi + esi*8]
add esi, 0x10
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov word [esi], 4
jmp 0x59f90f
mov eax, dword [ecx + 4]
jmp 0x59e7ef
mov word [ecx + 0x10], 4
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x60]
mov edx, dword [edx]
shl ecx, 4
mov edx, dword [edx + ecx + 4]
mov ecx, dword [edx + 4]
mov esi, dword [ecx]
movzx ebx, byte [esi + 5]
cmp eax, 0xffffffff
cmove eax, ebx
cmp byte [esi + 0x11], 2
mov edi, ebx
ja 0x59b221
mov ecx, dword [esi + 0x44]
cmp dword [ecx], 0
je 0x59b21f
xor ecx, ecx
cmp ecx, dword [esi + 0x50]
sbb ecx, dword [esi + 0x54]
mov edi, ebx
jl 0x59b221
mov edi, eax
mov ecx, 0x718ed1
cmp byte [esi + 0xf], 0
je 0x59b232
mov eax, dword [esp + 0x10]
jmp 0x59b244
cmp dword [esi], 0x72de14
mov eax, dword [esp + 0x10]
je 0x59b244
mov ecx, dword [esi + 0xb8]
cmp edi, 5
jne 0x59b27d
test ecx, ecx
je 0x59b285
mov dword [esp + 0x34], edx
push ecx
call fcn.00687040
add esp, 4
test eax, 0x3fffffff
je 0x59d6d5
cmp byte [esi + 0xd], 0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
jne 0x59b285
cmp byte [esi + 4], 0
je 0x59fd0a
cmp edi, ebx
jne 0x59b8b3
mov edi, ebx
mov dword [esp + 0x10], eax
test eax, eax
cmove ebx, edi
mov ecx, esi
mov edx, ebx
call fcn.005a6760
mov ecx, dword [esp + 0x18]
mov word [ecx + 0x10], 0x2202
cmp eax, 6
jne 0x59b2bc
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
mov dword [edx + edi*8 + 8], 0
xor eax, eax
jmp 0x59b2df
mov eax, dword [eax*4 + 0x718edc]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
mov dword [esi + edi*8 + 8], eax
push eax
call fcn.00687040
mov edx, esi
add esp, 4
and eax, 0x3fffffff
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 4]
mov dword [edx + edi*8 + 0xc], eax
mov byte [edx + edi*8 + 0x12], 1
cmp byte [esp + 0x33], 1
je 0x59b30d
movzx edx, byte [esp + 0x33]
mov ecx, dword [esp + 0x18]
call fcn.005941f0
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x10]
test edi, edi
mov edx, dword [esp + 0xc]
jne 0x5a18a1
mov dword [esp + 0x10], 0
mov dword [esp + 0x5c], esi
mov esi, ebx
jmp case.0x59499c.89
test cl, 1
mov edi, dword [esp + 0x3c]
jne 0x59c6db
xor eax, eax
inc eax
jmp 0x59e7a0
movq xmm0, qword [ecx]
call fcn.00593ea0
mov edi, eax
jmp 0x59c0f5
mov dword [esp + 0x44], ebx
mov ebx, eax
neg ebx
sbb edx, esi
jge 0x59d248
test edi, edi
mov edx, dword [esp + 0x38]
jns 0x59d282
xor eax, eax
dec eax
sub eax, edx
sbb ecx, edi
add eax, 2
adc ecx, 0
mov dword [esp + 0x3c], 0
xor ebx, ebx
inc ebx
sub ebx, dword [esp + 0x28]
sbb dword [esp + 0x3c], esi
cmp ebx, eax
mov ebx, dword [esp + 0x44]
sbb dword [esp + 0x3c], ecx
jge 0x59d282
jmp 0x59db5b
mov ecx, dword [esi + 4]
cmp byte [ecx + 0x57], 0
jne 0x59f90f
mov ebx, edx
mov edx, 0x3f8
push 0
call fcn.00580000
add esp, 4
test eax, eax
je 0x59f90f
mov ecx, dword [esi]
mov dword [eax], ecx
mov dword [esi], eax
add eax, 8
mov cx, 0x3e
mov edx, ebx
jmp 0x596cf1
lea eax, [ecx + eax*8]
add eax, 0x10
mov dword [esi], edx
sar edx, 0x1f
mov dword [esi + 4], edx
mov word [eax], 4
lea edi, [esi + 0x28]
mov edx, dword [esp + 0x184]
test byte [esi + 0x39], 0x90
je 0x59b415
mov eax, edx
sar eax, 0x1f
mov ecx, edi
push eax
call fcn.005941c0
add esp, 4
jmp 0x59b423
mov dword [edi], edx
sar edx, 0x1f
mov dword [edi + 4], edx
mov word [edi + 0x10], 4
mov esi, dword [esp + 8]
lea ecx, [edi + 0x28]
mov edx, dword [esp + 0x188]
test byte [edi + 0x39], 0x90
je 0x59b44a
mov eax, edx
sar eax, 0x1f
push eax
call fcn.005941c0
add esp, 4
jmp 0x59e6cf
mov dword [ecx], edx
sar edx, 0x1f
mov dword [ecx + 4], edx
mov word [ecx + 0x10], 4
jmp 0x59e6cf
mov word [esp + 0x190], 0x4010
mov dword [esp + 0x18c], eax
movzx ebx, byte [edi]
test bl, bl
jns 0x59de9f
movzx eax, byte [edi + 1]
test al, al
js 0x59de80
and ebx, 0x7f
shl ebx, 7
jmp 0x59de9d
mov ecx, esi
mov edx, 4
call fcn.005a4400
test eax, eax
mov edx, dword [esp + 0xc]
jne 0x5a1af9
xor eax, eax
mov dword [edi + 0x20], eax
mov dword [esp + 0x10], 0
mov dword [edi + 0x24], eax
jmp 0x59f90f
mov ecx, edi
xor edx, edx
call fcn.00576290
mov esi, eax
test eax, eax
mov edx, dword [esp + 0xc]
je 0x5a11e5
shl ebx, 2
mov eax, edi
xor edi, edi
push eax
push edi
push esi
call fcn.006719e0
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x2c], esi
add ebx, 0x14
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
lea eax, [esi + 0x88]
mov dword [esi + 0x1c], eax
push ebx
push dword [ecx + 0x30]
push eax
call fcn.00670ee0
add esp, 0xc
mov dword [esp + 0x10], 0
mov dword [esi + 0x94], edi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x59b530
mov word [esi + 0x8e], ax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x24]
mov dword [esi + 0xc], eax
mov byte [esi + 0x3b], 1
mov word [esi + 0x39], 0xff00
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x48], esi
cmp word [esi + 0x90], 0xc
ja 0x59f90f
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x59b572
cmp eax, dword [ecx + 8]
jne 0x59f90f
mov eax, dword [esi + 0x98]
test byte [eax], 2
jne 0x59f90f
mov byte [esi + 0x3c], 3
jmp 0x59f90f
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x28]
jmp 0x59bec8
xor ebx, ebx
lea ecx, [eax + 0x40]
mov edx, ebx
mov esi, eax
call fcn.005aec60
mov dword [esi + 0x14], ebx
test eax, eax
jne 0x5a16e2
mov eax, dword [esp + 0x78]
mov byte [eax + 2], 0
jmp 0x59f907
lea eax, [edx + eax*8]
add eax, 0x10
mov word [eax], 1
jmp case.0x59499c.89
lea eax, [edx + eax*8]
add eax, 0x10
xor edx, edx
mov dword [ecx + 4], edx
mov dword [ecx], edx
mov word [eax], 4
jmp 0x59f913
mov ecx, dword [esi + 0x34]
mov edx, esi
push ebx
call fcn.005a9180
add esp, 4
mov edi, eax
test esi, esi
mov ebx, dword [esp + 0x18]
je 0x59de63
mov ecx, dword [esi + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x59de05
call fcn.00580a10
jmp 0x59de63
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x10]
test byte [ecx + esi], 2
jne 0x59cce6
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jmp 0x59cd06
mov cl, byte [edi + 0x10]
dec cl
xor eax, eax
inc eax
shl eax, cl
mov ecx, dword [esp + 4]
movzx ecx, word [ecx + 2]
test eax, ecx
jmp 0x59e7e2
lea eax, [edi + 1]
mov dword [esp + 0x18], eax
lea ecx, [edx - 2]
mov eax, ecx
xor edx, edx
div dword [esp + 0x18]
sub ecx, edx
mov dword [esp + 0x38], ecx
mov eax, dword [0x72ddf8]
xor edx, edx
div dword [ebx + 0x24]
mov ecx, eax
mov ebx, dword [esp + 0x38]
lea eax, [ebx + 1]
xor edx, edx
cmp eax, ecx
sete dl
add ebx, edx
add ebx, 2
add esi, edi
add esi, ebx
mov eax, esi
xor edx, edx
div edi
add eax, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
mov edx, esi
sub edx, eax
lea ebx, [ecx + 1]
cmp ebx, esi
setb al
cmp edx, ebx
setb ah
and ah, al
movzx eax, ah
sub edx, eax
mov esi, dword [esp + 8]
mov edi, edx
mov eax, 0
cmp edx, 2
jb 0x59b6e0
lea esi, [edi - 2]
mov eax, esi
xor edx, edx
div dword [esp + 0x18]
sub esi, edx
lea eax, [esi + 1]
xor edx, edx
cmp eax, ecx
sete dl
lea eax, [edx + esi]
add eax, 2
mov esi, dword [esp + 8]
lea edx, [edi - 1]
cmp edi, eax
je 0x59b6b3
cmp edi, ebx
je 0x59b6b3
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x10], eax
jae 0x5a168a
cmp eax, edi
jb 0x5a168a
mov dword [esp + 0x10], 0
cmp dword [esp + 0x14], 0
je 0x59cacc
mov ebx, dword [esp + 0x34]
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x59c085
xor edx, edx
push 0
call fcn.0058d970
add esp, 4
test eax, eax
mov edx, dword [esp + 0xc]
jne 0x5a0a82
mov eax, dword [ebx + 8]
test eax, eax
je 0x59c085
and byte [eax + 1], 0xfb
mov eax, dword [eax + 0x18]
jmp 0x59b73e
movq xmm0, qword [esi]
movq qword [esi], xmm0
and eax, 0xfffff240
or eax, 8
mov word [edi], ax
jmp 0x59f90f
xor eax, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x20], eax
mov ebx, dword [esi + 0x10]
mov edi, dword [esi + 0x38]
mov edx, dword [ebx + 4]
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x59d560
test edi, edi
je 0x59d544
cmp dword [ecx + 0x40], edi
je 0x59d544
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x59b78e
jmp 0x59d560
mov dword [esp + 0x14], 0
xor edx, edx
mov word [ebx + 0x10], di
test cl, 0x24
je 0x59b7c3
mov dword [esp + 0x34], edx
mov edi, dword [esp + 0x28]
jmp 0x59be90
test cl, 8
mov edi, dword [esp + 0x28]
jne 0x59b817
test cl, 1
mov esi, dword [esp + 8]
jne 0x59cacc
cmp byte [esp + 0x18], 0x17
jae 0x59cacc
mov ecx, dword [edi + 0x2c]
cmp byte [ecx], 0
jne 0x59b7f8
xor ebx, ebx
test byte [ecx + 1], 8
jne 0x59cad5
lea edx, [esp + 0x130]
call fcn.005a9860
mov edx, dword [esp + 0xc]
xor ebx, ebx
test eax, eax
je 0x59cab9
jmp 0x5a1afd
movsd xmm0, qword [ebx]
movsd xmm1, qword [0x6f3f30]
ucomisd xmm1, xmm0
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x34], edx
jbe 0x59be38
mov eax, ebx
and eax, 1
add ebx, eax
dec ebx
jmp 0x59be8c
test esi, esi
mov edx, dword [esp + 0x38]
js 0x59db23
imul esi, edx
mov eax, edx
mov ecx, dword [esp + 0x28]
mul ecx
add esi, edx
imul edi, ecx
add edi, esi
jmp 0x59d28a
test edi, edi
mov edx, ecx
jns 0x59b8a8
mov eax, 0x7fffffff
sub eax, edi
mov ecx, edx
not ecx
add ecx, 2
adc eax, 0
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
add dword [esp + 0x3c], 1
mov dword [esp + 0x44], ebx
mov ebx, esi
adc ebx, 0
cmp dword [esp + 0x3c], ecx
sbb ebx, dword [esp + 0x68]
mov ebx, dword [esp + 0x44]
jl 0x59db5b
add edx, dword [esp + 0x28]
adc edi, esi
jmp 0x59d288
mov dword [esp + 0x34], edx
cmp bl, 5
sete cl
mov edx, dword [esp + 0xc]
je 0x59b8cc
cmp edi, 5
jne 0x59b287
cmp byte [edx + 0x55], 0
je 0x5a186d
cmp dword [edx + 0xc0], 2
jge 0x5a186d
test cl, cl
je 0x59f07e
mov ecx, dword [esi + 0xe8]
test ecx, ecx
je 0x59fd36
movzx eax, byte [esi + 0x12]
cmp eax, 4
jb 0x59b907
cmp eax, 5
jne 0x59b915
cmp byte [esi + 0xd], 0
je 0x5a0618
mov byte [esi + 0x12], 4
movzx eax, byte [esi + 0xb]
push dword [esi + 0xe0]
push dword [esi + 0xa8]
push eax
call fcn.0058a510
add esp, 0xc
mov dword [esi + 0xe8], 0
mov edx, dword [esi + 0x40]
mov ecx, dword [edx]
test ecx, ecx
je 0x59b9ba
cmp dword [ecx], 3
jl 0x59b9ba
mov dword [esp + 0x38], edi
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x8c]
mov dword [esp + 0x180], eax
mov edi, edx
xor edx, edx
neg eax
sbb edx, ecx
mov dword [esp + 0x184], ecx
setl byte [esi + 0x17]
mov eax, 0x586650
mov ecx, fcn.00586900
cmovl ecx, eax
cmp dword [esi + 0x2c], 0
mov eax, 0x586630
cmove eax, ecx
mov dword [esi + 0xdc], eax
mov eax, dword [edi]
test eax, eax
je 0x59b9b2
mov ecx, dword [eax + 0x28]
call dword [section..00cfg]
lea eax, [esp + 0x180]
push eax
push 0x12
push edi
call ecx
add esp, 0xc
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
test eax, eax
je 0x59fdbf
cmp byte [esi + 4], 0
jne 0x59b287
jmp 0x5a063d
mov dword [esp + 0x28], eax
test esi, esi
je 0x59e928
mov ecx, dword [esi + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x59e8c6
call fcn.00580a10
jmp 0x59e928
lea eax, [edx + eax*8]
add eax, 0x10
mov dword [ecx + 4], 0
mov dword [ecx], 1
mov word [eax], 4
mov byte [esi + 0x19], 0
mov ecx, dword [esi]
test byte [ecx + 0x11], 0x90
jne 0x59ba1e
cmp dword [ecx + 0x18], 0
je 0x59ba25
call fcn.00593060
mov ecx, dword [esi]
mov edx, dword [esp + 0xc]
mov word [ecx + 0x10], 1
mov dword [esi + 0x14], 0
test edi, edi
mov dword [esp + 0x5c], ebx
je 0x59f907
jmp 0x5a11b4
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x28]
jmp 0x59dabf
mov ecx, edi
push 0
call fcn.005a7c40
add esp, 4
mov edx, esi
add edi, eax
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x70], 0
je 0x59ba81
mov dword [esp + 0x14], edi
mov esi, ebx
jmp 0x59e1f9
xor eax, eax
mov ecx, 0x7f
cmp ecx, edx
mov ecx, 0
sbb ecx, esi
jb 0x59c665
mov byte [edi], dl
xor eax, eax
inc eax
jmp 0x59c688
cmp dword [eax + 0x68], 0
je 0x59d213
call fcn.00582500
jmp 0x59d121
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x18]
test bl, 4
mov ecx, dword [esp + 4]
jne 0x59bad5
cmp dword [ecx + 8], 0
jne 0x59e7ec
jmp 0x5a194d
and ebx, 0xfffff240
or ebx, 4
mov word [edi], bx
jmp case.0x59499c.89
movq xmm0, qword [ebx]
call fcn.00593ea0
jmp 0x59cd47
mov dl, byte [esp + 0x33]
cmp byte [ecx], dl
je 0x59bb12
movzx edx, dl
mov ecx, esi
call fcn.005941f0
test eax, eax
jne 0x5a15da
movzx eax, word [esi + 0x10]
mov dword [edi + ebx*8 + 0x18], 0
or eax, 0x2000
mov word [esi + 0x10], ax
mov ecx, dword [esp + 4]
cmp byte [ecx + 1], 0xfa
jne 0x59bb41
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x59bb41
mov ecx, dword [esp + 0xc]
call fcn.0057fe10
mov ecx, dword [esp + 4]
mov byte [ecx + 1], 0xfa
mov eax, dword [edi + ebx*8 + 8]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + ebx*8 + 0xc]
mov dword [ecx + 4], eax
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x78]
jg 0x5a1054
mov ecx, dword [esp + 4]
mov byte [ecx], 0x49
mov eax, dword [esp + 0x64]
mov esi, dword [eax]
mov eax, dword [ecx + 8]
lea edi, [eax + eax*4]
test byte [esi + edi*8 + 0x11], 0x90
je 0x59bb8a
lea ecx, [esi + edi*8]
call fcn.005a7630
lea eax, [esi + edi*8]
add eax, 0x10
mov word [eax], 0x2202
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x10]
mov dword [eax - 8], ecx
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov dword [eax - 4], ecx
mov ecx, dword [esp + 4]
mov dl, byte [esp + 0x33]
mov byte [eax + 2], dl
jmp 0x59fca6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x70]
mov eax, dword [ecx + edx*8 + 0x20]
mov dword [ecx + edx*8 + 8], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x14]
mov dword [ecx + edx*8 + 0xc], eax
mov word [ecx + edx*8 + 0x10], 0x10
mov eax, dword [esp + 0x44]
or dword [esp + 0x68], eax
je 0x59bbfd
mov ebx, eax
lea eax, [ecx + edx*8]
add eax, 0x10
mov esi, dword [esp + 0x74]
mov dword [esi], ebx
mov word [eax], 0x410
mov esi, dword [ecx + edx*8 + 8]
mov edx, dword [esp + 0x3c]
cmp edx, 0x7f
jg 0x59bc15
lea ebx, [esi + 1]
mov byte [esi], dl
mov ecx, dword [esp + 4]
jmp 0x59bc4e
cmp edx, 0x3fff
ja 0x59bc34
mov eax, edx
shr eax, 7
or al, 0x80
mov byte [esi], al
mov eax, edx
and al, 0x7f
mov byte [esi + 1], al
mov ebx, 2
jmp 0x59bc44
mov ecx, esi
push dword [esp + 0x28]
call fcn.005a7c40
add esp, 4
mov ebx, eax
mov ecx, dword [esp + 4]
add ebx, esi
mov edx, dword [esp + 0x3c]
add esi, edx
mov edx, dword [edi + 0x1c]
cmp edx, 7
ja 0x59bc9b
mov byte [ebx], dl
inc ebx
test edx, edx
je 0x59bd0c
mov dword [esp + 0x18], ebx
mov eax, dword [edi]
mov dword [esp + 0x28], edi
mov ecx, dword [edi + 4]
movzx edi, byte [edx + 0x718777]
mov edx, edi
mov ebx, eax
shrd ebx, ecx, 8
shr ecx, 8
mov byte [esi + edx - 1], al
mov eax, ebx
dec edx
jne 0x59bc7b
add esi, edi
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x18]
jmp 0x59bd0c
cmp edx, 0x7f
ja 0x59bcc5
mov byte [ebx], dl
inc ebx
cmp edx, 0xe
jb 0x59bd0c
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x59bd0c
push eax
push dword [edi + 8]
push esi
call fcn.00670ee0
mov ecx, dword [esp + 0x10]
add esp, 0xc
add esi, dword [edi + 0xc]
jmp 0x59bd0c
cmp edx, 0x3fff
ja 0x59bce3
mov eax, edx
shr eax, 7
or al, 0x80
mov byte [ebx], al
and dl, 0x7f
mov byte [ebx + 1], dl
mov eax, 2
jmp 0x59bcef
mov ecx, ebx
push 0
call fcn.005a7c40
add esp, 4
add ebx, eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x59bd08
push eax
push dword [edi + 8]
push esi
call fcn.00670ee0
add esp, 0xc
add esi, dword [edi + 0xc]
mov ecx, dword [esp + 4]
lea eax, [edi + 0x28]
cmp edi, dword [esp + 0x34]
mov edi, eax
jne 0x59bc50
jmp 0x59fca6
mov edi, dword [esi + 4]
mov edx, dword [eax + 0x14]
test edx, edx
je 0x59e801
mov dword [esp + 0x18], edx
mov ecx, eax
mov bl, byte [edi]
test bl, bl
je 0x59f5f9
lea edx, [edi + 1]
xor eax, eax
movzx ebx, bl
movzx ebx, byte [ebx + 0x717d00]
add ebx, eax
imul eax, ebx, 0x9e3779b1
mov bl, byte [edx]
inc edx
test bl, bl
jne 0x59bd43
jmp 0x59f5fb
xor eax, eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x148], 7
mov dword [esp + 0x140], eax
cmp dword [esp + 0x144], eax
jne 0x59f417
jmp 0x59ce43
mov edx, eax
mov eax, 6
jmp 0x5a08ea
add ecx, 8
mov edx, dword [eax + 0x14]
mov dword [ecx], edx
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.005b0d70
mov eax, dword [esp + 0xc]
or byte [eax + 0x18], 1
jmp 0x59f913
mov eax, dword [edi + 0x74]
cmp byte [eax + 8], 0
mov edx, dword [esp + 0xc]
je 0x59e80c
movzx ebx, word [eax + 0x18]
movsx ecx, byte [edi + 0x44]
test ecx, ecx
jle 0x59f6a2
movzx ebx, bx
mov dword [esp + 0x18], edi
xor edi, edi
xor esi, esi
mov eax, dword [esp + 0x18]
mov eax, dword [eax + edi*4 + 0x78]
movzx edx, word [eax + 0x18]
imul esi, edx
mov eax, ebx
mul edx
add edx, esi
mov esi, edx
inc edi
mov ebx, eax
cmp ecx, edi
jne 0x59bde6
jmp 0x59c713
dec dword [eax + 0x18]
je 0x5989ef
or byte [ecx + 0x18], 1
jmp 0x59f913
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
add ecx, 0xffffffec
mov dword [esp + 0x58], 0
jmp case.0x59499c.89
mov al, 1
ucomisd xmm0, qword [0x6f3f28]
jae 0x59be83
movsd qword [esp + 0x80], xmm0
fld qword [esp + 0x80]
fisttp qword [esp + 0x80]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
cmp ecx, eax
mov edx, dword [esp + 0x34]
mov edi, edx
sbb edi, esi
jge 0x59f1a0
mov edi, dword [esp + 0x28]
mov al, 1
mov ecx, ebx
and cl, al
movzx eax, cl
add ebx, eax
mov dword [esp + 0x18], ebx
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x130]
mov ebx, dword [esp + 0x14]
mov edx, ebx
push eax
push 0
mov esi, edi
mov edi, dword [esp + 0x3c]
push edi
call fcn.005a2bf0
add esp, 0xc
mov dword [esi + 0x44], edi
mov ecx, esi
mov dword [esi + 0x40], ebx
xor ebx, ebx
test eax, eax
mov esi, dword [esp + 8]
jne 0x5a16e6
mov eax, dword [esp + 0x130]
cmp dword [esp + 0x18], 0x17
jl 0x59bf37
test eax, eax
js 0x59beeb
jne 0x59cad5
cmp dword [esp + 0x18], 0x18
jne 0x59cad5
mov dword [esp + 0x130], 0
mov esi, dword [ecx + 0x2c]
mov word [esi + 0x32], 0
and byte [esi + 1], 0xf9
cmp byte [esi], 0
jne 0x59ca9c
mov eax, dword [esi + 0x74]
movzx ecx, word [esi + 0x46]
lea edx, [ecx + 1]
mov word [esi + 0x46], dx
cmp dx, word [eax + 0x18]
jae 0x59ca98
cmp byte [eax + 8], 0
je 0x59f0a0
mov esi, dword [esp + 8]
jmp 0x59cab9
test eax, eax
jg 0x59bf44
jne 0x59bf93
cmp dword [esp + 0x18], 0x15
jne 0x59bf93
mov dword [esp + 0x130], 0
mov ecx, dword [ecx + 0x2c]
and byte [ecx + 1], 0xf1
mov word [ecx + 0x32], 0
cmp byte [ecx], 0
je 0x59bf77
call fcn.005aa0a0
test eax, eax
mov edx, dword [esp + 0xc]
jne 0x59caaf
jmp 0x59cab9
movzx eax, word [ecx + 0x46]
test ax, ax
je 0x59bf61
mov edx, dword [ecx + 0x74]
cmp byte [edx + 8], 0
je 0x59bf61
dec eax
mov word [ecx + 0x46], ax
jmp 0x59cab9
mov ecx, dword [ecx + 0x2c]
xor eax, eax
cmp byte [ecx], 0
setne al
jmp 0x59cac0
mov eax, dword [edx + 0x14]
xor esi, esi
test eax, eax
jle 0x59d7a1
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], edi
xor esi, esi
mov edi, 4
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx]
mov ecx, dword [ecx + edi]
test ecx, ecx
je 0x59c064
cmp byte [ecx + 8], 2
jne 0x59c064
mov ebx, dword [ecx + 4]
mov edx, dword [esp + 0x14]
cmp edx, 2
jne 0x59c005
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x59c005
xor edx, edx
push 0
call fcn.0058d970
mov edx, dword [esp + 0x18]
add esp, 4
test eax, eax
jne 0x5a0eb9
mov dword [esp + 0x18], ebx
mov ecx, dword [ebx]
mov ebx, dword [esp + 0x28]
push ebx
call fcn.00587930
add esp, 4
test eax, eax
jne 0x5a0eb9
test ebx, ebx
mov ebx, dword [esp + 0x18]
jns 0x59c035
test byte [ebx + 0x18], 0x10
je 0x59c035
mov dword [ebx + 0x30], 0
mov ecx, ebx
call fcn.0058ba50
mov ecx, dword [ebx + 0xc]
mov ecx, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
je 0x59c04d
bswap ecx
jmp 0x59c052
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0xc]
mov dword [ebx + 0x30], ecx
test eax, eax
jne 0x5a0ebd
mov eax, dword [edx + 0x14]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x59bfbf
mov dword [esp + 0x10], 0
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
jmp 0x59d7a5
mov ecx, ebx
mov edx, edi
push 0
push dword [esp + 0x2c]
call fcn.0058d480
add esp, 8
test eax, eax
mov edx, dword [esp + 0xc]
jne 0x5a0a82
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + 0x48]
mov edi, dword [ecx + 0x14]
test byte [ecx + 0x1c], 4
je 0x59c0c2
mov edx, dword [edi + 0x1c]
cmp edx, dword [ecx + 0x18]
mov edx, dword [esp + 0xc]
jae 0x59ffd2
mov eax, ebx
mov ebx, dword [edi + 0x2c]
mov dword [esp + 0x28], ebx
test ebx, ebx
mov ebx, eax
jne 0x5a0a70
mov edx, dword [edi + 0x9c]
cmp edx, dword [edi + 0xa8]
jbe 0x5a07fa
call fcn.0058cb60
jmp 0x5a07ff
xor edi, edi
xor edx, edx
mov eax, dword [esp + 0x24]
lea ecx, [eax + ebx*8]
movzx eax, word [esp + 0x28]
test al, 0x24
mov dword [esp + 0x14], edx
je 0x59c110
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
jmp 0x59c139
test al, 8
jne 0x59c12a
test al, 0x12
je 0x59c135
mov eax, dword [esp + 0x24]
cmp dword [eax + ebx*8 + 8], 0
je 0x59c135
call fcn.00593ef0
jmp 0x59c139
movq xmm0, qword [ecx]
call fcn.00593ea0
jmp 0x59c139
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 4]
movzx ebx, byte [ecx]
cmp ebx, 0x5d
je 0x59c154
cmp ebx, 0x5c
jne 0x59c185
and edi, eax
mov eax, dword [esp + 0x14]
and eax, edx
jmp 0x59c15c
or edi, eax
mov eax, dword [esp + 0x14]
or eax, edx
mov edx, eax
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
mov dword [eax], edi
mov dword [eax + 4], edx
mov eax, 0xfffff240
mov edx, dword [esp + 0x24]
and eax, dword [edx + ebx*8 + 0x10]
or eax, 4
mov word [edx + ebx*8 + 0x10], ax
jmp case.0x59499c.89
mov ecx, eax
or ecx, edx
je 0x59c202
mov dword [esp + 0x38], edi
mov cl, 0xbd
sub cl, bl
mov byte [esp + 0x28], cl
mov esi, eax
neg esi
mov edi, 0
sbb edi, edx
mov ecx, 0xffffffc0
cmp ecx, eax
mov ecx, 0xffffffff
sbb ecx, edx
mov ecx, 0
cmovge edi, ecx
mov ecx, 0x40
cmovl ecx, esi
test edx, edx
cmovns edi, edx
cmovns ecx, eax
movzx edx, byte [esp + 0x28]
movzx eax, bl
cmovs eax, edx
cmp ecx, 0x40
sbb edi, 0
jl 0x59c390
cmp dword [esp + 0x14], 0
sets cl
cmp al, 0x5e
setne al
and al, cl
movzx edi, al
neg edi
mov edx, edi
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jmp 0x59c15e
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
jmp 0x59c166
mov dword [esi + 0x38], 1
mov ebx, dword [esi + 0x10]
mov ecx, dword [ebx + 4]
xor edx, edx
cmp dword [ecx + 0x30], 0
setne dl
cmp byte [ebx + 9], 0
mov eax, dword [esi + 0x2c]
mov dword [eax + 0x40], edx
mov byte [eax + 0x44], 0xff
mov dword [eax + 0x70], 0
mov dword [eax + 8], ebx
mov dword [eax + 0x14], ecx
mov byte [eax + 1], 0
mov ebx, dword [ecx + 8]
jne 0x59c277
test ebx, ebx
je 0x59c27b
cmp dword [ebx + 0x40], edx
jne 0x59c262
or byte [ebx + 1], 0x20
mov byte [eax + 1], 0x20
mov ebx, dword [ebx + 0x18]
jmp 0x59c251
cmp dword [ebx + 0x40], edx
jne 0x59c274
or byte [ebx + 1], 0x20
mov byte [eax + 1], 0x20
mov ebx, dword [ebx + 0x18]
test ebx, ebx
jne 0x59c267
mov byte [eax], 1
mov edx, dword [ecx + 8]
mov dword [eax + 0x18], edx
mov dword [ecx + 8], eax
or byte [eax + 1], 1
mov byte [eax + 2], 0
cmp dword [ecx + 0x44], 0
je 0x59e9cd
xor eax, eax
jmp 0x59e9d2
mov edx, esi
push 0
call fcn.0058d970
add esp, 4
test eax, eax
mov edx, dword [esp + 0xc]
jne 0x5a1af9
cmp byte [ebx + 0xb], 0
je 0x59c2e3
mov byte [ebx + 0xb], 0
mov eax, dword [ebx + 4]
mov eax, dword [eax + 8]
test eax, eax
je 0x59c2e3
test byte [eax + 1], 0x10
je 0x59c2de
mov byte [ebx + 0xb], 1
cmp dword [eax + 0x40], esi
jne 0x59c2de
mov byte [eax], 1
mov eax, dword [eax + 0x18]
jmp 0x59c2c8
xor eax, eax
mov ecx, edi
mov edx, esi
push eax
mov dword [esp + 0x14], 0
push eax
call fcn.005a8bb0
add esp, 8
test eax, eax
je 0x59f90f
jmp 0x5a16e2
cmp byte [edx + 0x5d], 0
setne al
mov ecx, dword [esp + 0x10]
je 0x599de3
cmp dword [esp + 0x14], 1
jne 0x599de3
mov eax, dword [esi]
mov ecx, dword [eax + 0x1f8]
add ecx, dword [eax + 0x1f0]
mov edx, dword [eax + 0x1fc]
adc edx, dword [eax + 0x1f4]
cmp ecx, 1
sbb edx, 0
jge 0x5a1a7f
mov eax, dword [esp + 0xc]
mov byte [eax + 0x55], 1
mov ecx, esi
call fcn.00590ad0
cmp eax, 5
je 0x5a1abd
mov eax, dword [esi + 0x24]
test eax, eax
mov ecx, dword [esp + 4]
jne 0x5a1aea
mov edx, dword [esp + 0xc]
mov byte [edx + 0x5d], 0
mov al, 1
mov dword [esp + 0x38], eax
jmp 0x59d7f0
xor ebx, ebx
inc ebx
mov ecx, dword [esp + 4]
jmp 0x59ccc0
cmp al, 0x5e
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x14]
jne 0x59dc99
mov edi, dword [esp + 0x38]
shld edx, edi, cl
shl edi, cl
xor eax, eax
test cl, 0x20
cmovne edx, edi
cmovne edi, eax
jmp 0x59dce1
mov eax, dword [esp + 4]
movzx eax, word [eax + 0x10]
mov word [edi + 0xc], ax
jmp 0x59e6cf
mov ecx, dword [esp + 4]
test bl, 4
je 0x59d035
mov esi, dword [esp + 0x180]
mov eax, dword [esp + 0x184]
mov dword [esp + 0x18], eax
jmp 0x596e4e
test dl, 8
jne 0x59dfe9
test dl, 0x12
je 0x59f5e7
mov edx, dword [esp + 0x24]
cmp dword [edx + eax*8 + 8], 0
je 0x59f5e7
call fcn.00593ef0
jmp 0x59f5eb
movzx edx, byte [esp + 0x33]
mov ecx, ebx
push 0
call fcn.00593580
add esp, 4
test eax, eax
jne 0x5a1336
mov eax, dword [esp + 0x3c]
movzx eax, word [eax + 0x10]
and eax, 0xfffffffd
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
lea ecx, [eax + edx*8]
movzx eax, word [ecx + 0x10]
mov dword [esp + 0x40], eax
movzx eax, ax
test al, 0x12
mov dword [esp + 0x68], ecx
je 0x59c720
bt eax, 0xa
jae 0x59c74e
mov edi, edx
mov edx, dword [ecx]
mov eax, dword [esp + 0x24]
add edx, dword [eax + edi*8 + 0xc]
jg 0x59c48e
mov eax, dword [esp + 0x40]
test al, 0x10
je 0x59c4d5
xor edx, edx
inc edx
mov ebx, ecx
push 1
call fcn.00593170
add esp, 4
test eax, eax
jne 0x5a1336
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
lea edi, [eax + ecx*8]
add edi, 0xc
mov eax, dword [edi - 4]
add eax, dword [edi]
push dword [ebx]
push 0
push eax
call fcn.006719e0
add esp, 0xc
mov eax, dword [ebx]
add dword [edi], eax
mov ecx, ebx
movzx eax, word [ebx + 0x10]
and eax, 0xf9ff
mov word [ebx + 0x10], ax
and eax, 0xfffd
jmp 0x59c742
lea eax, [edx + edi*8]
add eax, 0x10
mov word [eax], 1
jmp 0x59fca6
sar ecx, 0x1f
add dword [esi + 0x40], eax
adc dword [esi + 0x44], ecx
jmp 0x59f913
movq xmm0, qword [esi]
call fcn.00593ea0
jmp 0x59d6e4
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 4]
mov edx, dword [eax + 0xc]
mov ebx, dword [esp + 0x50]
jmp 0x59fc61
mov word [esi + 0x46], cx
mov ecx, esi
call fcn.005a9b90
mov edx, eax
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [edi + 0x20], 0
test edx, edx
mov eax, edx
jne 0x59d0f0
mov byte [edi + 2], 0
movzx eax, word [ecx + 2]
inc dword [esi + eax*4 + 0x98]
mov dword [esp + 0x10], 0
jmp case.0x59499c.9
test eax, 0x9000
mov edi, dword [esp + 0x14]
je 0x59c573
mov ecx, edi
call fcn.005930a0
mov eax, dword [esp + 0x10]
mov word [eax], 0x401
mov dword [edi], 0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x2c]
mov eax, dword [esp + 4]
mov edi, dword [eax + 8]
mov esi, dword [esi + 0x2c]
call dword [section..00cfg]
lea eax, [esp + 0x180]
push edi
push eax
push esi
call ecx
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx + 8]
test esi, esi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x28], eax
je 0x59efd2
mov eax, dword [esp + 8]
mov edi, dword [eax]
mov edx, dword [eax + 0x7c]
test edx, edx
je 0x59c5e2
mov ecx, edi
call fcn.0057fe10
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 8]
test esi, esi
je 0x59ef3b
push esi
call fcn.00687040
add esp, 4
inc eax
test edi, edi
je 0x59ef18
mov edx, edi
xor edi, edi
cmp byte [edx + 0x57], 0
jne 0x59ef3d
mov ecx, edx
mov dword [esp + 0x34], eax
mov edx, eax
push 0
call fcn.00580000
add esp, 4
jmp 0x59ef25
movzx eax, word [ebx]
mov ecx, dword [esp + 4]
test eax, 0x9000
je 0x59c639
mov eax, dword [esp + 0x24]
lea ecx, [eax + esi*8]
call fcn.005930a0
mov ecx, dword [esp + 4]
jmp 0x59c63e
mov word [ebx], 1
mov esi, dword [esp + 8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + eax*4]
add ecx, 0xffffffec
jmp 0x59d105
movq xmm0, qword [esi]
call fcn.00593ea0
jmp 0x59d773
mov ecx, 0x3fff
cmp ecx, edx
sbb eax, esi
jb 0x59e1e4
mov eax, edx
shr eax, 7
or al, 0x80
mov byte [edi], al
and dl, 0x7f
mov byte [edi + 1], dl
mov eax, 2
mov esi, ebx
jmp 0x59e1f3
mov ecx, dword [esp + 4]
cmp dword [ecx + 0xc], 0
jne 0x59e7ec
jmp case.0x59499c.89
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xc]
jmp 0x59fcca
test al, 1
jne 0x59e706
test al, 8
jne 0x59f934
test al, 0x12
je 0x5a0028
call fcn.005937a0
jmp 0x5a002c
lea eax, [edx + edi*8]
add eax, 0x10
jmp 0x59fbbc
xor eax, eax
dec eax
mov dword [esp + 0x58], eax
mov eax, 0x717dce
jmp 0x59e7cd
mov word [edi + 2], 0
mov dword [edi + 0x20], 0
jmp 0x59e6cf
movsd xmm0, qword [ecx]
jmp 0x59ed42
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
jmp 0x59e811
movzx edx, byte [esp + 0x33]
push 0
call fcn.00593580
add esp, 4
test eax, eax
jne 0x5a1336
mov eax, dword [esp + 0x68]
movzx eax, word [eax + 0x10]
and eax, 0xfffffffd
mov dword [esp + 0x40], eax
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov edi, dword [eax + edx*8 + 0xc]
mov ecx, dword [esp + 0x18]
add edi, dword [eax + ecx*8 + 0xc]
cmp edi, dword [ebx + 0x78]
jg 0x5a1054
xor eax, eax
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x14]
sete al
lea edx, [edi + 2]
mov ecx, dword [esp + 0x38]
push eax
call fcn.00593170
add esp, 4
test eax, eax
jne 0x5a1336
mov eax, 0xfffff240
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x48]
and eax, dword [esi + ebx*8 + 0x10]
or eax, 2
mov word [esi + ebx*8 + 0x10], ax
mov eax, dword [esp + 0x28]
lea edx, [esi + eax*8]
add edx, 0xc
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x14]
je 0x59c7df
push dword [edx]
push dword [esi + eax*8 + 8]
push dword [esi + ebx*8 + 8]
mov dword [esp + 0x34], edx
call fcn.00670ee0
mov edx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x40]
mov word [eax + 0x10], cx
mov eax, dword [esp + 0x18]
lea eax, [esi + eax*8]
add eax, 0xc
lea esi, [esi + ebx*8]
add esi, 0x10
mov ecx, dword [esi - 8]
add ecx, dword [edx]
push dword [eax]
push dword [eax - 4]
push ecx
call fcn.00670ee0
add esp, 0xc
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov word [eax + 0x10], cx
mov eax, edi
and eax, 0xfffffffe
mov bl, byte [esp + 0x33]
cmp bl, 2
cmovb eax, edi
mov ecx, dword [esi - 8]
xor edx, edx
mov byte [ecx + eax], dl
mov ecx, dword [esi - 8]
mov byte [eax + ecx + 1], dl
or byte [esi + 1], 2
mov dword [esi - 4], eax
mov byte [esi + 2], bl
jmp 0x59f90f
test dl, 1
mov ebx, dword [esp + 0x5c]
jne 0x597384
xor edx, edx
inc edx
call fcn.00593420
jmp 0x597384
mov dword [esp + 0x10], 0
mov edi, dword [esp + 0x54]
cmp byte [ebx], 3
jne 0x59cf71
mov eax, dword [ebx + 0x24]
test eax, eax
jle 0x59cf71
mov dword [esp + 0x54], edi
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea edi, [ecx + eax*8]
add edi, 8
mov eax, dword [edi + 4]
mov dword [ebx + 0x54], eax
mov dword [ebx + 0x50], eax
jmp 0x59cb62
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x28]
movzx eax, word [ebx + 0x3e]
mov edi, dword [esp + 0x54]
movzx ecx, ax
cmp edx, ecx
jae 0x59d5cf
mov ecx, edx
mov dword [esp + 0x14], ebx
mov eax, dword [ebx + edx*4 + 0x58]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 4]
jmp 0x5a035b
mov edi, eax
mov ecx, eax
xor edx, edx
call fcn.00576290
mov ebx, eax
test eax, eax
je 0x59c8ec
push edi
push esi
push ebx
call fcn.00670ee0
add esp, 0xc
jmp 0x59c8ee
xor ebx, ebx
mov eax, dword [esp + 0x6c]
mov dword [eax], ebx
mov ebx, dword [esp + 0x10]
mov esi, dword [ebx + 8]
test esi, esi
je 0x59c974
cmp dword [0x72dce0], 0
je 0x5a0bad
mov edi, dword [0x73ee00]
test edi, edi
je 0x59c928
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
je 0x59c974
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov dword [ebx + 8], 0
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x5a16e2
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x28]
call dword [section..00cfg]
push dword [esp + 0x18]
call ecx
add esp, 4
mov ecx, dword [esp + 0x14]
mov byte [ecx + 2], 0
mov dword [esp + 0x10], 0
test eax, eax
mov esi, dword [esp + 8]
jmp 0x59e7e2
xor eax, eax
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
jmp 0x5a08f5
mov edi, eax
mov ecx, eax
xor edx, edx
call fcn.00576290
mov ebx, eax
test eax, eax
je 0x59c9e9
push edi
push esi
push ebx
call fcn.00670ee0
add esp, 0xc
jmp 0x59c9eb
xor ebx, ebx
mov eax, dword [esp + 0x6c]
mov dword [eax], ebx
mov ebx, dword [esp + 0x18]
mov esi, dword [ebx + 8]
test esi, esi
je 0x59ca71
cmp dword [0x72dce0], 0
je 0x5a0bb8
mov edi, dword [0x73ee00]
test edi, edi
je 0x59ca25
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
je 0x59ca71
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov dword [ebx + 8], 0
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 8]
and byte [esi + 0x8c], 0xfc
test eax, eax
je 0x59e6cf
jmp 0x5a1afd
mov word [esi + 0x46], cx
mov ecx, esi
call fcn.005a9b90
mov edx, dword [esp + 0xc]
test eax, eax
mov esi, dword [esp + 8]
je 0x59cab9
cmp eax, 0x65
je 0x59cac4
jmp 0x5a1afd
mov eax, dword [esp + 0x130]
test eax, eax
je 0x59cad5
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 4]
jmp 0x59e7ec
lea eax, [ebx + ebx*4]
mov ecx, dword [esp + 4]
lea ecx, [ecx + eax*4]
jmp 0x5a0a97
xor eax, eax
mov esi, dword [esp + 8]
jmp 0x59cca5
mov dword [esp + 0x10], 0
cmp byte [esi], 0
jne 0x59fca6
movzx eax, word [eax + 0x18]
movsx ecx, byte [esi + 0x44]
test ecx, ecx
jle 0x59fddf
movzx eax, ax
xor ebx, ebx
xor edi, edi
mov edx, dword [esi + ebx*4 + 0x78]
movzx edx, word [edx + 0x18]
imul edi, edx
mul edx
add edi, edx
inc ebx
cmp ecx, ebx
jne 0x59cb17
jmp 0x59fde1
xor ecx, ecx
mov dword [esp + 0x10], ecx
mov ecx, edi
call fcn.0058dbc0
mov eax, dword [edi + 0x2c]
mov dword [ebx + 0x50], eax
movzx eax, word [edi + 0x30]
mov ecx, dword [edi + 0x74]
mov ecx, dword [ecx + 0x3c]
sub ecx, dword [edi + 0x28]
add edi, 0x28
xor edx, edx
test ecx, ecx
cmovg edx, ecx
cmp ecx, eax
cmovge edx, eax
mov dword [ebx + 0x54], edx
mov eax, dword [edi]
mov dword [ebx + 0x4c], eax
mov ecx, dword [esi + 0x1c]
mov dword [ebx + 0x20], ecx
movzx eax, byte [eax]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
test al, al
js 0x59dafc
xor edx, edx
inc edx
jmp 0x5a013a
mov dword [esp + 0x28], eax
mov ecx, eax
xor edx, edx
call fcn.00576290
mov ebx, eax
test eax, eax
je 0x59cba9
push dword [esp + 0x28]
push edi
push ebx
call fcn.00670ee0
add esp, 0xc
jmp 0x59cbab
xor ebx, ebx
mov eax, dword [esp + 0x6c]
mov dword [eax], ebx
mov edi, dword [esi + 8]
test edi, edi
je 0x59cc2d
cmp dword [0x72dce0], 0
je 0x5a0bc3
mov ebx, dword [0x73ee00]
test ebx, ebx
je 0x59cbe1
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov edi, dword [0x73ee00]
test edi, edi
je 0x59cc2d
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov dword [esi + 8], 0
mov ebx, dword [esp + 0x18]
test ebx, ebx
mov ecx, dword [esp + 4]
jne 0x5a14fa
mov eax, dword [esp + 0x180]
mov dword [eax], esi
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 8]
push 2
push 0
call fcn.005a23d0
add esp, 8
test eax, eax
je 0x5a1509
mov ecx, dword [esp + 0x180]
mov dword [eax + 0x2c], ecx
inc dword [esi + 4]
jmp 0x59f907
push 0x718366
push 0x11fcb
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00576b00
add esp, 0x14
mov eax, 0xb
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x78]
mov byte [edi + 3], 0
mov dword [edi + 0x20], 0
test eax, eax
jne 0x59487d
mov eax, dword [esp + 0x78]
mov byte [eax + 2], bl
mov dword [esp + 0x10], 0
test ebx, ebx
je case.0x59499c.89
cmp dword [ecx + 8], 0
jg 0x59e7ec
jmp case.0x59499c.89
mov ecx, dword [esp + 0x24]
test byte [ecx + ebx*8 + 0x10], 1
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jne 0x59cd04
mov edx, dword [esp + 0x24]
test byte [edx + edi*8 + 0x10], 1
je 0x59cd06
neg eax
mov edx, eax
neg edx
test byte [esp + 0x38], 1
cmove edx, eax
mov dword [esp + 0x58], edx
jmp case.0x59499c.89
movzx eax, byte [eax + 0x71873e]
jmp 0x59b63f
mov ecx, edi
call fcn.005a7d30
test eax, eax
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
je 0x59e811
jmp 0x5a0ec1
xor eax, eax
xor edx, edx
mov ecx, eax
mov dword [esp + 0x18], eax
mov dword [ebx], eax
mov dword [ebx + 4], edx
and esi, 0xfffff240
or esi, 4
mov word [ebx + 0x10], si
mov eax, dword [esp + 4]
movzx ecx, byte [eax + 1]
xor esi, esi
cmp ecx, 0xfd
je 0x59cd8b
mov eax, 0
cmp ecx, 0xf8
mov edi, dword [esp + 4]
jne 0x59cd92
mov esi, dword [edi + 0x10]
movzx eax, word [esi + 8]
jmp 0x59cd92
mov edi, dword [esp + 4]
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 4]
mov ecx, dword [esp + 8]
push 0
push eax
call fcn.005a23d0
add esp, 8
test eax, eax
je 0x5a1123
mov ebx, eax
movzx eax, word [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov byte [ebx + 1], cl
mov byte [ebx + 2], 1
or byte [ebx + 8], 4
mov edx, dword [esp + 0x18]
mov dword [ebx + 0x38], edx
mov ecx, dword [esp + 0x10]
push dword [ebx + 0x2c]
push esi
push eax
call fcn.005a8ab0
add esp, 0xc
mov dword [ebx + 0x30], esi
cmp byte [edi + 1], 0xf8
setne byte [ebx + 4]
mov esi, eax
mov ecx, edi
mov al, byte [ecx + 2]
mov ecx, dword [ebx + 0x2c]
and al, 3
mov byte [ecx + 3], al
test esi, esi
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
jne 0x5a10e7
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 4]
mov esi, eax
jmp case.0x59499c.89
mov edi, dword [ebx + 0x2c]
jmp 0x59e00b
mov dword [esp + 0x148], 7
mov dword [esp + 0x140], 0
cmp dword [esp + 0x144], 0
jne 0x59f417
mov dword [esp + 0x144], 1
jmp 0x59f417
lea eax, [edx + eax*8]
add eax, 0x10
mov word [eax], 1
jmp 0x59e7ec
mov edx, esi
sar edx, 0x1f
mov ecx, esi
call fcn.00576290
mov esi, eax
test eax, eax
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
je 0x5a0e8d
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0x28]
lea edi, [ebx + ecx*8]
add edi, 0x10
push eax
push 0
push esi
call fcn.006719e0
add esp, 0xc
mov dword [esp + 0x38], edi
test byte [edi + 1], 0x90
mov edi, dword [esp + 0x28]
jne 0x59ceb4
cmp dword [ebx + edi*8 + 0x18], 0
je 0x59cebc
lea ecx, [ebx + edi*8]
call fcn.00593060
mov eax, dword [esp + 0x38]
mov word [eax], 0x1010
mov dword [ebx + edi*8 + 8], esi
mov eax, dword [esp + 0x18]
mov dword [ebx + edi*8 + 0xc], eax
mov dword [ebx + edi*8 + 0x24], 0x5a6740
mov ecx, dword [esp + 8]
mov dword [esi], ecx
mov edx, dword [esp + 0x34]
mov dword [esi + 0x3c], edx
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x54]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esi + 0x30], eax
mov eax, dword [ecx + 0x58]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x38], eax
mov eax, dword [ecx + 0x60]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x2c], eax
mov eax, dword [ecx + 0x68]
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x6c]
mov dword [esi + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x18], eax
test edx, edx
je 0x59d2d8
mov eax, dword [esp + 0x40]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x48]
lea ecx, [ecx + ecx*4]
shl ecx, 3
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x3c]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
xor ecx, ecx
mov edx, dword [esp + 0xc]
mov word [esi + ecx + 0x68], 0
mov dword [esi + ecx + 0x6c], edx
add ecx, 0x28
cmp eax, ecx
jne 0x59cf5a
jmp 0x59d2dc
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
jmp 0x5999f3
mov ecx, edx
xor edx, edx
call fcn.00576290
mov esi, eax
test eax, eax
je 0x5a16d6
lea eax, [esi + 0x20]
mov dword [esi + 4], eax
mov ecx, dword [esp + 0x18]
mov dword [esi], ecx
mov dword [edi + 0x20], esi
mov word [esi + 0x14], bx
cmp byte [edi + 0x38], 0
je 0x59cfc3
mov eax, dword [edi + 0x14]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
imul ecx, dword [ecx + 4], 0x38
add ecx, eax
add ecx, 0x14
mov eax, dword [ecx + 0xc]
jmp 0x59cfc9
mov ecx, dword [edi + 0x24]
lea eax, [ecx + 8]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x18]
push esi
push eax
call fcn.005a3590
add esp, 8
test ebx, ebx
mov ecx, dword [esp + 4]
jle 0x59cff2
mov eax, dword [esi + 4]
add eax, 0x10
test byte [eax], 1
jne 0x59d02d
add eax, 0x28
dec ebx
jne 0x59cfe7
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + eax*8 + 8]
mov ecx, dword [ecx + eax*8 + 0xc]
push 0
push esi
call fcn.005a4be0
mov ecx, dword [esp + 0xc]
add esp, 8
mov dword [esp + 0x10], 0
test eax, eax
mov esi, dword [esp + 8]
jne 0x59e7ec
jmp case.0x59499c.89
mov dword [esp + 0x10], 0
mov esi, dword [esp + 8]
jmp 0x59e7ec
cmp byte [edi], 2
mov ebx, dword [edi + 0x2c]
jne 0x59ed0d
mov eax, dword [ebx]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
mov ecx, dword [eax + 0x30]
call dword [section..00cfg]
lea edi, [esp + 0x180]
push edi
push ebx
call ecx
add esp, 8
mov ecx, dword [esp + 0x18]
mov ebx, dword [ecx + 8]
test ebx, ebx
je 0x5a07dd
mov dword [esp + 0x28], eax
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov edx, dword [eax + 0x7c]
test edx, edx
je 0x59d0a1
mov ebx, ecx
call fcn.0057fe10
mov ecx, ebx
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x5a073e
mov dword [esp + 0x10], ecx
push ebx
call fcn.00687040
mov ecx, dword [esp + 0x14]
add esp, 4
inc eax
test ecx, ecx
je 0x5a0719
xor edx, edx
cmp byte [ecx + 0x57], 0
jne 0x5a0740
mov dword [esp + 0x10], eax
mov edx, eax
push 0
call fcn.00580000
add esp, 4
jmp 0x5a0726
mov eax, 0x65
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [edi + 0x20], 0
cmp eax, 0x65
jne 0x5a1500
mov byte [edi + 2], 1
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x120]
test eax, eax
je case.0x59499c.89
jmp 0x594878
call fcn.0058cf70
test eax, eax
je 0x59d213
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 8]
cmp eax, 2
je 0x59d1b6
cmp eax, 1
jne 0x59d1c0
mov edx, dword [esp + 4]
mov eax, dword [edx + 0xc]
movzx ecx, word [edx + 2]
sub eax, ecx
mov ecx, dword [esi + edi + 0xc]
mov dword [ecx], eax
mov ecx, dword [esp + 0xc]
or byte [ecx + 0x18], 1
mov eax, dword [edx + 4]
mov ecx, dword [ecx + 0x10]
shl eax, 4
mov eax, dword [ecx + eax + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x59d1c0
mov dword [esp + 0x18], eax
mov eax, dword [eax + 8]
cmp byte [eax + 0x2b], 0
mov esi, dword [esp + 0xc]
je 0x59d18e
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
jmp 0x59d171
mov edi, dword [eax + 0x30]
test edi, edi
je 0x59d186
mov edx, dword [edi + 0x1c]
mov ecx, esi
call fcn.005a8190
xor ebx, ebx
mov dword [edi + 0x1c], ebx
mov edx, dword [edi + 0x20]
mov ecx, esi
call fcn.005a8190
mov dword [edi + 0x20], ebx
mov edi, dword [edi + 4]
jmp 0x59d191
mov al, byte [ecx + 0xc]
mov ecx, dword [esi + edi + 0xc]
mov byte [ecx + 0x4c], al
mov ecx, dword [esp + 4]
cmp dword [ecx + 4], 1
mov esi, dword [esp + 8]
jne 0x59d1ff
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
test eax, eax
je 0x59d1f4
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0x8c]
and edx, 0xfffffffc
or edx, 1
mov dword [eax + 0x8c], edx
mov eax, ecx
test ecx, ecx
jne 0x59d1d9
and byte [esi + 0x8c], 0xfc
mov ecx, dword [esp + 4]
cmp byte [esp + 0x28], 0
mov edx, dword [esp + 0xc]
jne case.0x59499c.89
jmp 0x5a147a
mov eax, dword [esp + 0x18]
bswap eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov dword [ecx + edx*4 + 0x24], eax
mov dword [esp + 0x10], 0
mov al, 1
cmp edx, 7
jne 0x59d5ac
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov byte [ebx + 0x12], al
jmp 0x59d135
mov edx, eax
xor eax, eax
neg edx
mov dword [esp + 0x68], edx
sbb eax, esi
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x38]
sub dword [esp + 0x3c], edx
sbb ecx, edi
cmp edx, 1
mov ebx, edi
sbb ebx, 0
mov ebx, dword [esp + 0x44]
jl 0x59d282
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x3c], eax
sbb ecx, dword [esp + 0x70]
jb 0x59db5b
sub edx, dword [esp + 0x28]
sbb edi, esi
mov eax, edx
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov eax, 0xfffff240
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
and eax, dword [ecx + edx*8 + 0x10]
or eax, 4
mov word [ecx + edx*8 + 0x10], ax
jmp 0x59f913
movzx ebx, byte [ecx + 3]
test bl, bl
js 0x59f6ca
shl eax, 0xe
or eax, ebx
and eax, 0x1fc07f
and edx, 0x7f
shl edx, 7
or eax, edx
jmp 0x59f6ee
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 8]
inc dword [edi + 0xcc]
mov eax, dword [edi + 0xc4]
mov dword [esi + 4], eax
movsd xmm0, qword [edx + 0x28]
movsd qword [esi + 0x20], xmm0
movsd xmm0, qword [edi + 0x28]
movsd qword [esi + 0x48], xmm0
mov eax, dword [edi]
movq xmm0, qword [eax + 0x68]
movq qword [esi + 0x50], xmm0
mov eax, dword [edi + 0xd8]
mov dword [esi + 0x28], eax
xor eax, eax
mov dword [edi + 0xd8], eax
mov dword [edi + 0x2c], eax
mov dword [edi + 0x28], eax
mov dword [edi + 0xc4], esi
lea ecx, [esi + 0x58]
mov dword [esp + 0x24], ecx
mov dword [edi + 0x58], ecx
mov ecx, dword [esi + 0x3c]
mov dword [edi + 0x14], ecx
movzx edx, word [esi + 0x40]
mov dword [edi + 0x18], edx
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8 + 0x58]
mov dword [edi + 0x60], ecx
mov edx, dword [ebx + 0xc]
lea ecx, [ecx + edx*4]
mov dword [esi + 0x14], ecx
mov edx, dword [ebx + 4]
lea esi, [edx + 7]
add edx, 0xe
test esi, esi
cmovns edx, esi
mov esi, edi
sar edx, 3
push edx
push eax
push ecx
call fcn.006719e0
mov edx, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [ebx]
mov dword [edi + 0x68], ecx
mov eax, dword [ebx + 4]
mov dword [edi + 0x6c], eax
mov dword [esp + 0x54], ecx
add ecx, 0xffffffec
jmp 0x59d109
mov dword [esp + 0x3c], 0
cmp dword [edx + 0x184], 0
je 0x59d4e7
mov eax, dword [edx + 0x1e4]
add eax, dword [edx + 0x1e8]
mov dword [esp + 0x34], eax
inc eax
mov dword [esp + 0x14], eax
xor esi, esi
cmp esi, dword [edx + 0x16c]
jge 0x59d4e7
mov eax, dword [edx + 0x184]
mov ecx, dword [eax + esi*4]
mov edi, dword [ecx + 8]
xor eax, eax
mov dword [esp + 0x28], edi
test edi, edi
je 0x59d4d5
mov eax, dword [ecx + 4]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax]
xor eax, eax
cmp dword [ecx], 2
jl 0x59d4d5
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
inc eax
mov dword [edi + 0xc], eax
mov ecx, dword [ecx + 0x50]
mov ebx, dword [esp + 0x14]
mov dword [edi + 0x14], ebx
test ecx, ecx
je 0x59d432
call dword [section..00cfg]
push dword [esp + 0x34]
push dword [esp + 0x2c]
call ecx
mov edx, dword [esp + 0x14]
add esp, 8
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
jmp 0x59d43e
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx]
dec eax
mov dword [ecx + 0xc], eax
jne 0x59d4cd
mov eax, ebx
mov ebx, dword [ecx + 8]
mov dword [esp + 0x38], eax
test ebx, ebx
je 0x59d472
mov eax, dword [ebx]
mov ecx, dword [eax + 0x10]
call dword [section..00cfg]
push ebx
call ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add esp, 4
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
dec dword [edi + 8]
jne 0x59d4ba
mov ebx, ecx
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x59d4a5
mov edx, dword [edi + 0xc]
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], eax
call dword [section..00cfg]
push dword [esp + 0x48]
call ecx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
add esp, 4
test edi, edi
mov ecx, ebx
je 0x59d4ba
mov ecx, eax
mov edx, edi
call fcn.0057fe10
mov ecx, ebx
mov edx, dword [esp + 0xc]
test ecx, ecx
je 0x59d4cd
mov edx, ecx
mov ecx, dword [esp + 0x38]
call fcn.0057fe10
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x18]
inc esi
test eax, eax
mov ecx, dword [esp + 4]
je 0x59d3bb
jmp 0x5a0ec1
cmp byte [edx + 0x57], 0
jne 0x59fea4
mov eax, dword [esp + 0x3c]
lea edx, [eax + 0x21]
mov ecx, dword [esp + 0xc]
push 0
call fcn.00580000
mov ecx, dword [esp + 8]
add esp, 4
test eax, eax
je 0x59fea4
mov esi, eax
add eax, 0x20
mov dword [esi], eax
mov ecx, dword [esp + 0x3c]
inc ecx
push ecx
push ebx
push eax
call fcn.00670ee0
mov ecx, dword [esp + 0x18]
add esp, 0xc
cmp byte [ecx + 0x55], 0
je 0x59fe71
mov byte [ecx + 0x55], 0
mov byte [ecx + 0x5d], 1
jmp 0x59fe77
mov dword [esp + 0x18], edx
mov edx, edi
push 0
call fcn.0058d970
add esp, 4
test eax, eax
mov edx, dword [esp + 0x18]
jne 0x5a11dc
cmp byte [ebx + 0xb], 0
je 0x59d58b
mov byte [ebx + 0xb], 0
mov eax, dword [ebx + 4]
mov eax, dword [eax + 8]
test eax, eax
je 0x59d58b
test byte [eax + 1], 0x10
je 0x59d586
mov byte [ebx + 0xb], 1
cmp dword [eax + 0x40], edi
jne 0x59d586
mov byte [eax], 1
mov eax, dword [eax + 0x18]
jmp 0x59d570
xor eax, eax
mov ecx, edx
mov edx, edi
push eax
push eax
call fcn.005a8bb0
add esp, 8
test eax, eax
mov edx, dword [esp + 0xc]
je 0x59e9f9
jmp 0x5a1af9
mov dword [esp + 0x28], eax
jmp 0x59d135
test cl, 1
jne 0x595231
xor edx, edx
inc edx
mov ecx, dword [esp + 0x28]
call fcn.00593420
jmp 0x595231
mov edx, dword [ebx + 0x34]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], ecx
cmp edx, ecx
mov ecx, dword [esp + 4]
jae 0x59f197
mov ecx, dword [ebx + 0x4c]
test ecx, ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x54], edi
jne 0x5a018c
mov dword [esp + 0x3c], edx
xor edx, edx
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a0], edx
pxor xmm0, xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
mov ecx, dword [ebx + 0x2c]
mov edi, dword [ecx + 0x28]
mov esi, dword [ecx + 0x74]
mov esi, dword [esi + 0x3c]
sub esi, edi
test esi, esi
cmovg edx, esi
mov dword [esp + 0x10], ecx
movzx ecx, word [ecx + 0x30]
cmp esi, ecx
cmovge edx, ecx
mov esi, dword [esp + 0x18]
mov esi, dword [esi]
mov dword [esp + 0x40], edi
mov dword [esp + 0x188], edi
cmp edx, esi
jae 0x5a0a38
lea eax, [esp + 0x180]
mov ecx, dword [esp + 0x10]
xor edx, edx
push eax
push esi
call fcn.005a2300
add esp, 8
test eax, eax
jne 0x5a16e2
mov eax, dword [esp + 0x188]
mov dword [esp + 0x40], eax
movzx eax, word [ebx + 0x3e]
mov ecx, dword [ebx + 0x34]
mov dword [esp + 0x3c], ecx
jmp 0x5a0a49
lea eax, [edx + eax*8]
add eax, 0x10
mov dword [ecx], esi
mov dword [ecx + 4], ebx
mov word [eax], 4
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
jmp 0x59e849
test cl, 0x12
je 0x59f93d
mov ecx, esi
call fcn.005937a0
movzx eax, word [edi]
jmp 0x59b753
mov edi, ebx
mov eax, dword [esp + 0x10]
jmp 0x59b287
xor eax, eax
xor edx, edx
mov dword [esi], eax
mov dword [esi + 4], edx
and edi, 0xfffff240
or edi, 4
mov word [esi + 0x10], di
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea edi, [ecx + eax*8]
movzx ebx, word [edi + 0x10]
movzx ecx, bx
test cl, 0x24
je 0x59d71a
mov eax, dword [edi]
mov edx, dword [edi + 4]
jmp 0x59d74b
test cl, 8
jne 0x59d73c
test cl, 0x12
je 0x59d747
mov ecx, dword [esp + 0x24]
cmp dword [ecx + eax*8 + 8], 0
je 0x59d747
mov ecx, edi
call fcn.00593ef0
movzx ebx, word [edi + 0x10]
jmp 0x59d74b
movq xmm0, qword [edi]
call fcn.00593ea0
jmp 0x59d74b
xor eax, eax
xor edx, edx
mov dword [edi], eax
mov dword [edi + 4], edx
and ebx, 0xfffff240
or ebx, 4
mov word [edi + 0x10], bx
mov ecx, dword [esi + 4]
cmp dword [esi], eax
sbb ecx, edx
jl 0x59f5ef
jmp 0x59f90f
xor eax, eax
xor edx, edx
mov dword [esi], eax
mov dword [esi + 4], edx
and edi, 0xfffff240
or edi, 4
mov word [esi + 0x10], di
mov ebx, dword [esp + 4]
mov ecx, dword [ebx + 8]
mov edi, ecx
sar edi, 0x1f
add eax, ecx
mov ecx, ebx
adc edi, edx
mov dword [esi], eax
mov dword [esi + 4], edi
jmp 0x59fca6
mov dword [esp + 0x10], ecx
test esi, esi
mov ecx, dword [esp + 4]
je 0x59d7e4
mov eax, dword [edx + 4]
test eax, eax
je 0x59d7cf
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0x8c]
and edx, 0xfffffffc
or edx, 1
mov dword [eax + 0x8c], edx
mov eax, ecx
test ecx, ecx
jne 0x59d7b4
mov esi, dword [esp + 0xc]
mov ecx, esi
call fcn.005788f0
mov edx, esi
or byte [esi + 0x18], 1
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5a0ec1
mov esi, edx
mov edx, dword [edx + 0x1d8]
cmp edx, edi
je 0x59d826
mov eax, dword [edx + 0x18]
mov dword [esi + 0x1d8], eax
test edx, edx
je 0x59d81a
mov ecx, esi
call fcn.0057fe10
mov ecx, dword [esp + 4]
mov eax, dword [esi + 0x1d8]
dec dword [esi + 0x1e4]
mov edx, eax
cmp eax, edi
jne 0x59d7fc
cmp dword [esp + 0x14], 1
jne 0x59d859
mov eax, dword [edi + 0x18]
mov esi, dword [esp + 0xc]
mov dword [esi + 0x1d8], eax
mov ecx, esi
mov edx, edi
call fcn.0057fe10
mov ecx, dword [esp + 4]
mov edx, esi
mov ebx, dword [esp + 0x38]
test bl, bl
jne 0x59d87b
dec dword [edx + 0x1e4]
jmp 0x59d88b
movsd xmm0, qword [edi + 8]
mov edx, dword [esp + 0xc]
movsd qword [edx + 0x1f0], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [edx + 0x1f8], xmm0
mov ebx, dword [esp + 0x38]
cmp dword [esp + 0x14], 2
setne al
test bl, al
jne 0x59fea4
cmp dword [edx + 0x184], 0
je 0x59fea4
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x34], eax
xor ebx, ebx
cmp ebx, dword [edx + 0x16c]
jge 0x59fea4
mov eax, dword [edx + 0x184]
mov edi, dword [eax + ebx*4]
mov esi, dword [edi + 8]
mov dword [esp + 0x10], 0
test esi, esi
je 0x59d9c5
mov eax, dword [edi + 4]
mov ecx, dword [eax]
cmp dword [ecx], 2
jl 0x59d9c5
mov dword [esp + 0x18], esi
mov eax, dword [edi + 0xc]
inc eax
mov dword [edi + 0xc], eax
mov esi, dword [esp + 0x14]
cmp esi, 2
je 0x59d8fd
test esi, esi
jne 0x59d902
mov ecx, dword [ecx + 0x50]
mov esi, dword [esp + 0x34]
mov dword [edi + 0x14], esi
jmp 0x59d905
mov ecx, dword [ecx + 0x58]
jmp 0x59d905
mov ecx, dword [ecx + 0x54]
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x59d938
mov esi, dword [esp + 0x28]
cmp dword [edi + 0x14], esi
jle 0x59d938
call dword [section..00cfg]
push dword [esp + 0x28]
push dword [esp + 0x1c]
call ecx
mov edx, dword [esp + 0x14]
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0xc]
mov ecx, dword [edi]
dec eax
mov dword [edi + 0xc], eax
jne 0x59d9c5
mov esi, dword [edi + 8]
mov eax, ecx
test esi, esi
mov dword [esp + 0x18], ecx
je 0x59d96c
mov eax, dword [esi]
mov ecx, dword [eax + 0x10]
call dword [section..00cfg]
push esi
call ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add esp, 4
mov eax, dword [edi]
mov esi, dword [edi + 4]
dec dword [esi + 8]
jne 0x59d9b6
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x59d99d
mov edx, dword [esi + 0xc]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
call dword [section..00cfg]
push dword [esp + 0x3c]
call ecx
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
add esp, 4
test esi, esi
mov ecx, dword [esp + 0x18]
je 0x59d9b6
mov ecx, eax
mov edx, esi
call fcn.0057fe10
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
test edi, edi
je 0x59d9c5
mov edx, edi
call fcn.0057fe10
mov edx, dword [esp + 0xc]
inc ebx
mov eax, dword [esp + 0x10]
test eax, eax
mov ecx, dword [esp + 4]
je 0x59d8a3
jmp 0x5a0ec1
xor eax, eax
xor edx, edx
mov esi, dword [esp + 0xc]
div dword [esi + 0x170]
lea esi, [edi + edx*8]
lea eax, [edi + edx*8]
add eax, 4
mov edi, dword [esi]
mov edx, 0x73ef80
test edi, edi
je 0x59da3d
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov ebx, dword [eax + 0xc]
xor esi, esi
movzx edx, byte [ebx + esi]
movzx eax, byte [ecx + esi]
cmp dl, al
jne 0x59da1a
test edx, edx
jne 0x59da28
jmp 0x59da39
mov dl, byte [edx + 0x717d00]
cmp dl, byte [eax + 0x717d00]
jne 0x59da2b
inc esi
jmp 0x59da08
dec edi
mov eax, dword [esp + 0x18]
jne 0x59d9fd
mov edx, 0x73ef80
jmp 0x59da3d
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
test eax, eax
mov edi, dword [esp + 0x10]
je 0x59da9c
mov edx, dword [eax]
mov esi, dword [edx + 4]
test esi, esi
je 0x59da9c
cmp dword [edx + 0x14], 0
je 0x59da9c
mov ecx, dword [esp + 0xc]
mov edx, edi
push dword [esp + 0x6c]
push esi
push eax
call fcn.005b26b0
add esp, 0xc
test eax, eax
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jne 0x59dabf
mov eax, dword [edi + 0x34]
mov ecx, eax
test eax, eax
mov edx, dword [esp + 0xc]
je 0x5a0b8d
cmp dword [ecx], edx
je 0x5a0685
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x59da88
jmp 0x5a0b8d
push ecx
push str.no_such_module:__s
push dword [esp + 0x14]
call fcn.0057bed0
add esp, 0xc
mov ecx, dword [esp + 0x6c]
mov dword [ecx], eax
xor eax, eax
inc eax
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
test byte [esp + 0x191], 0x90
jne 0x59dad3
cmp dword [esp + 0x198], 0
je 0x59dae7
lea ecx, [esp + 0x180]
mov edi, eax
call fcn.00593060
mov eax, edi
mov ecx, dword [esp + 4]
mov dword [esp + 0x10], 0
test eax, eax
je case.0x59499c.89
jmp 0x5a1500
mov ecx, dword [ebx + 0x4c]
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
test dl, dl
js 0x59f9f9
and eax, 0x7f
shl eax, 7
or eax, edx
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov al, 2
jmp 0x5a0137
cmp edx, 1
mov eax, edi
sbb eax, 0
jl 0x59fa26
xor ecx, ecx
push edi
push edx
push 0x80000000
push ecx
call fcn.0068c7b0
neg eax
mov ecx, 0
sbb ecx, edx
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x28], eax
mov eax, esi
sbb eax, ecx
jae 0x59b84e
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
lea esi, [eax + ecx*8]
add esi, 0x10
movzx eax, word [esi]
test al, 8
jne 0x59db90
test al, 0x24
mov edi, dword [esp + 0x34]
je 0x59dc22
fild qword [edi]
fstp qword [esp + 0xb0]
movsd xmm2, qword [esp + 0xb0]
jmp 0x59db98
mov edi, dword [esp + 0x34]
movsd xmm2, qword [edi]
movzx eax, word [ebx + 0x10]
test al, 8
mov ecx, dword [esp + 4]
jne 0x59dbc0
test al, 0x24
je 0x59dc36
fild qword [ebx]
fstp qword [esp + 0xa8]
movsd xmm0, qword [esp + 0xa8]
jmp 0x59dbc4
movsd xmm0, qword [ebx]
movzx eax, byte [ecx]
add eax, 0xffffffa0
cmp eax, 3
ja case.default.0x59dbcf
jmp dword [eax*4 + 0x72040c]
addsd xmm2, xmm0
jmp 0x59fb79
mulsd xmm2, xmm0
jmp 0x59fb79
xorpd xmm1, xmm1
ucomisd xmm2, xmm1
jne 0x59dbf8
jnp 0x59fb95
divsd xmm0, xmm2
jmp 0x59dc02
subsd xmm0, xmm2
movapd xmm2, xmm0
jmp 0x59fb79
movzx eax, word [esi]
test al, 0x24
je 0x59dc56
mov eax, dword [edi]
mov esi, dword [edi + 4]
mov edi, eax
mov ecx, dword [esp + 0x24]
jmp 0x59fae7
test al, 0x12
je 0x59dc87
mov ecx, edi
call fcn.005937a0
movapd xmm2, xmm0
jmp 0x59db98
test al, 0x12
je 0x59dc90
mov ecx, ebx
movsd qword [esp + 0x28], xmm2
call fcn.005937a0
movsd xmm2, qword [esp + 0x28]
mov ecx, dword [esp + 4]
jmp 0x59dbc4
test al, 8
mov ecx, dword [esp + 0x24]
jne 0x59f181
test al, 0x12
je 0x59fae3
mov eax, dword [esp + 0x40]
cmp dword [ecx + eax*8 + 8], 0
je 0x59fae3
mov esi, ecx
mov ecx, edi
call fcn.00593ef0
jmp 0x59f18c
xorpd xmm2, xmm2
jmp 0x59db98
xorpd xmm0, xmm0
jmp 0x59dbc4
mov edi, dword [esp + 0x38]
shrd edi, edx, cl
shr edx, cl
test cl, 0x20
cmovne edi, edx
mov eax, 0
cmovne edx, eax
cmp dword [esp + 0x14], 0
jns 0x59dce1
mov al, 0x40
sub al, cl
mov ecx, eax
xor eax, eax
dec eax
shl eax, cl
test cl, 0x20
mov ecx, 0
cmove ecx, eax
mov dword [esp + 0x28], ecx
mov ecx, 0xffffffff
cmove eax, ecx
or eax, edx
mov edx, eax
or edi, dword [esp + 0x28]
mov ecx, dword [esp + 4]
jmp 0x59c162
mov ebx, eax
mov ecx, eax
xor edx, edx
call fcn.00576290
mov esi, eax
test eax, eax
je 0x59dd08
push ebx
push edi
push esi
call fcn.00670ee0
add esp, 0xc
jmp 0x59dd0a
xor esi, esi
mov eax, dword [esp + 0x6c]
mov dword [eax], esi
mov edi, dword [esp + 0x18]
mov esi, dword [edi + 8]
test esi, esi
je 0x59dd94
cmp dword [0x72dce0], 0
je 0x5a0bd9
mov edi, dword [0x73ee00]
test edi, edi
je 0x59dd44
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
mov edi, dword [esp + 0x18]
je 0x59dd94
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov dword [edi + 8], 0
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
test eax, eax
mov esi, dword [esp + 8]
je 0x59dde0
mov ebx, eax
cmp al, 0x13
mov ecx, dword [esp + 4]
jne 0x5a15b5
mov eax, dword [ecx + 0x10]
cmp byte [eax + 0x10], 0
je 0x5a15b5
movzx eax, word [ecx + 2]
mov dword [esp + 0x10], 0
cmp eax, 4
je case.0x59499c.89
jmp 0x5a15bf
mov ecx, dword [esp + 4]
cmp dword [ecx + 4], 0
je 0x59ddf8
movq xmm0, qword [esp + 0x180]
movq qword [edx + 0x28], xmm0
add dword [esi + 0x28], 1
adc dword [esi + 0x2c], 0
jmp 0x5a0a97
mov ebx, dword [ecx + 0x14]
dec dword [ebx + 0x80]
mov eax, dword [ebx + 0x90]
mov dword [ecx + 0x10], eax
mov dword [ebx + 0x90], ecx
mov esi, dword [ecx + 0x18]
dec esi
mov eax, esi
mul dword [ebx + 0xa8]
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], edi
mov edi, edx
mov eax, dword [ebx + 0xac]
imul eax, esi
mov esi, dword [ecx + 4]
add edi, eax
mov ebx, dword [ebx + 0x40]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push esi
push edi
mov edi, dword [esp + 0x18]
push dword [esp + 0x30]
push ebx
mov ebx, dword [esp + 0x28]
call ecx
add esp, 0x10
mov eax, dword [esp + 0x34]
mov word [eax], 4
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx], eax
test edi, edi
je 0x59f907
jmp 0x5a1847
movzx ecx, byte [edi + 2]
test cl, cl
js 0x59fa99
shl ebx, 0xe
or ebx, ecx
and ebx, 0x1fc07f
and eax, 0x7f
shl eax, 7
or ebx, eax
cmp ebx, 3
jb 0x5a10f4
mov esi, dword [esp + 0x18c]
cmp ebx, esi
ja 0x5a10f4
movzx edx, byte [ebx + edi - 1]
test dl, dl
jns 0x59def7
movzx eax, byte [edi + ebx]
test al, al
js 0x59ded0
and edx, 0x7f
shl edx, 7
jmp 0x59def5
lea ecx, [ebx + edi]
dec ecx
mov dword [esp + 0x10], ecx
movzx ecx, byte [ecx + 2]
test cl, cl
js 0x59fc16
shl edx, 0xe
or edx, ecx
and edx, 0x1fc07f
and eax, 0x7f
shl eax, 7
or edx, eax
cmp edx, 7
je 0x5a10f4
lea eax, [edx - 0xa]
cmp eax, 0xfffffff7
jb 0x5a10f4
movzx eax, byte [edx + 0x718777]
add ebx, eax
cmp esi, ebx
jb 0x5a10f4
sub esi, eax
add edi, esi
lea esi, [esp + 0x130]
mov ecx, edi
push esi
call fcn.005a2200
add esp, 4
mov edi, dword [esi]
mov ebx, dword [esi + 4]
cmp dword [esp + 0x198], 0
je 0x59df4e
lea ecx, [esp + 0x180]
call fcn.00593060
mov ecx, dword [esp + 4]
cmp byte [ecx], 0x8d
jne 0x59df9c
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0xc]
mov eax, dword [eax + ecx*4]
mov word [eax + 2], 0x100
mov dword [eax + 0x44], ebx
mov dword [eax + 0x40], edi
mov dword [eax + 0x20], 0
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x18]
mov dword [eax + 0x28], edx
mov dword [esp + 0x10], 0
jmp 0x59fca6
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
je 0x59dfba
mov ecx, esi
call fcn.005a7630
jmp 0x59dfc5
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov dword [esi], edi
mov dword [esi + 4], ebx
jmp 0x59f907
cmp eax, 0x65
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
jne 0x5a1afd
jmp 0x59f6bd
movq xmm0, qword [ecx]
call fcn.00593ea0
jmp 0x59f5eb
movsd xmm0, qword [ecx]
jmp 0x59fc49
mov dword [esp + 0x130], 0
mov ecx, edi
call fcn.0058dbc0
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], ecx
mov edx, ecx
xor edx, 0x7fffffff
mov esi, eax
not esi
or esi, edx
jne 0x59e03c
or byte [ebx + 8], 2
jmp 0x59e050
add eax, 1
adc ecx, 0
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], ecx
mov dword [esp + 0x10], 0
mov esi, dword [esp + 8]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x59e14a
mov edx, dword [esi + 0xc4]
mov eax, dword [esp + 0x24]
test edx, edx
je 0x59e085
mov eax, edx
mov edx, dword [edx + 4]
test edx, edx
jne 0x59e079
mov eax, dword [eax + 0xc]
lea ecx, [ecx + ecx*4]
lea edi, [eax + ecx*8]
movzx esi, word [edi + 0x10]
movzx edx, si
test dl, 0x24
mov dword [esp + 0x28], edi
je 0x59e0a4
mov eax, dword [edi]
mov ecx, edi
mov edi, dword [edi + 4]
jmp 0x59e0db
test dl, 8
jne 0x59e0ce
test dl, 0x12
je 0x59ecc8
cmp dword [eax + ecx*8 + 8], 0
je 0x59ecc8
mov ecx, edi
call fcn.00593ef0
mov ecx, edi
mov edi, edx
movzx esi, word [ecx + 0x10]
jmp 0x59e0db
movq xmm0, qword [edi]
call fcn.00593ea0
mov ecx, edi
mov edi, edx
mov dword [ecx], eax
mov dword [ecx + 4], edi
and esi, 0xfffff240
or esi, 4
mov word [ecx + 0x10], si
mov ecx, eax
not ecx
mov esi, edi
xor esi, 0x7fffffff
or esi, ecx
mov edx, dword [esp + 0xc]
je 0x5a132c
test byte [ebx + 8], 2
jne 0x5a132c
mov ecx, dword [esp + 0x180]
mov esi, dword [esp + 0x184]
cmp eax, ecx
mov edx, edi
sbb edx, esi
jl 0x59e13d
add eax, 1
adc edi, 0
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], edi
mov ecx, eax
mov esi, edi
mov eax, dword [esp + 0x28]
mov dword [eax], ecx
mov dword [eax + 4], esi
mov esi, dword [esp + 8]
test byte [ebx + 8], 2
je 0x59e1c3
xor esi, esi
lea edi, [esp + 0x180]
push edi
push 8
call fcn.00576bf0
add esp, 8
mov eax, 0x3fffffff
and eax, dword [edi + 4]
mov edx, dword [edi]
add edx, 1
adc eax, 0
mov dword [edi], edx
mov dword [edi + 4], eax
mov ecx, dword [ebx + 0x2c]
lea edi, [esp + 0x130]
push edi
push 0
push eax
call fcn.005a2bf0
add esp, 0xc
mov ecx, dword [edi]
test eax, eax
jne 0x59e1a3
test ecx, ecx
jne 0x59e1a3
lea edx, [esi + 1]
cmp esi, 0x63
mov esi, edx
jb 0x59e152
test eax, eax
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
jne 0x5a178d
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x5a178d
mov byte [ebx + 3], 0
mov dword [ebx + 0x20], 0
movq xmm0, qword [esp + 0x180]
mov eax, dword [esp + 0x18]
movq qword [eax], xmm0
jmp 0x59f913
mov ecx, edi
push esi
call fcn.005a7c40
mov esi, dword [esp + 0x38]
add esp, 4
add edi, eax
mov dword [esp + 0x14], edi
movzx edx, word [esi + 0x30]
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x74]
mov dword [esp + 0x18], edx
lea ebx, [ecx + edx]
cmp ebx, dword [eax + 0x3c]
ja 0x5a144b
mov dword [esp + 0x28], ecx
mov edi, dword [esi + 0x2c]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x74]
movzx ecx, word [edx + 0xe]
mov dword [esp + 0x3c], edi
cmp edi, dword [esp + 0x18]
jne 0x59e25d
cmp word [esp + 0x18], cx
jae 0x59e25d
mov esi, dword [esp + 0x18]
push esi
push dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
push edi
call fcn.00670ee0
add esp, 0xc
add esi, edi
mov eax, dword [esp + 0x40]
sub esi, dword [eax + 0x44]
mov dword [eax + 0x48], esi
jmp 0x59f907
movzx eax, cx
xor edi, edi
mov dword [esp + 0x180], edi
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x68], 0
mov dword [esp + 0x130], edi
mov edi, eax
mov ecx, dword [esp + 0x3c]
mov eax, ecx
cmp ecx, edi
jbe 0x59e2c1
movzx eax, word [edx + 0x10]
mov dword [esp + 0x10], eax
xor ecx, ecx
mov esi, dword [esp + 0x3c]
sub esi, eax
sbb ecx, ecx
mov eax, dword [edx + 0x34]
mov eax, dword [eax + 0x28]
add eax, 0xfffffffc
push 0
push eax
push ecx
push esi
call fcn.00691020
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
add eax, ecx
cmp eax, edi
cmovg eax, ecx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
sub edx, dword [ecx + 0x44]
add edx, eax
mov dword [ecx + 0x48], edx
mov edi, eax
cmp eax, dword [esi + 0x2c]
jae 0x59e2ec
mov ecx, dword [esp + 0x14]
add ecx, edi
mov dword [esp + 0x68], ecx
add edx, 4
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x48], edx
mov dword [esp + 0x48], 0
mov eax, 0
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x28]
jbe 0x59e322
add ebx, 4
mov eax, dword [esi + 0x74]
cmp ebx, dword [eax + 0x3c]
ja 0x5a1985
mov eax, dword [esi + 0x28]
mov edx, dword [esp + 0x18]
mov eax, dword [eax + edx]
bswap eax
mov dword [esp + 0x10], eax
mov ebx, edi
sub dword [esp + 0x3c], ebx
cmp dword [esp + 0x18], 0
je 0x59e369
mov eax, dword [esp + 0x18]
cmp ebx, eax
mov esi, ebx
mov ebx, eax
cmovb ebx, esi
push ebx
push ecx
mov edi, dword [esp + 0x1c]
push edi
mov dword [esp + 0x34], ecx
call fcn.00670ee0
mov ecx, dword [esp + 0x34]
add esp, 0xc
sub esi, ebx
sub dword [esp + 0x18], ebx
add edi, ebx
mov dword [esp + 0x14], edi
add ecx, ebx
mov ebx, esi
jmp 0x59e371
mov dword [esp + 0x18], 0
test ebx, ebx
je 0x59e44f
mov ecx, dword [esp + 0x130]
test ecx, ecx
je 0x59e3eb
test byte [ecx + 0x1c], 0x20
jne 0x59e391
call fcn.00580a10
jmp 0x59e3eb
mov dword [esp + 0x18], ebx
mov ebx, dword [ecx + 0x14]
dec dword [ebx + 0x80]
mov eax, dword [ebx + 0x90]
mov dword [ecx + 0x10], eax
mov dword [ebx + 0x90], ecx
mov esi, dword [ecx + 0x18]
dec esi
mov eax, esi
mul dword [ebx + 0xa8]
mov dword [esp + 0x28], eax
mov edi, edx
mov eax, dword [ebx + 0xac]
imul eax, esi
mov esi, dword [ecx + 4]
add edi, eax
mov ebx, dword [ebx + 0x40]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push esi
push edi
push dword [esp + 0x30]
push ebx
mov ebx, dword [esp + 0x28]
call ecx
add esp, 0x10
lea esi, [esp + 0x130]
mov dword [esi], 0
mov edi, dword [esp + 0x38]
mov ecx, dword [edi + 0xdc]
call dword [section..00cfg]
push 2
push esi
push dword [esp + 0x18]
push edi
call ecx
add esp, 0x10
mov dword [esp + 0x180], eax
test eax, eax
jne 0x59e5c4
mov eax, dword [esp + 0x130]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
bswap eax
mov dword [esp + 0x10], eax
add ecx, 4
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x28]
add eax, 0xfffffffc
mov dword [esp + 0x18], eax
jmp 0x59e32c
mov eax, dword [esp + 0x180]
test eax, eax
jne 0x59e5bc
cmp dword [esp + 0x3c], 0
mov edx, dword [esp + 0xc]
je 0x59e4e3
mov edi, dword [esp + 0x68]
test edi, edi
je 0x59e4e3
mov dword [esp + 0x28], ecx
lea esi, [esp + 0x128]
mov dword [esi], 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
mov dword [edx], eax
mov ebx, dword [esp + 0x40]
mov ecx, ebx
push eax
push eax
push esi
call fcn.0058e430
add esp, 0xc
mov dword [esp + 0x180], eax
mov eax, dword [esi]
bswap eax
mov dword [edi], eax
cmp byte [ebx + 0x11], 0
mov eax, dword [esp + 0x48]
je 0x59e4ea
test eax, eax
je 0x59e4ea
mov edx, dword [esp + 0x128]
lea eax, [esp + 0x180]
mov ecx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x4c]
push dword [eax + 4]
push 4
call fcn.0058fec0
mov eax, dword [esp + 0x54]
add esp, 0xc
jmp 0x59e4ee
xor esi, esi
jmp 0x59e5a0
test eax, eax
je 0x59e557
mov ecx, dword [eax + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x59e4fe
call fcn.00580a10
jmp 0x59e557
mov ebx, dword [ecx + 0x14]
dec dword [ebx + 0x80]
mov eax, dword [ebx + 0x90]
mov dword [ecx + 0x10], eax
mov dword [ebx + 0x90], ecx
mov esi, dword [ecx + 0x18]
dec esi
mov eax, esi
mul dword [ebx + 0xa8]
mov dword [esp + 0x44], eax
mov edi, edx
mov eax, dword [ebx + 0xac]
imul eax, esi
mov ecx, dword [ecx + 4]
mov dword [esp + 0x48], ecx
add edi, eax
mov ebx, dword [ebx + 0x40]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push dword [esp + 0x48]
push edi
push dword [esp + 0x4c]
push ebx
call ecx
add esp, 0x10
mov eax, dword [esp + 0x124]
test eax, eax
mov dword [esp + 0x48], eax
je 0x59e58f
mov eax, dword [eax + 0x38]
mov dword [eax], 0
mov dword [esp + 0x68], eax
add eax, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov esi, dword [eax + 0x28]
add esi, 0xfffffffc
mov eax, dword [esp + 0x3c]
cmp esi, eax
cmovae esi, eax
jmp 0x59e591
xor esi, esi
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x180]
test eax, eax
sete bl
mov dword [esp + 0x44], ebx
cmp dword [esp + 0x3c], 0
je 0x59e5d0
test eax, eax
mov ebx, esi
je 0x59e328
jmp 0x59e5d0
xor esi, esi
mov edx, dword [esp + 0xc]
jmp 0x59e5a0
mov dword [esp + 0x44], 0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x48]
test ecx, ecx
mov esi, dword [esp + 8]
mov dword [esp + 0x28], eax
je 0x59e64e
mov ecx, dword [ecx + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x59e5f0
call fcn.00580a10
jmp 0x59e646
mov ebx, dword [ecx + 0x14]
dec dword [ebx + 0x80]
mov eax, dword [ebx + 0x90]
mov dword [ecx + 0x10], eax
mov dword [ebx + 0x90], ecx
mov esi, dword [ecx + 0x18]
dec esi
mov eax, esi
mul dword [ebx + 0xa8]
mov dword [esp + 0x18], eax
mov edi, edx
mov eax, dword [ebx + 0xac]
imul eax, esi
mov esi, dword [ecx + 4]
add edi, eax
mov ebx, dword [ebx + 0x40]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push esi
mov esi, dword [esp + 0xc]
push edi
push dword [esp + 0x20]
push ebx
call ecx
add esp, 0x10
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x130]
test ecx, ecx
je 0x59e6c4
test byte [ecx + 0x1c], 0x20
jne 0x59e666
call fcn.00580a10
jmp 0x59e6bc
mov ebx, dword [ecx + 0x14]
dec dword [ebx + 0x80]
mov eax, dword [ebx + 0x90]
mov dword [ecx + 0x10], eax
mov dword [ebx + 0x90], ecx
mov esi, dword [ecx + 0x18]
dec esi
mov eax, esi
mul dword [ebx + 0xa8]
mov dword [esp + 0x18], eax
mov edi, edx
mov eax, dword [ebx + 0xac]
imul eax, esi
mov esi, dword [ecx + 4]
add edi, eax
mov ebx, dword [ebx + 0x40]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push esi
mov esi, dword [esp + 0xc]
push edi
push dword [esp + 0x20]
push ebx
call ecx
add esp, 0x10
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
cmp byte [esp + 0x44], 0
je 0x5a1afd
mov dword [esp + 0x10], 0
jmp 0x59f913
movsd xmm0, qword [ecx]
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
mov ecx, dword [esp + 4]
jne case.0x59499c.89
jp case.0x59499c.89
jmp 0x59e7ec
movsd xmm0, qword [ecx]
jmp 0x59fcb6
xor eax, eax
jmp 0x5a003c
test al, 2
mov edi, dword [esp + 0x18]
je 0x59babd
xor edx, edx
inc edx
call fcn.0057b2f0
mov edx, dword [esp + 0xc]
movzx ebx, word [edi]
jmp 0x59babd
mov edx, dword [esp + 0x38]
test dl, 2
jne 0x59e76f
and edx, 0x2c
je 0x59e76f
movzx edx, byte [esp + 0x33]
mov edi, dword [esp + 0x44]
mov ecx, edi
push 1
call fcn.00593580
add esp, 4
mov eax, 0xfffff240
mov ecx, dword [esp + 0x58]
mov ebx, ecx
and eax, dword [ecx]
mov ecx, dword [esp + 0x14]
and ecx, 0xdbf
or ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x59e777
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x44]
mov ecx, edi
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 4]
push dword [edi + 0x10]
call fcn.005a1de0
add esp, 4
test eax, eax
mov dword [esp + 0x5c], esi
js 0x59e7ab
mov dl, byte [edi]
je 0x59e7b8
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x58], eax
mov eax, 0x717dda
jmp 0x59e7cd
mov dword [esp + 0x58], eax
mov dl, byte [edi]
mov eax, 0x717dce
jmp 0x59e7c5
mov dword [esp + 0x58], 0
mov eax, 0x717dd4
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x3c]
movzx ecx, dl
mov edx, dword [esp + 0x14]
mov word [ebx], dx
mov edx, dword [esp + 0x34]
mov word [edx], di
cmp byte [eax + ecx], 0
mov ecx, dword [esp + 4]
je case.0x59499c.89
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + eax*4]
add ecx, 0xffffffec
jmp case.0x59499c.89
lea edx, [eax + 0x10]
add eax, 0xc
jmp 0x59f611
xor ebx, ebx
dec ebx
mov esi, ebx
mov edi, esi
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
je 0x59e835
mov ecx, esi
call fcn.005a7630
mov edx, dword [esp + 0xc]
jmp 0x59e840
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov dword [esi], ebx
mov dword [esi + 4], edi
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jmp 0x59d109
mov esi, dword [ecx + 0x14]
dec dword [esi + 0x80]
mov eax, dword [esi + 0x90]
mov dword [ecx + 0x10], eax
mov dword [esi + 0x90], ecx
mov ebx, dword [ecx + 0x18]
dec ebx
mov eax, ebx
mul dword [esi + 0xa8]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0xac]
imul eax, ebx
mov ebx, dword [ecx + 4]
add edx, eax
mov dword [esp + 0x48], edx
mov esi, dword [esi + 0x40]
mov eax, dword [esi]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push ebx
mov ebx, dword [esp + 0x1c]
push dword [esp + 0x4c]
push dword [esp + 0x48]
push esi
call ecx
add esp, 0x10
mov eax, dword [esp + 0x28]
mov dword [esp + 0x40], 0
test eax, eax
je 0x59eb6f
jmp 0x5a1136
mov esi, dword [ecx + 0x14]
dec dword [esi + 0x80]
mov eax, dword [esi + 0x90]
mov dword [ecx + 0x10], eax
mov dword [esi + 0x90], ecx
mov eax, dword [ecx + 0x18]
dec eax
mov dword [esp + 0x48], eax
mul dword [esi + 0xa8]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0xac]
imul eax, dword [esp + 0x48]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x48], ecx
add edx, eax
mov dword [esp + 0x44], edx
mov esi, dword [esi + 0x40]
mov eax, dword [esi]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [esp + 0x48]
push esi
call ecx
add esp, 0x10
mov dword [esp + 0x180], 0xffffffff
mov eax, dword [esp + 0x10]
mov esi, dword [eax]
mov ecx, dword [esi + 0xdc]
call dword [section..00cfg]
push 0
lea eax, [esp + 0x184]
push eax
push edi
push esi
call ecx
add esp, 0x10
test eax, eax
jne 0x5a1136
mov eax, dword [esp + 0x180]
mov esi, dword [eax + 8]
cmp dword [esi + 4], edi
je 0x59e995
mov ecx, dword [eax + 4]
mov dword [esi + 0x38], ecx
xor ecx, ecx
cmp dword [esp + 0x28], 0x1000000
mov edx, 0x64
cmovne edx, ecx
mov dword [esi + 0x48], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x34], eax
mov dword [esi + 4], edi
mov byte [esi + 9], dl
xor eax, eax
mov ecx, dword [esp + 0x10]
mov edx, esi
push eax
push ebx
push eax
push 1
call fcn.0058f280
add esp, 0x10
test esi, esi
mov ebx, dword [esp + 0x18]
je 0x59ea61
mov dword [esp + 0x40], eax
mov ecx, dword [esi + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x59ea02
call fcn.00580a10
jmp 0x59ea5d
call fcn.005a8b60
mov cl, 1
mov byte [esi + 4], cl
mov ecx, dword [esp + 4]
xor edx, edx
cmp word [ecx + 2], 8
setne dl
mov ecx, dword [esi + 8]
and ecx, 0xfffffffb
lea ecx, [ecx + edx*4]
mov dword [esi + 8], ecx
test eax, eax
jne 0x5a11d1
mov byte [esi + 2], 1
jmp 0x59f907
mov esi, dword [ecx + 0x14]
dec dword [esi + 0x80]
mov eax, dword [esi + 0x90]
mov dword [ecx + 0x10], eax
mov dword [esi + 0x90], ecx
mov ebx, dword [ecx + 0x18]
dec ebx
mov eax, ebx
mul dword [esi + 0xa8]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0xac]
imul eax, ebx
mov ebx, dword [ecx + 4]
add edx, eax
mov dword [esp + 0x44], edx
mov esi, dword [esi + 0x40]
mov eax, dword [esi]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push ebx
mov ebx, dword [esp + 0x1c]
push dword [esp + 0x48]
push dword [esp + 0x50]
push esi
call ecx
add esp, 0x10
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x5a1715
mov dword [esp + 0x180], 0xffffffff
mov eax, dword [esp + 0x10]
mov esi, dword [eax]
mov ecx, dword [esi + 0xdc]
call dword [section..00cfg]
push 0
lea eax, [esp + 0x184]
push eax
push edi
push esi
call ecx
add esp, 0x10
test eax, eax
jne 0x5a1715
mov eax, dword [esp + 0x180]
mov esi, dword [eax + 8]
cmp dword [esi + 4], edi
jne 0x59eab3
mov ecx, dword [esi + 0x34]
jmp 0x59eadd
mov ecx, dword [eax + 4]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x48], eax
xor eax, eax
cmp dword [esp + 0x28], 0x1000000
mov ecx, 0x64
cmovne ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x34], eax
mov dword [esi + 4], edi
mov byte [esi + 9], cl
mov ecx, eax
mov edx, esi
push edi
call fcn.005a9180
add esp, 4
test esi, esi
je 0x59eb5f
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x59eb00
call fcn.00580a10
jmp 0x59eb5b
mov esi, dword [ecx + 0x14]
dec dword [esi + 0x80]
mov eax, dword [esi + 0x90]
mov dword [ecx + 0x10], eax
mov dword [esi + 0x90], ecx
mov ebx, dword [ecx + 0x18]
dec ebx
mov eax, ebx
mul dword [esi + 0xa8]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0xac]
imul eax, ebx
mov ebx, dword [ecx + 4]
add edx, eax
mov dword [esp + 0x48], edx
mov esi, dword [esi + 0x40]
mov eax, dword [esi]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push ebx
mov ebx, dword [esp + 0x1c]
push dword [esp + 0x4c]
push dword [esp + 0x48]
push esi
call ecx
add esp, 0x10
mov eax, dword [esp + 0x28]
mov dword [esp + 0x40], edi
test eax, eax
mov esi, dword [esp + 8]
jne 0x5a1957
mov eax, dword [0x72ddf8]
xor edx, edx
mov ecx, dword [esp + 0x10]
div dword [ecx + 0x24]
dec edi
mov ecx, 0xfffffffe
mov dword [esp + 0x28], eax
sub ecx, eax
lea eax, [ecx + edi]
cmp eax, 0xffffffff
je 0x59ebcf
xor eax, eax
cmp edi, 2
jb 0x59ebcb
mov eax, 0xcccccccd
mov edx, dword [esp + 0x10]
mul dword [edx + 0x28]
mov ebx, edx
shr ebx, 2
inc ebx
lea esi, [edi - 2]
mov eax, esi
xor edx, edx
div ebx
mov ebx, dword [esp + 0x18]
sub esi, edx
lea eax, [esi + 1]
xor edx, edx
cmp eax, dword [esp + 0x28]
sete dl
lea eax, [edx + esi]
add eax, 2
cmp edi, eax
jne 0x59ebd2
dec edi
jmp 0x59eb89
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x38]
mov ecx, dword [eax + 0x48]
mov eax, dword [ecx + 0x14]
test byte [ecx + 0x1c], 4
je 0x59ebf7
mov edx, dword [eax + 0x1c]
cmp edx, dword [ecx + 0x18]
jae 0x59ecb4
mov ebx, dword [eax + 0x2c]
test ebx, ebx
jne 0x5a180e
mov edx, dword [eax + 0x9c]
cmp edx, dword [eax + 0xa8]
jbe 0x59ec17
call fcn.0058cb60
jmp 0x59ec1c
call fcn.0058cf70
mov ebx, dword [esp + 0x18]
test eax, eax
jne 0x5a179e
bswap edi
mov dword [esi + 0x34], edi
mov eax, dword [esp + 0x34]
mov word [eax], 4
mov edi, dword [esp + 0x40]
mov eax, edi
sar eax, 0x1f
mov dword [ebx + 4], eax
mov dword [ebx], edi
mov dword [esp + 0x10], 0
test edi, edi
je 0x59f90f
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x60]
mov esi, dword [ecx]
mov ebx, dword [esp + 0x38]
mov edx, dword [esi + ebx + 0xc]
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x59ec89
lea edx, [esi + ebx]
add edx, 0xc
mov esi, dword [ecx + 8]
cmp dword [esi + 0x14], edi
jne 0x59ec81
mov dword [esi + 0x14], eax
mov ecx, dword [ecx]
test ecx, ecx
jne 0x59ec76
mov edx, dword [edx]
mov ecx, dword [edx + 0x20]
test ecx, ecx
mov esi, dword [esp + 8]
je 0x59eca5
mov edx, dword [ecx + 8]
cmp dword [edx + 0x2c], edi
jne 0x59ec9f
mov dword [edx + 0x2c], eax
mov ecx, dword [ecx]
test ecx, ecx
jne 0x59ec94
mov eax, dword [esp + 0x3c]
inc al
mov dword [esp + 0x50], eax
jmp 0x59f913
cmp dword [eax + 0x68], 0
je 0x59ec28
call fcn.00582500
jmp 0x59ec20
xor eax, eax
mov dword [edi + 4], eax
mov dword [edi], eax
and esi, 0xfffff240
or esi, 4
mov word [edi + 0x10], si
xor edi, edi
mov edx, dword [esp + 0xc]
jmp 0x59e105
test al, 2
je 0x59c3d2
lea esi, [esp + 0x180]
xor edx, edx
inc edx
mov ecx, esi
call fcn.0057b2f0
mov ecx, dword [esp + 4]
movzx ebx, word [esi + 0x10]
jmp 0x59c3d2
cmp byte [ebx], 0
je 0x5a0079
mov ecx, edi
call fcn.005a2090
test eax, eax
jne 0x5a0eb9
cmp byte [edi + 2], 0
mov ecx, dword [esp + 4]
je 0x5a0076
mov word [esi + 0x10], 1
jmp 0x59df8f
xorpd xmm0, xmm0
xorpd xmm1, xmm1
cmpneqsd xmm1, xmm0
movd ebx, xmm1
and ebx, 1
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x24]
lea ecx, [ecx + eax*8]
movzx edx, word [ecx + 0x10]
test dl, 0x24
je 0x59ed7c
mov esi, dword [esp + 0x5c]
mov edx, dword [ecx]
xor eax, eax
or edx, dword [ecx + 4]
setne al
jmp 0x59edb5
mov esi, dword [esp + 0x5c]
mov eax, 2
test dl, 1
jne 0x59edb5
test dl, 8
jne 0x59ed9b
test dl, 0x12
je 0x59eda1
call fcn.005937a0
jmp 0x59eda5
movsd xmm0, qword [ecx]
jmp 0x59eda5
xorpd xmm0, xmm0
xorpd xmm1, xmm1
cmpneqsd xmm1, xmm0
movd eax, xmm1
and eax, 1
lea ecx, [ebx + ebx*2]
add ecx, eax
mov edi, dword [esp + 4]
cmp byte [edi], 0x2a
mov eax, 0x71872c
mov edx, 0x718735
cmove edx, eax
mov al, byte [edx + ecx]
mov ecx, dword [edi + 0xc]
cmp al, 2
mov dword [esp + 0x5c], esi
jne 0x59edf9
lea eax, [ecx + ecx*4]
mov ecx, 0xfffff240
mov edx, dword [esp + 0x24]
and ecx, dword [edx + eax*8 + 0x10]
or ecx, 1
mov word [edx + eax*8 + 0x10], cx
jmp 0x59fca2
lea ecx, [ecx + ecx*4]
movzx eax, al
mov edx, dword [esp + 0x24]
mov dword [edx + ecx*8], eax
mov dword [edx + ecx*8 + 4], 0
mov eax, 0xfffff240
and eax, dword [edx + ecx*8 + 0x10]
or eax, 4
mov word [edx + ecx*8 + 0x10], ax
jmp 0x59fca2
mov esi, eax
mov ecx, eax
xor edx, edx
call fcn.00576290
mov ebx, eax
test eax, eax
je 0x59ee42
push esi
push edi
push ebx
call fcn.00670ee0
add esp, 0xc
jmp 0x59ee44
xor ebx, ebx
mov eax, dword [esp + 0x6c]
mov dword [eax], ebx
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 8]
test edi, edi
je 0x59eeca
cmp dword [0x72dce0], 0
je 0x5a0c1a
mov ebx, dword [0x73ee00]
test ebx, ebx
je 0x59ee7e
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov edi, dword [0x73ee00]
test edi, edi
je 0x59eeca
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [eax + 8], 0
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5a16e2
mov ecx, dword [ebx + 0x28]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x2c]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov dword [esp + 0x10], 0
test eax, eax
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jne 0x59d105
jmp case.0x59499c.9
mov dword [esp + 0x34], eax
mov ecx, eax
xor edx, edx
call fcn.00576290
mov edi, eax
test eax, eax
je 0x59ef3b
push dword [esp + 0x34]
push esi
push edi
call fcn.00670ee0
add esp, 0xc
jmp 0x59ef3d
xor edi, edi
mov eax, dword [esp + 0x6c]
mov dword [eax], edi
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 8]
test esi, esi
je 0x59efc3
cmp dword [0x72dce0], 0
je 0x5a0c25
mov edi, dword [0x73ee00]
test edi, edi
je 0x59ef77
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
je 0x59efc3
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [eax + 8], 0
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x194], 0
jle 0x59f02e
xor eax, eax
cmp dword [esp + 0x14], 0
je 0x5a0c11
mov ecx, dword [edi]
mov edx, ecx
not edx
test edx, 0x202
mov esi, dword [esp + 8]
mov edx, dword [esp + 0x24]
jne 0x59fac9
cmp byte [edx + ebx*8 + 0x12], 1
jne 0x59fac9
mov eax, dword [edx + ebx*8 + 8]
push eax
push 0x7048ef
push esi
call fcn.00592ac0
add esp, 0xc
mov eax, dword [esp + 0x194]
mov dword [esp + 0x28], eax
jmp 0x59f032
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
test byte [edi], 2
mov eax, dword [esp + 0x24]
lea eax, [eax + ebx*8 + 0x12]
jne 0x59f04f
mov bl, byte [esp + 0x33]
mov byte [eax], bl
jmp 0x59f06d
mov bl, byte [esp + 0x33]
cmp byte [eax], bl
je 0x59f06d
movzx edx, byte [esp + 0x33]
mov ecx, dword [esp + 0x14]
call fcn.005941f0
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x28]
jmp 0x5a0a19
cmp bl, 4
jne 0x59f093
mov ecx, esi
mov edx, 2
call fcn.005a6760
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x59b287
jmp 0x59fdc8
lea edi, [esi + 0x74]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
mov ecx, dword [edi]
cmp byte [ecx + 8], 0
jne 0x59bf2e
movsx eax, byte [esi + 0x44]
cmp eax, 0x13
jge 0x5a114d
mov edx, dword [ecx + 0x40]
movzx ebx, word [esi + 0x46]
mov dword [esp + 0x18], ebx
movzx edx, word [edx + ebx*2]
mov ebx, dword [esp + 0x14]
rol dx, 8
movzx edi, word [ecx + 0x1a]
and edx, edi
mov ecx, dword [ecx + 0x38]
mov edx, dword [ecx + edx]
xor ecx, ecx
mov word [esi + 0x32], cx
and byte [esi + 1], 0xf9
mov edi, dword [esp + 0x18]
mov word [esi + eax*2 + 0x48], di
mov eax, dword [esi + 0x74]
movsx edi, byte [esi + 0x44]
mov dword [esi + edi*4 + 0x78], eax
mov edi, dword [esp + 0x10]
mov word [esi + 0x46], cx
inc byte [esi + 0x44]
bswap edx
movzx eax, byte [esi + 2]
mov ecx, dword [esi + 0x14]
push eax
push esi
push edi
call fcn.005a7ff0
add esp, 0xc
test eax, eax
mov edx, dword [esp + 0xc]
je 0x59f0ab
jmp 0x59caa7
mov eax, dword [esi + 8]
xor ecx, ecx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ecx
test eax, eax
je 0x59fe6c
mov dword [esp + 0x18], edx
xor edi, edi
inc edi
mov ebx, eax
mov eax, dword [eax + 8]
lea ecx, [esp + 0x180]
mov dword [ecx], eax
mov dword [ebx + 0xc], esi
mov esi, ecx
mov edx, edi
call fcn.005b1df0
mov dword [ebx + 8], eax
inc edi
mov eax, dword [esi]
mov esi, ebx
test eax, eax
jne 0x59f14f
mov eax, dword [esp + 0x18]
mov dword [eax + 0xc], ebx
jmp 0x59fecb
movsd xmm0, qword [edi]
mov esi, ecx
call fcn.00593ea0
mov ecx, esi
mov edi, eax
mov esi, edx
jmp 0x59fae7
mov edx, dword [esp + 0x28]
jmp 0x5a034c
cmp eax, ecx
sbb esi, edx
mov edi, dword [esp + 0x28]
jl 0x59b835
movd xmm1, dword [esp + 0x14]
movd xmm2, edx
punpckldq xmm1, xmm2
movq qword [esp + 0x108], xmm1
fild qword [esp + 0x108]
fstp qword [esp + 0x100]
movsd xmm1, qword [esp + 0x100]
ucomisd xmm0, xmm1
mov al, 1
ja 0x59be83
ucomisd xmm1, xmm0
ja 0x59b835
xor eax, eax
jmp 0x59be83
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x38]
cmp dword [eax + 0x40], 0
je 0x59f21a
lea eax, [esp + 0x130]
push str.incremental_vacuum_enabled_with_a_max_rootpage_of_zero
push eax
call fcn.005b10b0
add esp, 8
mov eax, dword [edi + 4]
and dword [eax + 0x20], 0xffdfffff
mov eax, dword [esp + 0x140]
test esi, esi
jle 0x59f2a4
test eax, eax
je 0x59f2a4
xor edi, edi
inc edi
mov dword [esp + 0x14], ebx
mov edx, dword [ebx + edi*4]
test edx, edx
je 0x59f29b
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x11], 0
je 0x59f26d
cmp dword [esp + 0x28], 0
je 0x59f26d
cmp edx, 1
je 0x59f26d
lea ecx, [esp + 0x130]
push 0
push 1
call fcn.005b11a0
add esp, 8
mov edx, dword [ebx + edi*4]
lea eax, [esp + 0x128]
lea esi, [esp + 0x130]
mov ecx, esi
mov ebx, 0x7fffffff
push ebx
xor ebx, ebx
dec ebx
push ebx
push eax
call fcn.005b1250
add esp, 0xc
mov eax, dword [esi + 0x10]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
cmp edi, esi
jge 0x59f2a4
inc edi
test eax, eax
jne 0x59f23a
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x24], edx
mov edx, dword [esp + 0x40]
mov dword [ecx + 0x20], edx
cmp dword [esp + 0x28], 0
je 0x59f417
cmp dword [esp + 0x13c], 0
je 0x59f417
test eax, eax
je 0x59f417
mov edi, 2
lea ebx, [edi - 1]
mov eax, dword [esp + 0x138]
mov esi, ebx
shr esi, 3
mov ecx, ebx
and cl, 7
xor edx, edx
inc edx
shl edx, cl
movzx eax, byte [eax + esi]
mov ecx, ebx
and ecx, 7
bt eax, ecx
jb 0x59f399
xor eax, eax
cmp ebx, 2
mov dword [esp + 0x10], edx
jb 0x59f35d
mov eax, 0xcccccccd
mov ecx, dword [esp + 0x18]
mul dword [ecx + 0x28]
mov ecx, edx
shr ecx, 2
inc ecx
lea eax, [edi - 3]
mov dword [esp + 0x28], eax
xor edx, edx
div ecx
sub dword [esp + 0x28], edx
mov eax, dword [0x72ddf8]
xor edx, edx
mov ecx, dword [esp + 0x18]
div dword [ecx + 0x24]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
lea ecx, [eax + 1]
xor edx, edx
cmp ecx, dword [esp + 0x14]
sete dl
add eax, edx
add eax, 2
cmp ebx, eax
jne 0x59f36f
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x11], 0
jne 0x59f3ff
lea eax, [esp + 0x130]
push ebx
push str.Page__d_is_never_used
push eax
call fcn.005b10b0
add esp, 0xc
lea eax, [esp + 0x130]
mov eax, dword [eax + 8]
movzx eax, byte [eax + esi]
test dword [esp + 0x10], eax
je 0x59f3ff
xor eax, eax
cmp ebx, 2
jb 0x59f3db
mov eax, 0xcccccccd
mov ecx, dword [esp + 0x18]
mul dword [ecx + 0x28]
mov esi, edx
shr esi, 2
inc esi
lea ecx, [edi - 3]
mov eax, ecx
xor edx, edx
div esi
sub ecx, edx
mov eax, dword [0x72ddf8]
xor edx, edx
mov esi, dword [esp + 0x18]
div dword [esi + 0x24]
lea esi, [ecx + 1]
xor edx, edx
cmp esi, eax
sete dl
lea eax, [edx + ecx]
add eax, 2
cmp ebx, eax
jne 0x59f3ff
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x11], 0
je 0x59f3ff
lea eax, [esp + 0x130]
push ebx
push str.Pointer_map_page__d_is_referenced
push eax
call fcn.005b10b0
add esp, 0xc
cmp edi, dword [esp + 0x13c]
ja 0x59f417
inc edi
cmp dword [esp + 0x140], 0
jne 0x59f2df
mov ecx, dword [esp + 0x174]
call fcn.005864e0
mov esi, dword [esp + 0x138]
test esi, esi
je 0x59f4a3
cmp dword [0x72dce0], 0
je 0x5a0ba2
mov edi, dword [0x73ee00]
test edi, edi
je 0x59f457
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
je 0x59f4a3
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ebx, dword [esp + 0x144]
test ebx, ebx
je 0x59f4f7
mov eax, dword [esp + 0x160]
test eax, eax
mov esi, dword [esp + 0x34]
je 0x59f4ea
mov ecx, dword [esp + 0x16c]
mov byte [eax + ecx], 0
cmp dword [esp + 0x168], 0
je 0x59f4ea
test byte [esp + 0x171], 4
jne 0x59f4ea
lea ecx, [esp + 0x15c]
call fcn.005800a0
jmp 0x59f4f1
mov eax, dword [esp + 0x160]
mov dword [esp + 0x18], eax
jmp 0x59f52e
test byte [esp + 0x171], 4
mov esi, dword [esp + 0x34]
je 0x59f526
mov edx, dword [esp + 0x160]
test edx, edx
je 0x59f526
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x15c]
call fcn.0057fe10
jmp 0x59f52e
mov dword [esp + 0x18], 0
lea esi, [esi + esi*4]
mov eax, dword [esp + 0x24]
lea edi, [eax + esi*8]
mov eax, dword [esp + 0x148]
mov dword [esp + 0x10], eax
test byte [edi + 0x11], 0x90
je 0x59f552
mov ecx, edi
call fcn.005930a0
jmp 0x59f558
mov word [edi + 0x10], 1
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
test ebx, ebx
je 0x59f5a7
cmp dword [esp + 0x10], 0
jne 0x5a1607
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
lea eax, [eax + ecx*8]
dec ebx
mov ecx, ebx
sar ecx, 0x1f
sub dword [eax], ebx
sbb dword [eax + 4], ecx
xor eax, eax
dec eax
mov ecx, edi
mov edx, dword [esp + 0x18]
push fcn.00669d80
push 1
push eax
push eax
call fcn.0057ab10
add esp, 0x10
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
test byte [edi + 0x10], 2
mov eax, dword [esp + 0x24]
lea eax, [eax + esi*8 + 0x12]
jne 0x59f5c4
mov bl, byte [esp + 0x33]
mov byte [eax], bl
mov esi, dword [esp + 8]
jmp 0x59d109
mov bl, byte [esp + 0x33]
cmp byte [eax], bl
mov esi, dword [esp + 8]
je 0x59d109
movzx edx, bl
mov ecx, edi
call fcn.005941f0
mov ecx, dword [esp + 4]
jmp 0x59d105
xor eax, eax
xor edx, edx
not edx
not eax
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x59f90f
xor eax, eax
xor edx, edx
div dword [ecx + 8]
mov ecx, dword [esp + 0x18]
lea eax, [ecx + edx*8]
lea edx, [ecx + edx*8]
add edx, 4
mov ecx, dword [esp + 0xc]
mov ebx, dword [eax]
mov eax, 0x73ef80
test ebx, ebx
je 0x59f66b
mov dword [esp + 0x28], ebx
mov edx, dword [edx]
mov dword [esp + 0x18], edx
mov ebx, dword [edx + 0xc]
xor edx, edx
movzx eax, byte [ebx + edx]
movzx ecx, byte [edi + edx]
cmp al, cl
jne 0x59f63d
test eax, eax
jne 0x59f64b
jmp 0x59f663
mov al, byte [eax + 0x717d00]
cmp al, byte [ecx + 0x717d00]
jne 0x59f64e
inc edx
jmp 0x59f62b
dec dword [esp + 0x28]
mov edx, dword [esp + 0x18]
jne 0x59f620
mov ecx, dword [esp + 0xc]
mov eax, 0x73ef80
jmp 0x59f66b
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 8]
test eax, eax
je 0x59745f
mov edx, dword [eax + 0x38]
test edx, edx
je 0x59745f
cmp edx, esi
je 0x59fcd4
mov eax, edx
mov edx, dword [edx + 0x20]
test edx, edx
je 0x59745f
cmp edx, esi
jne 0x59f689
add eax, 0x20
jmp 0x59fcd7
xor esi, esi
jmp 0x59c717
mov eax, dword [esp + 4]
cmp word [eax + 2], 0
mov ecx, dword [esp + 0x14]
cmovne ecx, eax
mov esi, dword [esp + 8]
mov dword [esp + 0x10], 0
jmp 0x59e7ec
inc ecx
xor eax, eax
dec eax
lea esi, [esp + 0x180]
mov dword [esi + 4], eax
mov dword [esi], eax
mov edx, esi
call fcn.0058a250
xor eax, eax
cmp eax, dword [esi + 4]
sbb eax, eax
or eax, dword [esi]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
cmp eax, 7
je 0x59f709
lea ecx, [eax - 1]
cmp ecx, 8
ja 0x59f709
and byte [edx + 0x3c], 1
jmp 0x59f71d
cmp eax, 0xb
jl 0x59f719
and eax, 1
je 0x59f719
and byte [edx + 0x3c], 2
jmp 0x59f71d
mov byte [edx + 0x3c], 0
mov edx, dword [esi + ebx*8 + 0xc]
cmp edx, 0x80
mov dword [esp + 0x34], edx
jae 0x59f732
xor esi, esi
inc esi
jmp 0x59f75f
mov eax, edx
sar eax, 0x1f
xor esi, esi
inc esi
mov ecx, eax
mov edi, eax
shld edi, edx, 0x19
shr ecx, 7
inc esi
mov dword [esp + 0x18], esi
xor ebx, ebx
mov esi, 0x3fff
cmp esi, edx
mov esi, dword [esp + 0x18]
sbb ebx, eax
mov edx, edi
mov eax, ecx
jb 0x59f73c
mov ebx, dword [esp + 0x34]
lea edi, [ebx + 8]
add esi, ebx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov dword [esp + 0x28], 0
test eax, eax
je 0x59f7b9
cmp dword [ecx + 0x28], 0
je 0x59f790
mov edx, dword [ecx + 0x30]
test edx, edx
je 0x59f7b9
add edx, edi
cmp edx, eax
jg 0x59f7a4
jmp 0x59f7b9
mov edx, dword [ecx + 0x2c]
cmp edx, eax
jg 0x59f7a4
cmp edx, dword [ecx]
jle 0x59f7b9
mov eax, dword [0x73ee18]
test eax, eax
je 0x59f7b9
call fcn.005adf90
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [ecx + 0x2c], eax
mov dword [ecx + 0x30], eax
add dword [ecx + 0x2c], esi
cmp esi, dword [ecx + 8]
jle 0x59f7c4
mov dword [ecx + 8], esi
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x18], eax
test eax, eax
je 0x59f892
mov edx, dword [ecx + 0x30]
mov eax, dword [ecx + 0x34]
add edi, edx
cmp edi, eax
jle 0x59f8b4
mov edx, eax
sar edx, 0x1f
mov ebx, dword [ecx + 0x24]
mov ecx, edi
sar ecx, 0x1f
shld edx, eax, 1
add eax, eax
cmp eax, edi
mov esi, edx
sbb esi, ecx
jl 0x59f7eb
xor esi, esi
cmp ebx, 1
sbb esi, esi
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x10]
mov esi, dword [esi + 4]
mov dword [esp + 0x48], ebx
mov ebx, esi
sar ebx, 0x1f
mov dword [esp + 0x3c], ebx
cmp eax, esi
mov dword [esp + 0x38], esi
mov ebx, dword [esp + 0x38]
cmovb ebx, eax
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x3c]
cmp edx, ebx
cmovl esi, eax
cmove esi, dword [esp + 0x38]
cmovl ebx, edx
cmp esi, edi
mov eax, edi
cmova eax, esi
cmp ebx, ecx
cmovle esi, edi
cmove esi, eax
cmovle ebx, ecx
mov edi, dword [esp + 0x18]
mov ecx, edi
mov edx, esi
push ebx
call fcn.00576440
add esp, 4
test eax, eax
je 0x5a16dd
mov ecx, dword [esp + 0x48]
sub ecx, edi
mov edx, dword [esp + 0x40]
or edx, ecx
mov ecx, dword [esp + 0x10]
js 0x59f881
add edx, eax
mov dword [ecx + 0x24], edx
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x34], esi
mov edx, dword [ecx + 0x30]
mov edi, eax
mov ebx, dword [esp + 0x34]
jmp 0x59f8b8
mov edx, edi
sar edx, 0x1f
mov ecx, edi
call fcn.00576290
test eax, eax
je 0x5a16dd
mov esi, eax
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x24]
mov dword [esi + 4], eax
jmp 0x59f8d4
mov edi, dword [esp + 0x18]
lea esi, [edi + edx]
add ebx, 0xf
and ebx, 0xfffffff8
add ebx, edx
mov dword [ecx + 0x30], ebx
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x59f8d2
sub eax, edi
mov dword [esi + 4], eax
mov ebx, ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
lea edi, [eax + ecx*8]
add edi, 8
lea eax, [esi + 8]
push dword [edi + 4]
push dword [edi]
push eax
call fcn.00670ee0
add esp, 0xc
mov eax, dword [edi + 4]
mov dword [esi], eax
mov dword [ebx + 0x24], esi
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x5a16e2
mov dword [esp + 0x10], 0
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jmp case.0x59499c.89
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0x57], 0
je 0x59fffb
mov dword [edi], 0
jmp 0x59fecf
movsd xmm0, qword [ecx]
jmp 0x5a002c
pxor xmm0, xmm0
jmp 0x59b753
mov ecx, ebx
call fcn.005a2000
xor ecx, ecx
test eax, eax
je 0x59cb32
jmp 0x5a16e6
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x30]
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
cmp dword [ecx + 0x68], edx
jge 0x59f989
cmp byte [ecx + 6], 0
mov ebx, 0
je 0x59f98b
call fcn.0058ca00
mov edi, dword [esp + 0xc]
mov ebx, eax
jmp 0x59f98b
xor ebx, ebx
mov dword [esp + 0x10], ebx
movsd xmm0, qword [edi + 0x1f0]
mov esi, dword [esp + 8]
movsd qword [esi + 0x48], xmm0
movq xmm0, qword [edi + 0x1f8]
movq qword [esi + 0x50], xmm0
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
test eax, eax
mov edx, dword [esp + 0xc]
jne 0x59487d
cmp word [ecx + 2], 0
je 0x5a0a97
mov eax, dword [esp + 0x180]
cmp eax, dword [ecx + 0xc]
jne 0x5a12b9
mov eax, dword [edi + ebx + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x10]
je 0x5a0a97
jmp 0x5a12b9
mov edi, ebx
movzx ebx, byte [ecx + 2]
test bl, bl
js 0x5a0110
shl eax, 0xe
or eax, ebx
and eax, 0x1fc07f
and edx, 0x7f
shl edx, 7
or edx, eax
mov eax, dword [esp + 0x18]
mov dword [eax], edx
mov al, 3
jmp 0x5a0135
test edi, edi
jns 0x59b84e
xor eax, eax
xor ecx, ecx
dec ecx
add ecx, 1
adc eax, 0x7fffffff
mov edx, esi
xor edx, eax
or edx, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
je 0x59db5b
xor ecx, edx
xor eax, edi
or eax, ecx
je 0x59db5b
xor eax, eax
neg edx
mov dword [esp + 0x3c], edx
mov ecx, 0
sbb ecx, edi
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x28]
neg ecx
sbb eax, esi
push eax
push ecx
push 0x7fffffff
push 0xffffffffffffffff
call fcn.0068c7b0
cmp eax, dword [esp + 0x3c]
sbb edx, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
jae 0x59b84e
jmp 0x59db5b
lea ebx, [esp + 0x128]
xor esi, esi
dec esi
mov dword [ebx + 4], esi
mov dword [ebx], esi
mov ecx, edi
mov edx, ebx
call fcn.0058a250
cmp dword [ebx + 4], 0
mov ebx, esi
jne 0x59dea8
mov ebx, dword [esp + 0x128]
jmp 0x59de9f
test cl, 1
jne 0x59f012
xor edx, edx
inc edx
mov ecx, dword [esp + 0x14]
call fcn.00593420
jmp 0x59f012
xor edi, edi
xor esi, esi
movzx eax, word [ebx + 0x10]
test al, 0x24
je 0x59faf6
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
jmp 0x59fb21
test al, 8
jne 0x59fb12
test al, 0x12
je 0x59fb1d
mov eax, dword [esp + 0x48]
cmp dword [ecx + eax*8 + 8], 0
je 0x59fb1d
mov ecx, ebx
call fcn.00593ef0
jmp 0x59fb21
movsd xmm0, qword [ebx]
call fcn.00593ea0
jmp 0x59fb21
xor eax, eax
xor edx, edx
mov ecx, edi
or ecx, esi
je 0x59fb95
mov ecx, edi
and ecx, esi
mov ebx, edi
xor edi, edi
mov dword [esp + 0x28], eax
mov eax, esi
xor esi, esi
inc esi
cmp ecx, 0xffffffff
cmovne esi, ebx
cmovne edi, eax
push edi
push esi
push edx
push dword [esp + 0x34]
call fcn.00691020
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0xa0], xmm1
fild qword [esp + 0xa0]
fstp qword [esp + 0x98]
movsd xmm2, qword [esp + 0x98]
movsd qword [esp + 0x28], xmm2
sub esp, 8
movsd qword [esp], xmm2
call fcn.0067ceea
add esp, 8
cmp ax, 2
jne 0x59fbc6
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
test byte [eax + ecx*8 + 0x11], 0x90
je 0x59fbb2
mov ecx, dword [esp + 0x14]
call fcn.005930a0
jmp 0x59f90f
mov ecx, dword [esp + 0x18]
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 1
jmp 0x59f90f
mov eax, dword [esp + 0x14]
movq xmm0, qword [esp + 0x28]
movq qword [eax], xmm0
mov eax, 0xfffff240
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
and eax, dword [ecx + edx*8 + 0x10]
or eax, 8
mov word [ecx + edx*8 + 0x10], ax
jmp 0x59f90f
dec dword [esi + 0x18]
je 0x598497
dec dword [edx + 0xcc]
mov dword [esp + 0x10], 0
test ebx, ebx
je 0x59f90f
jmp 0x5a1af7
lea ecx, [esp + 0x128]
xor eax, eax
dec eax
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.0058a250
xor edx, edx
lea eax, [esp + 0x128]
cmp edx, dword [eax + 4]
sbb edx, edx
or edx, dword [eax]
jmp 0x59def7
xorpd xmm0, xmm0
mov esi, dword [esp + 0x5c]
xorpd xmm1, xmm1
cmpneqsd xmm1, xmm0
movd edx, xmm1
and edx, 1
mov eax, dword [esp + 4]
xor edx, dword [eax + 0x10]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x24]
lea ecx, [edi + eax*8]
test byte [ecx + 0x11], 0x90
mov dword [esp + 0x5c], esi
mov dword [esp + 0x50], ebx
je 0x59fc8f
mov eax, edx
sar eax, 0x1f
push eax
call fcn.005941c0
add esp, 4
jmp 0x59fca2
lea eax, [edi + eax*8]
add eax, 0x10
mov dword [ecx], edx
sar edx, 0x1f
mov dword [ecx + 4], edx
mov word [eax], 4
mov ecx, dword [esp + 4]
mov esi, dword [esp + 8]
add ecx, 0x14
jmp 0x59497c
xorpd xmm0, xmm0
xorpd xmm1, xmm1
cmpneqsd xmm1, xmm0
movd eax, xmm1
and eax, 1
mov ecx, dword [esp + 4]
test eax, eax
jne 0x59e7ec
jmp case.0x59499c.89
add eax, 0x38
mov edx, dword [esi + 0x20]
mov dword [eax], edx
jmp 0x59745f
mov eax, 7
cmp byte [esi + 0x57], 0
mov edx, esi
mov ecx, dword [esp + 4]
jne 0x5a08ea
mov ecx, edx
mov edx, dword [esp + 0x10]
push ebx
call fcn.00580000
add esp, 4
jmp 0x5a082c
mov ecx, dword [esi + 0x40]
mov ecx, dword [ecx]
cmp dword [ecx], 2
jl 0x59b285
cmp dword [ecx + 0x34], 0
je 0x59b285
cmp bl, 5
je 0x59b285
xor ecx, ecx
mov edx, dword [esp + 0xc]
jmp 0x59b8cc
mov dword [esp + 0x180], 0
movzx eax, byte [esi + 0x12]
cmp eax, 5
je 0x59fd4e
test eax, eax
jne 0x59fd60
cmp byte [esi + 0xd], 0
je 0x5a0aa4
cmp al, 5
je 0x59fd60
mov byte [esi + 0x12], 1
mov eax, dword [esi]
mov dword [esp + 0x38], eax
mov ecx, dword [esi + 0xec]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x20]
call dword [section..00cfg]
lea eax, [esp + 0x180]
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x44]
call ecx
add esp, 0x10
test eax, eax
jne 0x59fda5
cmp dword [esp + 0x180], 0
je 0x59fda5
mov ecx, esi
call fcn.0058c600
test eax, eax
jne 0x59b287
mov ecx, dword [esi + 0xe8]
test ecx, ecx
mov edx, dword [esp + 0xc]
jne 0x59b8f9
mov ecx, esi
mov edx, edi
call fcn.005a6760
xor edx, edx
cmp edi, 5
sete dl
inc edx
mov ecx, dword [esp + 0x34]
call fcn.00578aa0
jmp 0x59b287
xor edi, edi
cmp eax, 8
mov ecx, edi
sbb ecx, 0
jae 0x59fe00
cmp eax, 2
mov ecx, edi
sbb ecx, 0
jae 0x5a0092
xor ecx, ecx
jmp 0x5a00f0
mov cx, 0x28
cmp eax, 0x100
mov edx, edi
sbb edx, 0
jb 0x5a00b0
mov cx, 0x28
mov esi, edi
add ecx, 0x28
mov edx, edi
shld edx, eax, 0x1c
shr esi, 4
mov dword [esp + 0x18], 0
mov ebx, 0xfff
cmp ebx, eax
sbb dword [esp + 0x18], edi
mov eax, edx
mov edi, esi
jb 0x59fe1a
jmp 0x5a00b4
push 0x718366
push 0x11fcb
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00576b00
add esp, 0x14
mov eax, 0xb
jmp 0x59d0e1
mov dword [edx + 0xc], esi
jmp 0x59fecf
inc dword [ecx + 0x1e4]
mov eax, dword [ecx + 0x1d8]
mov dword [esi + 0x18], eax
mov dword [ecx + 0x1d8], esi
movsd xmm0, qword [ecx + 0x1f0]
movsd qword [esi + 8], xmm0
movq xmm0, qword [ecx + 0x1f8]
movq qword [esi + 0x10], xmm0
mov ecx, dword [esp + 4]
mov dword [esp + 0x10], 0
mov esi, dword [esp + 8]
cmp byte [esi + 0x89], 3
jne case.0x59499c.89
jmp 0x5a170b
mov edi, esi
mov eax, dword [esp + 0x18]
mov dword [eax + 0xc], edi
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
xor eax, eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
or byte [ecx + 0x1a], 1
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x1c], eax
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x59ff28
mov dword [esp + 0x18], eax
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x59ff1f
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
cmp eax, ebx
mov edi, edx
mov esi, dword [esp + 0x14]
sbb edi, esi
jge 0x59ff0e
add ecx, 8
jmp 0x59ff1b
cmp ebx, eax
sbb esi, edx
jge 0x59a1c4
add ecx, 0xc
mov ecx, dword [ecx]
jmp 0x59fef4
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
jmp 0x59fee9
cmp dword [esp + 0x38], 0
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x48]
js 0x59fca6
mov ebx, dword [edx]
mov edi, dword [edx + 4]
mov ecx, dword [esp + 0x40]
mov esi, dword [eax + ecx*8 + 8]
movzx ecx, word [esi + 0x18]
test cx, cx
je 0x59ff9f
mov eax, dword [esi + 0x10]
dec ecx
mov word [esi + 0x18], cx
lea ecx, [eax + 0x10]
mov dword [esi + 0x10], ecx
test eax, eax
je 0x59f90f
mov dword [eax], ebx
mov dword [eax + 4], edi
mov dword [eax + 8], 0
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x59ff90
mov edx, dword [ecx + 4]
cmp dword [ecx], ebx
sbb edx, edi
jge 0x596d25
jmp 0x596d29
mov dword [esi + 8], eax
mov ecx, dword [esp + 4]
mov dword [esi + 0xc], eax
jmp 0x59fca6
mov ecx, dword [esi + 4]
cmp byte [ecx + 0x57], 0
jne 0x59f90f
mov edx, 0x3f8
push 0
call fcn.00580000
add esp, 4
test eax, eax
je 0x59f90f
mov ecx, dword [esi]
mov dword [eax], ecx
mov dword [esi], eax
add eax, 8
mov cx, 0x3e
jmp 0x59ff59
cmp dword [edi + 0x68], 0
je 0x5a0a68
call fcn.00582500
mov edx, dword [esp + 0xc]
mov dword [esp + 0x28], eax
jmp 0x5a0a70
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
jmp 0x59babd
mov edx, 0x3f8
push 0
call fcn.00580000
add esp, 4
test eax, eax
je 0x59f929
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx]
mov dword [eax], edx
mov dword [ecx], eax
add eax, 8
mov dx, 0x3e
jmp 0x597d0b
xorpd xmm0, xmm0
xorpd xmm1, xmm1
cmpneqsd xmm1, xmm0
movd eax, xmm1
and eax, 1
xor al, 1
mov ecx, dword [esp + 0x24]
test byte [ecx + edi*8 + 0x11], 0x90
movzx edx, al
je 0x5a005d
mov ecx, esi
push 0
call fcn.005941c0
add esp, 4
jmp 0x59f90f
lea eax, [ecx + edi*8]
add eax, 0x10
mov dword [esi], edx
mov dword [esi + 4], 0
mov word [eax], 4
jmp 0x59f90f
mov ebx, dword [edi + 0x2c]
mov ecx, ebx
call fcn.0058dbc0
add ebx, 0x20
mov edi, ebx
mov dword [esp + 0x10], 0
jmp 0x59a790
mov cx, 0x28
mov edx, edi
add ecx, 0xfffffff6
shld edx, eax, 1
cmp eax, 4
lea eax, [eax + eax]
sbb edi, 0
mov edi, edx
jb 0x5a0098
mov edx, eax
jmp 0x5a00e2
mov edx, eax
mov esi, edi
cmp edx, 0x10
mov eax, esi
sbb eax, 0
jb 0x5a00e2
mov eax, edx
mov dword [esp + 0x18], edx
add ecx, 0xa
mov edx, esi
shld edx, eax, 0x1f
mov edi, esi
shr edi, 1
xor ebx, ebx
mov eax, 0x1f
cmp eax, dword [esp + 0x18]
sbb ebx, esi
mov esi, edi
jb 0x5a00be
and edx, 7
add cx, word [edx + edx + 0x71fde6]
add ecx, 0xfffffff6
movsx eax, cx
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 4]
cmp dword [ecx + 0xc], eax
jmp 0x595a63
xor ebx, ebx
xor esi, esi
jmp 0x59e811
lea ebx, [esp + 0x130]
xor eax, eax
dec eax
mov dword [ebx + 4], eax
mov dword [ebx], eax
mov edx, ebx
call fcn.0058a250
xor ecx, ecx
cmp ecx, dword [ebx + 4]
sbb ecx, ecx
or ecx, dword [ebx]
mov edx, dword [esp + 0x18]
mov dword [edx], ecx
mov ebx, edi
movzx edx, al
mov edi, dword [esp + 0x54]
mov dword [ebx + 0x34], edx
mov word [ebx + 0x3e], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov dword [esp + 0x38], ecx
cmp dword [ebx + 0x54], ecx
jae 0x5a017f
xor edx, edx
mov dword [ebx + 0x4c], edx
mov dword [ebx + 0x54], edx
mov eax, dword [eax]
cmp eax, 0x18003
ja 0x5a0584
cmp eax, dword [ebx + 0x50]
ja 0x5a0584
xor eax, eax
mov edx, dword [esp + 0x28]
jmp 0x59c8ac
mov dword [esp + 0x54], edi
mov dword [esp + 0x14], ebx
mov ecx, dword [ebx + 0x4c]
xor eax, eax
movzx esi, ax
mov eax, dword [esp + 0x18]
mov edi, dword [eax + esi*4]
xor ebx, ebx
add edx, ecx
mov dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
movzx ecx, byte [edx]
mov eax, dword [esp + 0x14]
mov dword [eax + esi*4 + 0x58], ecx
test cl, cl
js 0x5a01b7
inc edx
jmp 0x5a024d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
test al, al
js 0x5a01ce
and ecx, 0x7f
shl ecx, 7
or ecx, eax
mov al, 2
jmp 0x5a022d
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], edx
movzx ecx, byte [edx + 2]
test cl, cl
js 0x5a01fb
mov edx, dword [esp + 0x34]
shl edx, 0xe
or edx, ecx
mov ecx, edx
and ecx, 0x1fc07f
and eax, 0x7f
shl eax, 7
or ecx, eax
mov al, 3
jmp 0x5a0229
lea ecx, [esp + 0x130]
xor eax, eax
dec eax
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov edx, ecx
mov ecx, dword [esp + 0x3c]
call fcn.0058a250
lea ecx, [esp + 0x130]
cmp dword [ecx + 4], 0
jne 0x5a0281
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x3c]
movzx eax, al
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [eax + esi*4 + 0x58], ecx
cmp ecx, 0x80
jb 0x5a024d
mov dword [esp + 0x34], ecx
lea eax, [ecx - 0xc]
shr eax, 1
jmp 0x5a0258
mov dword [esp + 0x34], ecx
movzx eax, byte [ecx + 0x718777]
xor ecx, ecx
add edi, eax
adc ebx, ecx
lea eax, [esi + 1]
mov ecx, dword [esp + 0x18]
mov dword [ecx + esi*4 + 4], edi
cmp esi, dword [esp + 0x28]
mov ecx, dword [esp + 4]
jae 0x5a029b
mov esi, eax
cmp edx, dword [esp + 0x38]
jb 0x5a01a2
jmp 0x5a029b
movzx eax, al
mov edx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [eax + esi*4 + 0x58], 0xffffffff
xor ecx, ecx
dec ecx
jmp 0x5a0242
mov dword [esp + 0x3c], edx
cmp edx, dword [esp + 0x38]
jae 0x5a02c0
xor ecx, ecx
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x50], edi
mov edx, dword [esp + 0x28]
sbb ecx, ebx
mov ecx, dword [esp + 4]
mov esi, dword [esp + 8]
jb 0x5a02d9
jmp 0x5a0307
mov esi, dword [esp + 8]
mov edx, dword [esp + 0x28]
ja 0x5a02d9
mov edx, dword [esp + 0x14]
xor edi, dword [edx + 0x50]
mov edx, dword [esp + 0x28]
or edi, ebx
je 0x5a0307
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
je 0x5a02fd
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x4c], 0
je 0x5a055c
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x54]
jmp 0x5a0588
xor eax, eax
mov edi, dword [esp + 0x38]
mov dword [esp + 0x3c], edi
mov ebx, dword [esp + 0x14]
mov word [ebx + 0x3e], ax
mov edi, dword [esp + 0x3c]
sub edi, dword [esp + 0x40]
mov dword [ebx + 0x34], edi
cmp dword [ebx + 0x4c], 0
jne 0x5a034c
test byte [esp + 0x191], 0x90
jne 0x5a0334
cmp dword [esp + 0x198], 0
je 0x5a034c
lea ecx, [esp + 0x180]
call fcn.00593060
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 4]
movzx eax, word [ebx + 0x3e]
movzx eax, ax
cmp edx, eax
jae 0x5a0423
mov dword [esp + 0x14], ebx
mov eax, dword [ecx + 0xc]
lea ebx, [eax + eax*4]
mov eax, dword [esp + 0x24]
lea edi, [eax + ebx*8]
test byte [edi + 0x11], 0x90
je 0x5a0379
mov ecx, edi
call fcn.005930a0
mov ecx, dword [esp + 4]
mov dword [esp + 0x38], edi
mov eax, dword [esp + 0x24]
lea eax, [eax + ebx*8]
add eax, 0x10
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0x54]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
cmp eax, dword [edx + edi*4 + 4]
jae 0x5a03ff
mov al, byte [esp + 0x33]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x3c]
mov byte [edx + ebx*8 + 0x12], al
movzx eax, word [ecx + 2]
test al, 0xc0
mov edi, dword [esp + 0x38]
je 0x5a03e6
mov edx, dword [esp + 0x34]
cmp edx, 0xc
setae cl
test dl, 1
sete dl
test cl, dl
jne 0x5a0541
and eax, 0x80
test ax, ax
jne 0x5a0541
mov eax, dword [esp + 0x34]
cmp eax, 0x80
jb 0x5a04df
add eax, 0xfffffff4
shr eax, 1
jmp 0x5a04ea
mov ecx, dword [ebx + 0x4c]
add ecx, dword [edx + edi*4]
mov edx, dword [esp + 0x34]
cmp edx, 0xb
ja 0x5a0459
push dword [esp + 0x38]
call fcn.005a2200
mov ecx, dword [esp + 8]
add esp, 4
jmp 0x59fca6
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edx, ecx
mov edi, dword [esp + 0x24]
lea ecx, [edi + eax*8]
cmp byte [edx + 1], 0xf6
jne 0x5a04c4
mov edx, dword [edx + 0x10]
test byte [edi + eax*8 + 0x11], 0x90
je 0x5a05e4
push 0x2000
call fcn.005a7650
jmp 0x599821
lea edi, [edx - 0xc]
shr edi, 1
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x3c]
mov dword [esi + ebx*8 + 0xc], edi
mov al, byte [esp + 0x33]
mov byte [esi + ebx*8 + 0x12], al
lea edx, [edi + 2]
cmp dword [esi + ebx*8 + 0x18], edx
jge 0x5a05a5
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0xc]
cmp edi, dword [eax + 0x78]
jg 0x5a1054
mov eax, dword [esp + 0x40]
mov word [eax], 1
mov ecx, dword [esp + 0x38]
push 0
call fcn.00593170
add esp, 4
test eax, eax
jne 0x5a15da
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x3c]
mov eax, dword [esi + ebx*8 + 8]
mov ecx, dword [esp + 0x18]
jmp 0x5a05ad
test byte [edi + eax*8 + 0x11], 0x90
jne 0x599a01
lea eax, [edi + eax*8]
add eax, 0x10
mov word [eax], 1
jmp 0x59f913
movzx eax, byte [eax + 0x718777]
test eax, eax
je 0x5a0541
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x78]
jg 0x5a1054
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov edx, dword [edx + ecx*4]
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x2c]
mov esi, dword [esp + 0x38]
push esi
push eax
call fcn.005a2300
add esp, 8
test eax, eax
jne 0x5a16e2
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + ebx*8 + 8]
mov edx, dword [esp + 0x34]
push esi
call fcn.005a2200
add esp, 4
and byte [edi + 1], 0xbf
jmp 0x59f907
mov ecx, 0x717e6d
mov edx, dword [esp + 0x34]
push edi
call fcn.005a2200
mov ecx, dword [esp + 8]
add esp, 4
jmp case.0x59499c.89
test byte [esp + 0x191], 0x90
mov edi, dword [esp + 0x54]
jne 0x5a0574
cmp dword [esp + 0x198], 0
je 0x5a0584
lea ecx, [esp + 0x180]
call fcn.00593060
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x5a19cf
mov dword [esp + 0x10], ecx
lea eax, [eax + eax*4]
lea ecx, [edi + eax*4]
add ecx, 0xffffffec
jmp case.0x59499c.89
mov eax, dword [esi + ebx*8 + 0x20]
mov dword [esi + ebx*8 + 8], eax
push edi
push ecx
push eax
call fcn.00670ee0
add esp, 0xc
mov eax, dword [esi + ebx*8 + 8]
xor ecx, ecx
mov byte [eax + edi], cl
mov eax, dword [esi + ebx*8 + 8]
mov byte [edi + eax + 1], cl
mov eax, dword [esp + 0x34]
and eax, 1
movzx eax, word [eax + eax + 0x71874a]
mov ecx, dword [esp + 0x40]
mov word [ecx], ax
jmp 0x59f90f
mov esi, dword [edx + 0x10]
mov dword [ecx + 0x10], esi
movdqu xmm0, xmmword [edx]
movdqu xmmword [ecx], xmm0
test byte [edx + 0x11], 0x20
jne 0x59f90f
mov ecx, dword [esp + 0x24]
lea eax, [ecx + eax*8]
add eax, 0x10
mov ecx, 0xffff8fff
and ecx, dword [eax]
or ecx, 0x2000
jmp 0x5995db
mov eax, dword [esi + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [eax]
mov ecx, dword [eax + 0x1c]
call dword [section..00cfg]
push 4
push dword [esp + 0x14]
call ecx
add esp, 8
test eax, eax
je 0x5a0ad1
mov edx, dword [esi + 0x40]
mov ecx, dword [edx]
test ecx, ecx
je 0x5a067a
mov dword [esp + 0x10], edx
cmp byte [esi + 0xd], 0
jne 0x5a0670
mov dword [esp + 0x38], edi
mov edi, eax
mov ecx, dword [ecx + 0x20]
call dword [section..00cfg]
push 1
push dword [esp + 0x14]
call ecx
mov eax, edi
mov edi, dword [esp + 0x40]
add esp, 8
cmp byte [esi + 0x12], 5
je 0x5a067a
mov byte [esi + 0x12], 1
mov cl, byte [esi + 0xc]
mov byte [esi + 0x13], cl
jmp 0x59b287
mov ebx, dword [edx + 0x16c]
imul edx, ebx, 0xcccccccd
add edx, 0x19999999
cmp edx, 0x33333332
mov ecx, dword [esp + 0xc]
ja 0x5a0b54
mov edi, ebx
sar edi, 0x1f
shld edi, ebx, 2
lea eax, [ebx*4]
add eax, 0x14
mov dword [esp + 0x18], eax
adc edi, 0
mov eax, dword [ecx + 0x184]
test eax, eax
je 0x5a0ae0
cmp dword [ecx + 0x15c], eax
jbe 0x5a0b19
cmp dword [ecx + 0x154], eax
jbe 0x5a0b06
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x158], eax
ja 0x5a0b19
mov ecx, dword [esp + 0xc]
movzx edx, word [ecx + 0x12e]
xor esi, esi
cmp edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
sbb esi, edi
jb 0x5a0b19
jmp 0x5a0b36
mov dword [esp + 0x10], eax
mov ecx, eax
xor edx, edx
call fcn.00576290
test eax, eax
je 0x5a073e
push dword [esp + 0x10]
push ebx
push eax
mov ebx, eax
call fcn.00670ee0
mov edx, ebx
add esp, 0xc
jmp 0x5a0740
xor edx, edx
mov eax, dword [esp + 0x6c]
mov dword [eax], edx
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
test eax, eax
je 0x5a07ce
cmp dword [0x72dce0], 0
je 0x5a0c30
mov dword [esp + 0x10], eax
mov ebx, dword [0x73ee00]
test ebx, ebx
je 0x5a077e
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
mov ebx, dword [esp + 0x10]
push ebx
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov ebx, dword [0x73ee00]
test ebx, ebx
je 0x5a07ce
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [eax + 8], 0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], 0
test eax, eax
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
je 0x59a794
jmp 0x5a0ec1
call fcn.0058cf70
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0xc]
jmp 0x5a0a70
cmp dword [esp + 0x10], 0x81
mov ecx, ebx
sbb ecx, 0
jb 0x5a083e
mov ecx, esi
mov edx, eax
push ebx
push dword [esp + 0x14]
call fcn.0057ff60
add esp, 8
test eax, eax
je 0x5a0a26
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x16c]
pxor xmm0, xmm0
movdqu xmmword [eax + edx*4], xmm0
mov dword [eax + edx*4 + 0x10], 0
mov dword [esi + 0x184], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x38]
mov esi, dword [edi + 8]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
test eax, eax
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
jne 0x5a08ea
mov eax, dword [edx + 0x1e4]
mov ecx, dword [edx + 0x16c]
mov esi, edx
mov edx, dword [edx + 0x184]
lea ebx, [ecx + 1]
mov dword [esi + 0x16c], ebx
mov ebx, dword [esi + 0x1e8]
mov dword [edx + ecx*4], edi
inc dword [edi + 0xc]
add ebx, eax
je 0x5a08e0
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x50], 0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov eax, 0
je 0x5a08ea
mov dword [edi + 0x14], ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x50]
dec ebx
mov esi, dword [edi + 8]
call dword [section..00cfg]
push ebx
push esi
call ecx
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
add esp, 8
jmp 0x5a08ea
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
xor eax, eax
test edi, edi
je 0x5a094b
mov ebx, dword [edi + 8]
mov esi, dword [esp + 8]
mov dword [esp + 0x18], ebx
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x5a0a11
mov dword [esp + 0x28], eax
mov edi, dword [esi]
mov edx, dword [esi + 0x7c]
test edx, edx
je 0x5a0923
mov ecx, edi
call fcn.0057fe10
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x5a0972
push ebx
call fcn.00687040
add esp, 4
inc eax
test edi, edi
je 0x5a0954
xor esi, esi
cmp byte [edi + 0x57], 0
jne 0x5a0974
mov ecx, edi
mov edi, eax
mov edx, eax
push 0
call fcn.00580000
add esp, 4
jmp 0x5a095f
mov esi, dword [esp + 8]
jmp 0x5a0a11
mov edi, eax
mov ecx, eax
xor edx, edx
call fcn.00576290
mov esi, eax
test eax, eax
je 0x5a0972
push edi
push ebx
push esi
call fcn.00670ee0
add esp, 0xc
jmp 0x5a0974
xor esi, esi
mov eax, dword [esp + 0x6c]
mov dword [eax], esi
mov ebx, dword [esp + 0x18]
mov esi, dword [ebx + 8]
test esi, esi
je 0x5a09fa
cmp dword [0x72dce0], 0
je 0x5a0bf4
mov edi, dword [0x73ee00]
test edi, edi
je 0x5a09ae
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
je 0x5a09fa
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov dword [ebx + 8], 0
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], 0
test eax, eax
je case.0x59499c.89
jmp 0x59487d
mov eax, 7
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
jmp 0x5a08ea
mov word [esp + 0x190], 0x4010
mov dword [esp + 0x18c], esi
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
jmp 0x5a018c
mov dword [esp + 0x28], 0
mov edi, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x30]
mov edi, dword [edi + 0x38]
bswap ecx
mov dword [edi + 0x1c], ecx
mov eax, dword [esp + 0x28]
cmp eax, 0x65
je 0x59cacc
test eax, eax
mov ecx, dword [esp + 4]
jne 0x59487d
mov dword [esp + 0x10], 0
jmp case.0x59499c.89
mov eax, dword [esi + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [eax]
mov ecx, dword [eax + 0x1c]
call dword [section..00cfg]
push 1
push dword [esp + 0x14]
call ecx
add esp, 8
test eax, eax
jne 0x59b287
mov al, byte [esi + 0x12]
jmp 0x59fd58
mov ecx, dword [esi + 0xe8]
mov edx, dword [esp + 0xc]
jmp 0x59b911
mov eax, 7
cmp byte [ecx + 0x57], 0
mov ecx, dword [esp + 4]
jne 0x59dabf
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
push edi
call fcn.00580000
add esp, 4
jmp 0x5a0b28
cmp dword [esp + 0x18], 0x81
mov edx, edi
sbb edx, 0
mov ecx, dword [esp + 0xc]
jb 0x5a0b36
mov edx, eax
push edi
push dword [esp + 0x1c]
call fcn.0057ff60
add esp, 8
test eax, eax
je 0x5a0b98
mov ecx, dword [esp + 0xc]
mov ebx, dword [ecx + 0x16c]
pxor xmm0, xmm0
movdqu xmmword [eax + ebx*4], xmm0
mov dword [eax + ebx*4 + 0x10], 0
mov dword [ecx + 0x184], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x34]
mov edi, 0
test eax, eax
je 0x5a0b6e
cmp dword [eax], ecx
je 0x5a0b6c
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x5a0b5d
xor edi, edi
jmp 0x5a0b6e
mov edi, eax
mov eax, dword [ecx + 0x16c]
mov edx, dword [ecx + 0x184]
lea esi, [eax + 1]
mov dword [ecx + 0x16c], esi
mov dword [edx + eax*4], edi
inc dword [edi + 0xc]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
xor eax, eax
jmp 0x59dabf
mov eax, 7
jmp 0x59dab7
mov ecx, dword [0x72dd04]
jmp 0x59f497
mov ecx, dword [0x72dd04]
jmp 0x59c968
mov ecx, dword [0x72dd04]
jmp 0x59ca65
mov ecx, dword [0x72dd04]
jmp 0x59cc21
mov ecx, dword [0x72dd04]
jmp 0x596af6
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov edi, dword [esp + 0x18]
jmp 0x59dd94
mov ecx, dword [0x72dd04]
jmp 0x5a09ee
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push edi
jmp 0x5992ee
mov esi, dword [esp + 8]
jmp 0x59f012
mov ecx, dword [0x72dd04]
jmp 0x59eebe
mov ecx, dword [0x72dd04]
jmp 0x59efb7
mov ecx, dword [0x72dd04]
mov ebx, eax
jmp 0x5a07c2
mov eax, str.no_more_rows_available
jmp 0x5a0c69
mov eax, str.abort_due_to_ROLLBACK
jmp 0x5a0c69
movzx ecx, bl
mov eax, str.unknown_error
cmp ecx, 0x1c
ja 0x5a0c69
mov edx, 0x1410004
bt edx, ecx
jb 0x5a0c69
mov eax, dword [ecx*4 + 0x71fad8]
push eax
push 0x7048ef
push esi
call fcn.00592ac0
add esp, 0xc
mov edx, dword [esp + 0xc]
mov ecx, edi
mov dword [esi + 0x24], ebx
cmp ebx, 0xc0a
je 0x5a0cc1
mov eax, ebx
and eax, 0xfb
cmp eax, 0xa
jne 0x5a0cc1
mov edi, ecx
mov esi, dword [edx]
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x5a0cb6
call dword [section..00cfg]
xor eax, eax
push eax
push eax
push esi
call ecx
mov edx, dword [esp + 0x18]
add esp, 0xc
jmp 0x5a0cb8
xor eax, eax
mov dword [edx + 0x4c], eax
mov esi, dword [esp + 8]
mov ecx, edi
sub ecx, dword [esp + 0x54]
sar ecx, 2
imul eax, ecx, 0xcccccccd
push dword [esi + 0x7c]
push dword [esi + 0xbc]
push eax
push str.statement_aborts_at__d:___s___s
push ebx
call fcn.00576b00
add esp, 0x14
cmp byte [esi + 0x89], 2
jne 0x5a0cf6
mov ecx, esi
call fcn.00590ad0
cmp ebx, 0xb
mov edx, dword [esp + 0xc]
je 0x5a0d86
cmp ebx, 0xc0a
jne 0x5a0d90
cmp byte [edx + 0x57], 0
jne 0x5a0d90
cmp byte [edx + 0x58], 0
jne 0x5a0d90
mov byte [edx + 0x57], 1
cmp dword [edx + 0xc8], 0
jle 0x5a0d32
mov dword [edx + 0x120], 1
inc dword [edx + 0x128]
mov word [edx + 0x12c], 0
mov eax, dword [edx + 0x104]
test eax, eax
je 0x5a0d90
push str.out_of_memory
push eax
call fcn.0057bd30
mov edx, dword [esp + 0x14]
add esp, 8
mov eax, dword [edx + 0x104]
mov dword [eax + 0xc], 7
mov eax, dword [edx + 0x104]
mov eax, dword [eax + 0xb4]
test eax, eax
je 0x5a0d90
inc dword [eax + 0x24]
mov dword [eax + 0xc], 7
jmp 0x5a0d70
cmp byte [edx + 0x55], 0
jne 0x5a0d90
or byte [edx + 0x24], 2
xor ebx, ebx
inc ebx
mov eax, dword [esp + 0x50]
test al, al
je 0x5a0df8
movzx eax, al
shl eax, 4
mov ecx, dword [edx + 0x10]
mov eax, dword [eax + ecx - 4]
or word [eax + 0x4e], 8
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 0x1c]
or word [eax + 0x4e], 8
and byte [edx + 0x18], 0xef
cmp dword [edx + 0x38], 0
jne 0x5a0df8
mov eax, dword [edx + 0x14]
test eax, eax
jle 0x5a0df8
xor esi, esi
mov edi, 0xc
mov ecx, dword [edx + 0x10]
mov ecx, dword [ecx + edi]
test byte [ecx + 0x4e], 8
je 0x5a0dec
push ecx
call fcn.005a54f0
mov edx, dword [esp + 0x10]
add esp, 4
mov eax, dword [edx + 0x14]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x5a0dd0
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x5c]
add dword [esi + 0xa8], eax
mov ecx, dword [esp + 0x1e8]
xor ecx, ebp
call fcn.0066e1f1
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov byte [edx + 0x57], 1
cmp dword [edx + 0xc8], 0
jle 0x5a0e31
mov dword [edx + 0x120], 1
inc dword [edx + 0x128]
mov word [edx + 0x12c], 0
mov eax, dword [edx + 0x104]
test eax, eax
je 0x594824
push str.out_of_memory
push eax
call fcn.0057bd30
mov ecx, dword [esp + 0x14]
add esp, 8
mov eax, dword [ecx + 0x104]
mov dword [eax + 0xc], 7
mov eax, dword [ecx + 0x104]
mov eax, dword [eax + 0xb4]
test eax, eax
je 0x594824
inc dword [eax + 0x24]
mov dword [eax + 0xc], 7
jmp 0x5a0e73
mov esi, dword [esp + 8]
jmp 0x5a15e2
push 0x718366
push 0x11fcb
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00576b00
add esp, 0x14
mov eax, 0xb
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov esi, dword [esp + 8]
jmp 0x59487d
mov eax, 7
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x5a0f97
mov dword [esp + 0x28], eax
cmp dword [ebx], 0
jle 0x5a0f0e
xor esi, esi
xor edi, edi
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0xc]
add ecx, esi
call fcn.00592830
inc edi
add esi, 0x38
cmp edi, dword [ebx]
jl 0x5a0ef8
cmp dword [0x72dce0], 0
je 0x5a1b27
mov esi, dword [0x73ee00]
test esi, esi
je 0x5a0f37
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
mov esi, dword [esp + 0x34]
push esi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
je 0x5a0f87
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x59487d
mov dword [esp + 0x28], eax
cmp dword [ebx], 0
jle 0x5a0fca
xor esi, esi
xor edi, edi
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0xc]
add ecx, esi
call fcn.00592830
inc edi
add esi, 0x38
cmp edi, dword [ebx]
jl 0x5a0fb4
cmp dword [0x72dce0], 0
je 0x5a1b15
mov esi, dword [0x73ee00]
test esi, esi
je 0x5a0ff3
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
mov esi, dword [esp + 0x48]
push esi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
je 0x5a1043
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
jmp 0x5a197c
push str.string_or_blob_too_big
mov esi, dword [esp + 0xc]
push esi
call fcn.00592ac0
add esp, 8
mov eax, 0x12
jmp 0x5a16e6
push 0x718366
push 0x17a3e
jmp 0x5a1455
mov esi, dword [esp + 8]
mov ebx, ecx
jmp 0x5a1342
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
jmp 0x5a1342
mov edx, dword [esp + 0xc]
mov dword [edx + 0xcc], edi
mov eax, 6
jmp 0x5a1af9
and eax, 0x3f
movzx eax, byte [eax + 0x717e12]
push dword [ebx]
mov edx, dword [esp + 0x1c]
push dword [edx]
push dword [ecx*4 + 0x72ddf8]
push dword [eax*4 + 0x718a34]
push str.cannot_store__s_value_in__s_column__s._s
mov esi, dword [esp + 0x1c]
push esi
call fcn.00592ac0
add esp, 0x18
mov eax, 0xc13
jmp 0x5a16e6
mov ebx, esi
mov ecx, dword [esp + 4]
mov esi, eax
jmp 0x5a15cc
cmp dword [esp + 0x198], 0
je 0x5a110a
lea ecx, [esp + 0x180]
call fcn.00593060
push 0x718366
push 0x15598
jmp 0x5a1455
mov eax, 0x204
jmp 0x5a1500
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x50]
mov ebx, edi
jmp 0x594810
mov dword [esp + 0x28], eax
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
xor edi, edi
jmp 0x5a1965
push 0x718366
push 0x11fcb
jmp 0x5a1455
mov dword [esp + 0x28], eax
xor eax, eax
test esi, esi
je 0x5a118d
mov edi, dword [esp + 0x24]
mov ecx, dword [edi + ebx*8 + 0x10]
mov edx, ecx
not edx
test edx, 0x202
jne 0x5a184e
cmp byte [edi + ebx*8 + 0x12], 1
jne 0x5a184e
mov eax, dword [edi + ebx*8 + 8]
push eax
push 0x7048ef
mov esi, dword [esp + 0x10]
push esi
call fcn.00592ac0
add esp, 0xc
jmp 0x5a1047
push 0x718366
push 0x155b9
jmp 0x5a1455
mov eax, edi
jmp 0x5a1af9
mov eax, 7
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
jmp 0x5a0f97
mov ecx, dword [edi]
mov esi, eax
call fcn.005928b0
mov eax, esi
mov edx, dword [esp + 0xc]
jmp 0x5a1af9
mov eax, dword [esp + 0x18]
mov dword [eax + 0x2c], 0
mov eax, 7
jmp 0x5a1af9
mov edi, dword [esp + 4]
mov eax, dword [edi + 4]
mov ebx, dword [esp + 8]
mov dword [ebx + 0x24], eax
mov cl, byte [edi + 8]
mov byte [ebx + 0x86], cl
test eax, eax
jne 0x5a122a
jmp 0x5a156a
mov ecx, dword [esp + 8]
mov dword [ecx + 0x24], eax
mov al, byte [edi + 8]
mov byte [ecx + 0x86], al
movzx eax, word [edi + 2]
test eax, eax
je 0x5a1528
push dword [eax*4 + 0x7186c8]
push str._s_constraint_failed
mov ebx, dword [esp + 0x10]
push ebx
call fcn.00592ac0
mov ecx, dword [esp + 0x10]
add esp, 0xc
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x5a1541
push eax
mov edi, dword [esp + 0x70]
push dword [edi]
push str._z:__s
push dword [esp + 0x18]
call fcn.0057bed0
mov ecx, dword [esp + 0x14]
add esp, 0x10
mov dword [edi], eax
jmp 0x5a1541
mov esi, dword [esp + 8]
jmp 0x5a13fa
mov edx, dword [esp + 0x130]
mov dword [esp + 0x34], edx
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
jmp 0x5a0edb
push ebx
push str.no_such_savepoint:__s
push esi
call fcn.00592ac0
add esp, 0xc
xor eax, eax
inc eax
jmp 0x5a0eb9
mov esi, edx
mov eax, dword [esp + 0x6c]
mov edx, dword [eax]
test edx, edx
je 0x5a12d0
mov ecx, esi
call fcn.0057fe10
mov ecx, dword [esp + 4]
test esi, esi
je 0x5a17a4
xor eax, eax
cmp byte [esi + 0x57], 0
jne 0x5a18b4
mov ecx, dword [esp + 0xc]
mov edx, 0x1c
push 0
call fcn.00580000
add esp, 4
jmp 0x5a17b0
push 0x718366
push 0x1753e
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00576b00
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
add esp, 0x14
mov eax, 0xb
jmp 0x5a18a7
mov eax, 0xd
jmp 0x5a1af9
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 0x50]
jmp 0x594810
mov eax, dword [esi + 0x1c]
or eax, 1
add eax, 2
mov dword [esi + 0x1c], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
lea eax, [edx + eax*8]
mov dword [esi + 0x78], eax
mov edx, dword [esp + 0xc]
cmp byte [edx + 0x57], 0
jne 0x5a1083
test byte [edx + 0x5e], 4
je 0x5a13a3
mov ecx, dword [edx + 0xd8]
mov esi, dword [edx + 0xdc]
call dword [section..00cfg]
push 0
push dword [esp + 0xc]
push esi
mov esi, dword [esp + 0x14]
push 4
call ecx
mov ecx, dword [esp + 0x14]
add esp, 0x10
sub ecx, dword [esp + 0x54]
sar ecx, 2
imul eax, ecx, 0xcccccccd
inc eax
mov dword [esi + 0x20], eax
mov ebx, 0x64
jmp 0x5a0df8
mov edx, dword [ecx + 4]
mov eax, dword [ecx + 8]
mov ebx, dword [esp + 0xc]
movzx ecx, byte [ebx + 0x55]
cmp edx, ecx
jne 0x5a1724
test eax, eax
mov eax, str.cannot_commit___no_transaction_is_active
mov ecx, str.cannot_rollback___no_transaction_is_active
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmovne eax, ecx
xor ebx, ebx
inc ebx
push eax
push esi
call fcn.00592ac0
add esp, 8
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
jmp 0x5a15cc
mov esi, 0x313
mov eax, dword [esp + 8]
mov dword [eax + 0x24], esi
mov eax, dword [esp + 8]
mov byte [eax + 0x86], 2
push str.FOREIGN_KEY_constraint_failed
push dword [esp + 0xc]
call fcn.00592ac0
mov ecx, dword [esp + 0xc]
add esp, 8
xor edx, edx
inc edx
mov eax, dword [esp + 8]
cmp byte [eax + 0x88], 0
mov eax, edx
cmovs eax, esi
jmp 0x5a14fc
push 0x718366
push 0x12fc4
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00576b00
add esp, 0x14
mov eax, 0xb
jmp 0x5a16e2
mov eax, ebx
jmp 0x5a1afd
mov eax, dword [esp + 0x10]
jmp 0x59487d
mov edx, ebx
jmp 0x5a1afd
mov esi, dword [esp + 8]
mov byte [esi + 0x86], 2
mov eax, 6
jmp 0x59487d
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 8]
jmp 0x594810
call fcn.005788f0
cmp ebx, 7
je 0x5a15de
mov eax, ebx
jmp 0x5a16e6
push 0x718366
push 0x13212
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00576b00
mov edx, dword [esp + 0x20]
add esp, 0x14
xor edi, edi
mov dword [esp + 0x28], 0xb
jmp 0x5a1961
mov eax, ebx
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
jmp 0x59487d
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x1c]
mov esi, dword [esp + 0x180]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x5a15da
push dword [edi + 0x10]
push 0x7048ef
mov ebx, dword [esp + 0x10]
push ebx
call fcn.00592ac0
mov ecx, dword [esp + 0x10]
add esp, 0xc
mov eax, ecx
sub eax, dword [esp + 0x54]
sar eax, 2
imul eax, eax, 0xcccccccd
push dword [ebx + 0x7c]
push dword [ebx + 0xbc]
push eax
push str.abort_at__d_in___s_:__s
push dword [ecx + 4]
call fcn.00576b00
add esp, 0x14
mov ecx, ebx
call fcn.00590ad0
cmp eax, 5
jne 0x5a1587
mov dword [ebx + 0x24], 5
mov ebx, 5
jmp 0x5a0df4
xor eax, eax
inc eax
cmp dword [ebx + 0x24], 0
mov ebx, 0x65
cmovne ebx, eax
jmp 0x5a0df4
push str.too_many_levels_of_trigger_recursion
push esi
call fcn.00592ac0
mov edx, dword [esp + 0x14]
add esp, 8
xor eax, eax
inc eax
jmp 0x5a1afd
add dword [esi + 0x28], 1
adc dword [esi + 0x2c], 0
jmp 0x5a15cc
cmp eax, 5
jne 0x5a15c6
mov al, 2
mov byte [esi + 0x86], al
mov eax, ebx
jmp 0x59487d
mov ecx, ebx
call fcn.005788f0
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 4]
jmp 0x594810
xor ecx, ecx
bt eax, 0x14
setae cl
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 4]
or eax, 8
jmp 0x5a1500
mov edi, dword [esp + 0x18]
test edi, edi
je 0x5a1684
cmp dword [0x72dce0], 0
je 0x5a1b39
mov esi, dword [0x73ee00]
test esi, esi
je 0x5a1638
mov ecx, dword [0x72dd30]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ecx, dword [0x72dd0c]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
sub dword [0x73eda8], eax
dec dword [0x73edcc]
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov esi, dword [0x73ee00]
test esi, esi
je 0x5a1684
mov ecx, dword [0x72dd38]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov eax, dword [esp + 0x10]
jmp 0x5a16e2
push 0x718366
push 0x11aeb
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00576b00
add esp, 0x14
mov eax, 0xb
jmp 0x5a16e6
mov ebx, eax
cmp bl, 5
mov ecx, dword [esp + 4]
jne 0x5a1866
sub ecx, dword [esp + 0x54]
sar ecx, 2
imul eax, ecx, 0xcccccccd
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ebx
jmp 0x5a0df8
mov dword [edi + 0x20], 0
mov eax, 7
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
jmp 0x5a1afd
push str.cannot_release_savepoint___SQL_statements_in_progress
push esi
call fcn.00592ac0
mov edx, dword [esp + 0x14]
add esp, 8
mov eax, 5
jmp 0x5a0ebd
mov ebx, 0x65
jmp 0x5a0df8
xor edi, edi
mov dword [esp + 0x28], eax
mov esi, dword [esp + 8]
jmp 0x5a195d
test eax, eax
je 0x5a19b1
mov edi, edx
mov ecx, ebx
mov edx, 0x204
call fcn.00591d60
mov al, 1
mov byte [ebx + 0x55], al
mov ecx, esi
call fcn.00590ad0
cmp eax, 5
jne 0x5a176d
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x54]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esi + 0x20], eax
mov al, 1
mov ecx, edi
sub al, cl
mov byte [ebx + 0x55], al
jmp 0x5a1ad9
mov edx, dword [ebx + 0x1d8]
test edx, edx
je 0x5a19ff
mov eax, dword [edx + 0x18]
mov dword [ebx + 0x1d8], eax
mov ecx, ebx
call fcn.0057fe10
jmp 0x5a176d
test eax, eax
mov ecx, 0xd
cmovne ecx, eax
mov eax, ecx
jmp 0x5a1afd
mov dword [esp + 0x28], eax
jmp 0x5a1812
mov ecx, 0x1c
xor edx, edx
call fcn.00576290
test eax, eax
je 0x5a18ae
movups xmm0, xmmword [0x71893d]
movups xmmword [eax + 0xc], xmm0
movdqu xmm0, xmmword [str.database_schema_has_changed]
movdqu xmmword [eax], xmm0
jmp 0x5a18b0
xor edi, edi
mov dword [esp + 0x28], eax
jmp 0x5a1961
push 0x718366
push 0x17971
push str.index_corruption
push str._s_at_line__d_of___.10s_
push 0x30b
call fcn.00576b00
mov edx, dword [esp + 0x20]
add esp, 0x14
mov eax, 0x30b
jmp 0x5a1af9
mov dword [esp + 0x28], ebx
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x40]
jmp 0x5a1965
push 0x7187f7
push esi
call fcn.00592ac0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
add esp, 8
mov eax, 5
jmp 0x5a0ec1
mov eax, edi
jmp 0x5a16e2
test cl, 1
jne 0x5a118d
xor edx, edx
inc edx
mov ecx, esi
call fcn.00593420
jmp 0x5a118d
mov eax, ebx
jmp 0x5a1500
cmp edi, 5
mov eax, str.into
mov ecx, str.out_of
cmove ecx, eax
push ecx
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov eax, dword [esp + 0x10]
mov ebx, eax
push eax
call fcn.00592ac0
mov edx, dword [esp + 0x18]
add esp, 0xc
xor edi, edi
inc edi
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 4]
mov dword [esp + 0x5c], esi
mov eax, edi
mov esi, ebx
jmp 0x59487d
xor eax, eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x6c]
mov dword [edx], eax
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
mov edx, ecx
shl edx, 4
mov eax, dword [eax + edx + 0xc]
mov edx, dword [eax]
cmp edx, dword [esp + 0x180]
mov edx, dword [esp + 0xc]
je 0x5a192d
test ecx, ecx
js 0x5a18f2
or byte [eax + 0x4e], 8
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 0x1c]
or word [eax + 0x4e], 8
and byte [edx + 0x18], 0xef
cmp dword [edx + 0x38], 0
jne 0x5a192d
mov eax, dword [edx + 0x14]
test eax, eax
jle 0x5a192d
xor esi, esi
mov edi, 0xc
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx]
mov ecx, dword [ecx + edi]
test byte [ecx + 0x4e], 8
je 0x5a1925
push ecx
call fcn.005a54f0
mov edx, dword [esp + 0x10]
add esp, 4
mov eax, dword [edx + 0x14]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x5a1906
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x8c]
and eax, 0xffffffec
or eax, 1
mov dword [esi + 0x8c], eax
mov eax, 0x11
jmp 0x5a1afd
mov eax, 0x14
jmp 0x59487d
xor edi, edi
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x34]
mov word [eax], 4
mov eax, edi
sar eax, 0x1f
mov ebx, dword [esp + 0x18]
mov dword [ebx + 4], eax
mov dword [ebx], edi
mov eax, dword [esp + 0x28]
jmp 0x59487d
push 0x718366
push 0x12fdd
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00576b00
mov edx, dword [esp + 0x20]
add esp, 0x14
mov eax, 0xb
jmp 0x5a1af9
mov edi, edx
test edx, edx
je 0x5a1a24
cmp dword [ebx + 0xc4], 0
jle 0x5a1a24
mov ebx, 5
mov eax, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x5a13f0
push 0x718366
push 0x16c7b
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00576b00
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
add esp, 0x14
mov eax, 0xb
jmp 0x59487d
xor eax, eax
mov dword [ebx + 0x1e4], eax
mov dword [ebx + 0x1e8], eax
mov byte [ebx + 0x5d], 0
xor ecx, ecx
inc ecx
cmp dword [esi + 0x24], eax
mov ebx, 0x65
cmovne ebx, ecx
jmp 0x5a0df8
mov eax, dword [esi]
mov ecx, dword [eax + 0x1f8]
add ecx, dword [eax + 0x1f0]
mov edx, dword [eax + 0x1fc]
adc edx, dword [eax + 0x1f4]
cmp ecx, 1
sbb edx, 0
jl 0x5a1b06
mov esi, 0x313
mov edi, dword [esp + 8]
mov dword [edi + 0x24], esi
mov byte [edi + 0x86], 2
push str.FOREIGN_KEY_constraint_failed
push edi
call fcn.00592ac0
add esp, 8
xor ebx, ebx
inc ebx
cmp byte [edi + 0x88], 0
cmovs ebx, esi
mov esi, edi
jmp 0x5a0df8
mov esi, 0x313
mov eax, dword [esp + 8]
mov dword [eax + 0x24], esi
mov eax, dword [esp + 8]
mov byte [eax + 0x86], 2
push str.FOREIGN_KEY_constraint_failed
push dword [esp + 0xc]
call fcn.00592ac0
add esp, 8
xor ebx, ebx
inc ebx
mov eax, dword [esp + 8]
cmp byte [eax + 0x88], 0
cmovs ebx, esi
jmp 0x5a0df4
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x54]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0xc]
mov byte [eax + 0x55], 0
mov dword [esi + 0x24], 5
mov ebx, 5
jmp 0x5a0df8
mov edx, dword [esp + 0xc]
mov byte [edx + 0x55], 0
jmp 0x5a0ec1
mov eax, ebx
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jmp 0x59487d
mov eax, edi
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
jmp 0x5a173c
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push ebx
jmp 0x5a103e
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push ebx
jmp 0x5a0f82
mov ecx, dword [0x72dd04]
call dword [section..00cfg]
push edi
jmp 0x5a167f