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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x148
mov dword [esp + 0x1c], ecx
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [esp + 0x140], eax
mov ecx, dword [edx]
mov dword [esp + 0x38], 0x100072d0
cmp word [ecx + 8], 0xd
mov dword [esp + 0x14], edx
ja 0x1013da80
mov eax, dword [edx + 4]
movzx edi, word [eax + 0x10]
mov esi, dword [ecx + 0x10]
mov bl, byte [esi]
test bl, bl
jne 0x1013edd7
mov bl, 1
mov bh, 0xff
mov edx, dword [esp + 0x14]
mov byte [edx + 0x18], bh
mov byte [edx + 0x19], bl
mov ebx, edi
test bl, 4
je 0x1013da55
movsd xmm0, qword [eax]
movsd qword [edx + 8], xmm0
mov dword [esp + 0x38], 0x10016950
mov al, 1
mov dword [esp + 0x40], eax
lea eax, [edx + 0x17]
mov dword [esp + 0x34], eax
mov byte [edx + 0x17], 0
mov ebx, dword [esp + 0x1c]
cmp byte [ebx], 0
je 0x1013d849
cmp byte [ebx + 0x44], 0
jns 0x1013d814
mov edx, dword [ebx + 0x40]
test edx, edx
je 0x1013dcf8
mov al, byte [ebx]
cmp al, 3
jae 0x1013e32a
movzx eax, byte [ebx + 2]
lea esi, [ebx + 0x74]
mov ecx, dword [ebx + 0x14]
push eax
push esi
call fcn.1013fad0
add esp, 8
test eax, eax
jne 0x1013f238
mov byte [ebx + 0x44], 0
mov ecx, dword [ebx + 0x74]
mov al, byte [ecx + 1]
mov byte [ebx + 0x45], al
cmp byte [ecx], 0
mov ebx, dword [esp + 0x1c]
je 0x1013ec3b
cmp dword [ebx + 0x70], 0
sete al
cmp byte [ecx + 1], al
jne 0x1013ec3b
xor eax, eax
mov word [ebx + 0x46], ax
mov word [ebx + 0x32], ax
and byte [ebx + 1], 0xf1
mov dword [esp + 0x30], ecx
cmp word [ecx + 0x18], ax
je 0x1013dcea
mov byte [ebx], 0
mov eax, dword [esp + 0x30]
movzx eax, word [eax + 0x18]
movzx eax, ax
dec eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x6c], 0
mov ecx, eax
sar ecx, 1
mov dword [esp + 0x3c], ecx
mov esi, dword [esp + 0x30]
mov ecx, dword [esi + 0x40]
mov edi, dword [esi + 0x44]
movzx edx, word [esi + 0x1a]
and eax, 0xfffffffe
movzx eax, word [ecx + eax]
rol ax, 8
and eax, edx
movzx ecx, byte [edi + eax]
lea edx, [edi + eax]
inc edx
mov dword [esp + 0x10], ecx
cmp cl, byte [esi + 0xb]
jbe 0x1013cb1f
add edi, eax
movzx eax, byte [edx]
test al, al
js 0x1013d0ff
mov ecx, dword [esp + 0x10]
and ecx, 0x7f
shl ecx, 7
add ecx, eax
mov eax, dword [esp + 0x30]
movzx eax, word [eax + 0xe]
mov dword [esp + 0x10], ecx
cmp ecx, eax
ja 0x1013d0ff
add edi, 2
cmp byte [esp + 0x40], 0
je 0x1013e6b4
movzx eax, byte [edi]
mov dword [esp + 0xc], eax
mov dword [esp + 4], edi
movzx ecx, byte [edi + 1]
xor esi, esi
cmp ecx, 9
jne 0x1013ccf6
mov edx, 1
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 8]
mov edi, dword [eax + 0xc]
cmp edx, ebx
mov eax, esi
sbb eax, edi
jl 0x1013d919
cmp ebx, edx
sbb edi, esi
jl 0x1013d701
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x14]
cmp ax, 2
jb 0x1013df2f
movzx edi, byte [ecx + 0x101b25c6]
add edi, dword [esp + 0xc]
cmp edi, dword [esp + 0x10]
ja 0x1013e5f4
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + 4]
add esi, 0x28
mov dword [esp + 0x2c], 1
mov dword [esp + 0x18], 2
movzx ecx, word [esi + 0x10]
test cl, 0x24
jne 0x1013d5a6
test cl, 8
jne 0x1013e600
test cl, 2
jne 0x1013dd46
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x18]
movzx edx, byte [eax + edx]
test cl, 0x10
je 0x1013ddcb
mov ebx, edx
test dl, dl
jns 0x1013cad8
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x18]
add ecx, eax
movzx eax, byte [ecx + 1]
test al, al
js 0x1013e3e2
mov ecx, ebx
and ecx, 0x7f
shl ecx, 7
or ecx, eax
mov edx, 0xffffffff
cmp ecx, 0xc
mov dword [esp + 8], ecx
jb 0x1013cae2
mov eax, ecx
and eax, 1
jne 0x1013cae2
lea eax, [ecx - 0xc]
mov edx, eax
shr edx, 1
lea ecx, [edx + edi]
cmp ecx, dword [esp + 0x10]
ja 0x1013e5e8
test byte [esi + 0x11], 4
jne 0x1013e6a2
mov eax, dword [esi + 0xc]
mov ebx, edx
sub ebx, eax
cmovl eax, edx
mov ecx, dword [esp + 4]
add ecx, edi
push eax
push dword [esi + 8]
push ecx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
cmovne ebx, eax
test ebx, ebx
jne 0x1013cae0
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x14]
mov ebx, dword [esp + 0x2c]
inc ebx
movzx ecx, ax
mov edx, ebx
mov dword [esp + 0x2c], ebx
cmp ebx, ecx
je 0x1013d66e
add esi, 0x28
cmp dword [esp + 8], 0x80
jae 0x1013e44b
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + 0x101b25c6]
add edi, ecx
cmp edi, dword [esp + 0x10]
ja 0x1013d66e
xor ecx, ecx
inc ecx
mov edx, dword [esp + 8]
cmp edx, 0x80
jae 0x1013e406
mov edx, dword [esp + 0x18]
add edx, ecx
mov ecx, edx
mov dword [esp + 0x18], edx
cmp edx, dword [esp + 0xc]
jb 0x1013c9a5
jmp 0x1013e5b0
mov ecx, ebx
jmp 0x1013ca03
mov edx, ebx
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x2c]
movzx eax, byte [eax + ecx]
test al, al
jne 0x1013e74a
test edx, edx
jns 0x1013d3e0
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jg 0x1013d400
mov dword [esp + 0x6c], eax
add eax, ecx
jmp 0x1013c8b2
mov dword [esp + 4], edx
cmp byte [esp + 0x40], 0
je 0x1013d926
mov eax, dword [esp + 4]
movzx ecx, byte [eax]
mov dword [esp + 0x2c], ecx
movzx ecx, byte [eax + 1]
xor edi, edi
cmp ecx, 9
jne 0x1013d617
xor edx, edx
inc edx
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 8]
mov esi, dword [eax + 0xc]
cmp edx, ebx
mov eax, edi
sbb eax, esi
jl 0x1013d919
cmp ebx, edx
sbb esi, edi
jl 0x1013d701
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x14]
cmp ax, 2
jb 0x1013df2f
movzx edx, byte [ecx + 0x101b25c6]
add edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x10]
ja 0x1013e5f4
mov ecx, dword [esp + 0x14]
mov ebx, dword [ecx + 4]
add ebx, 0x28
mov esi, 2
xor edi, edi
inc edi
mov dword [esp + 0x18], ebx
movzx ecx, word [ebx + 0x10]
test cl, 0x24
mov dword [esp + 0x24], esi
mov dword [esp + 8], edx
jne 0x1013d693
test cl, 8
jne 0x1013e80c
test cl, 2
jne 0x1013de7c
mov eax, dword [esp + 4]
movzx eax, byte [eax + esi]
test cl, 0x10
je 0x1013df03
mov ecx, eax
test al, al
jns 0x1013cc00
mov eax, dword [esp + 4]
add esi, eax
movzx eax, byte [esi + 1]
test al, al
js 0x1013e477
and ecx, 0x7f
shl ecx, 7
or ecx, eax
cmp ecx, 0xc
mov dword [esp + 0xc], ecx
jb 0x1013e0e9
mov eax, ecx
and eax, 1
jne 0x1013e0e9
lea eax, [ecx - 0xc]
mov ecx, eax
shr ecx, 1
mov ebx, ecx
add ecx, edx
cmp ecx, dword [esp + 0x10]
ja 0x1013e5e8
mov esi, edi
mov edi, dword [esp + 0x18]
test byte [edi + 0x11], 4
jne 0x1013e8a9
mov eax, dword [edi + 0xc]
mov ecx, ebx
sub ebx, eax
cmovl eax, ecx
mov ecx, dword [esp + 4]
add ecx, edx
push eax
push dword [edi + 8]
push ecx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
cmovne ebx, eax
mov edi, esi
test ebx, ebx
jne 0x1013ccdb
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x14]
inc edi
movzx ecx, ax
cmp edi, ecx
mov edx, dword [esp + 8]
je 0x1013d66e
add dword [esp + 0x18], 0x28
cmp dword [esp + 0xc], 0x80
jae 0x1013e4ee
mov ecx, dword [esp + 0xc]
movzx ecx, byte [ecx + 0x101b25c6]
add edx, ecx
cmp edx, dword [esp + 0x10]
ja 0x1013d66e
mov esi, edi
xor ecx, ecx
inc ecx
mov ebx, dword [esp + 0xc]
cmp ebx, 0x80
jae 0x1013e4a3
mov ebx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, dword [esp + 0x2c]
jae 0x1013e5b0
mov ecx, ebx
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x18]
jmp 0x1013cba4
mov edx, ebx
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov al, byte [eax + edi]
test al, al
je 0x1013cafb
jmp 0x1013eae9
jae 0x1013df63
mov edi, dword [esp + 0xc]
and edi, 0x3f
xor edx, edx
jmp dword [ecx*4 + 0x101b8c7c]
mov esi, dword [ebx]
cmp esi, 2
jl 0x1013e767
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x14]
mov eax, esi
xor edx, edx
div dword [ecx + 0x28]
cmp eax, dword [ecx + 0x30]
ja 0x1013e767
mov eax, esi
add eax, 0x80000112
mov ecx, 0
adc ecx, 0xffffffff
cmp eax, 0x80000101
sbb ecx, 0xffffffff
jb 0x1013e759
mov dword [esp + 0x24], esi
lea edi, [esi + 0x12]
cmp dword [0x101f1020], 0
je 0x1013ef42
mov esi, dword [0x101f4170]
test esi, esi
je 0x1013cd94
mov ecx, dword [0x101f1070]
cmp ecx, 0x10137970
jne 0x1013ef62
push esi
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, dword [0x101f1050]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov esi, eax
cmp dword [0x101f4158], edi
jb 0x1013e31f
mov eax, dword [0x101f417c]
mov ecx, dword [0x101f4178]
cmp ecx, 1
mov edx, eax
sbb edx, 0
jge 0x1013ef73
mov ecx, dword [0x101f1040]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
test eax, eax
je 0x1013ef5b
mov edi, eax
mov ecx, dword [0x101f104c]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
add eax, dword [0x101f411c]
mov dword [0x101f411c], eax
cmp eax, dword [0x101f4144]
ja 0x1013dcd4
mov eax, dword [0x101f4140]
inc eax
mov dword [0x101f4140], eax
cmp eax, dword [0x101f4168]
ja 0x1013dcca
mov esi, dword [0x101f4170]
test esi, esi
je 0x1013ce4c
mov ecx, dword [0x101f1078]
cmp ecx, 0x10129ee0
jne 0x1013ef9b
push esi
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov dword [esp + 0x10], edi
test edi, edi
mov ebx, dword [esp + 0x1c]
mov edi, 7
je 0x1013d7f6
mov eax, dword [esp + 0x3c]
mov word [ebx + 0x46], ax
mov edi, dword [ebx + 0x74]
cmp word [edi + 0x18], ax
jbe 0x1013e800
mov esi, dword [ebx + 0x14]
mov ecx, ebx
call fcn.101371c0
mov ecx, dword [ebx + 0x28]
mov dword [esp + 4], ecx
sub ecx, dword [edi + 0x38]
mov dword [esp + 0x18], esi
mov eax, dword [esi + 0x28]
movzx esi, word [ebx + 0x30]
mov edx, eax
sub edx, esi
cmp ecx, edx
ja 0x1013e798
test esi, esi
mov edi, dword [esp + 0x10]
je 0x1013efac
mov ebx, dword [esp + 0x24]
cmp ebx, esi
cmovb esi, ebx
push esi
push dword [esp + 8]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, ebx
sub edx, esi
je 0x1013d974
add esi, edi
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x28]
mov ebx, dword [esp + 0x1c]
movzx ecx, word [ebx + 0x30]
mov dword [esp + 0x2c], edx
mov dword [esp + 0xc], esi
lea esi, [eax - 4]
movzx ecx, cx
mov edx, dword [esp + 4]
mov edx, dword [edx + ecx]
mov dword [esp + 8], edx
bswap edx
mov dword [esp + 4], edx
mov dword [esp + 0x108], edx
test byte [ebx + 1], 4
mov dword [esp + 0x28], esi
jne 0x1013f095
mov edi, dword [ebx + 0xc]
mov edx, dword [ebx + 0x2c]
sub eax, ecx
add eax, edx
add eax, 0xfffffffb
xor ecx, ecx
xor edx, edx
div esi
test edi, edi
je 0x1013d8ba
lea esi, [eax*4]
mov ecx, dword [0x101f104c]
mov dword [esp + 0x20], eax
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov ecx, dword [ebx + 0xc]
cmp esi, eax
mov eax, dword [esp + 0x20]
jg 0x1013d8ba
cmp esi, 4
jne 0x1013dde4
mov dword [ecx], 0
mov eax, dword [esp + 0x1c]
or byte [eax + 1], 4
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 4]
cmp dword [esp + 8], 0
je 0x1013e78c
xor edi, edi
mov eax, dword [esp + 0x18]
cmp ecx, dword [eax + 0x30]
ja 0x1013e7a4
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xc]
mov dword [esp + 4], ecx
mov dword [eax + edi*4], ecx
mov eax, dword [esp + 0x28]
test eax, eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x68], edi
je 0x1013ed07
cmp edx, eax
cmovb eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov ecx, dword [esi + 0xdc]
cmp ecx, fcn.10143300
mov dword [esp + 0x2c], edx
jne 0x1013ed37
mov dword [esp + 0x20], esi
mov eax, dword [esi + 0xe4]
movzx ebx, byte [eax + 0x29]
mov dword [esp + 0x64], ebx
and ebx, 3
mov ecx, dword [0x101f10a0]
mov dword [esp + 0x50], eax
mov edi, dword [eax + 0x34]
cmp ecx, 0x1000d6a0
jne 0x1013ed64
mov ecx, dword [edi + 0x38]
mov esi, dword [esp + 4]
mov eax, esi
xor edx, edx
div dword [edi + 0x34]
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x1013da8d
cmp dword [eax + 8], esi
je 0x1013d02f
mov eax, dword [eax + 0x10]
jmp 0x1013d01d
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x1013d0de
mov ebx, dword [esp + 0x20]
mov ecx, dword [ebx + 0xe4]
mov edi, dword [eax + 4]
cmp dword [edi], 0
je 0x1013dc3e
add dword [ecx + 0x10], 1
adc dword [ecx + 0x14], 0
add dword [edi + 0x20], 1
adc dword [edi + 0x24], 0
mov esi, dword [esp + 0xc]
mov dword [esp + 0x138], edi
cmp dword [edi + 0x14], 0
je 0x1013dbfa
inc dword [ebx + 0xc8]
mov eax, dword [esp + 0x138]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
bswap ecx
mov dword [esp + 0x108], ecx
add eax, 4
push dword [esp + 8]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x138]
xor edi, edi
test ecx, ecx
je 0x1013d0bd
test byte [ecx + 0x1c], 0x20
jne 0x1013ed7a
call fcn.1013f960
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 8]
cmp edx, ebx
mov eax, ebx
mov ecx, 0
cmove eax, ecx
sub edx, ebx
je 0x1013d181
jmp 0x1013d948
mov edx, dword [eax + 0x1c]
mov dword [edx + 0x18], ecx
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov dword [ecx + 0x1c], edx
mov dword [eax + 0x18], 0
mov ecx, dword [eax + 0x14]
dec dword [ecx + 0x2c]
jmp 0x1013d03a
mov eax, dword [esp + 0x1c]
lea ebx, [eax + 0x20]
mov eax, dword [esp + 0x30]
movzx edx, byte [eax + 0xa]
mov esi, edi
sub esi, edx
mov ecx, dword [eax + 0x50]
cmp ecx, 0x10005570
jne 0x1013ef2c
mov dword [esp + 0x10], ebx
movzx eax, byte [esi + edx]
test al, al
jns 0x1013d6f8
and eax, 0x7f
xor ecx, ecx
mov edx, eax
shl edx, 7
movzx ebx, byte [edi + ecx + 1]
mov eax, ebx
and eax, 0x7f
or eax, edx
lea edx, [ecx + 1]
test bl, bl
jns 0x1013d155
cmp ecx, 7
mov ecx, edx
jb 0x1013d136
add edi, edx
inc edi
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], 0
mov dword [edx + 0x2c], eax
mov dword [edx + 0x28], edi
mov ecx, dword [esp + 0x30]
movzx ebx, word [ecx + 0xe]
cmp eax, ebx
jbe 0x1013d64b
jmp 0x1013d67f
xorpd xmm0, xmm0
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
movupd xmmword [ecx + esi], xmm0
mov word [ecx + esi + 0x10], 0
mov eax, dword [esp + 0x1c]
and byte [eax + 1], 0xfb
test edi, edi
jne 0x1013e7e7
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
movzx ebx, byte [ecx]
mov dword [esp + 0x134], ebx
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
test bl, bl
mov edi, ecx
js 0x1013eff8
cmp ebx, esi
ja 0x1013efbd
xor ecx, ecx
mov dword [esp + 4], ebx
mov dword [esp + 0x20], ebx
movzx eax, word [edx + 0x10]
test al, 0x24
mov dword [esp + 0xc], edx
mov dword [esp + 0x2c], ecx
jne 0x1013d997
test al, 8
jne 0x1013edf6
test al, 2
jne 0x1013e01a
mov ecx, dword [esp + 0x18]
movzx ebx, byte [edi + ecx]
test al, 0x10
je 0x1013e0ba
test bl, bl
jns 0x1013d230
mov eax, dword [esp + 0x18]
lea ecx, [edi + eax]
movzx eax, byte [ecx + 1]
test al, al
js 0x1013e514
and ebx, 0x7f
shl ebx, 7
or ebx, eax
cmp ebx, 0xc
jb 0x1013f66f
mov eax, ebx
and eax, 1
jne 0x1013f66f
mov dword [esp + 8], ebx
lea eax, [ebx - 0xc]
mov ecx, eax
shr ecx, 1
mov ebx, ecx
mov edi, dword [esp + 4]
add ecx, edi
cmp ecx, esi
ja 0x1013f086
test byte [edx + 0x11], 4
jne 0x1013eea3
mov eax, dword [edx + 0xc]
mov edi, ebx
sub edi, eax
cmovl eax, ebx
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x10]
add ecx, esi
push eax
push dword [edx + 8]
push ecx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
cmovne edi, eax
mov ebx, edi
mov edi, ebx
test ebx, ebx
mov ebx, dword [esp + 8]
jne 0x1013d332
mov ecx, dword [esp + 0x2c]
inc ecx
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x14]
mov dword [esp + 0x2c], ecx
cmp ecx, eax
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
je 0x1013ee92
add edx, 0x28
cmp ebx, 0x80
jae 0x1013e540
mov esi, edi
mov dword [esp + 8], ebx
movzx eax, byte [ebx + 0x101b25c6]
mov edi, dword [esp + 4]
add edi, eax
mov eax, edi
mov dword [esp + 4], edi
mov eax, dword [esp + 0x24]
cmp edi, eax
mov ebx, dword [esp + 8]
mov edi, esi
ja 0x1013ee92
mov esi, eax
mov dword [esp + 0xc], edx
xor edx, edx
inc edx
cmp ebx, 0x80
jae 0x1013e550
add ecx, edx
mov eax, ecx
mov dword [esp + 0x18], ecx
cmp ecx, dword [esp + 0x20]
jae 0x1013ecdb
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
jmp 0x1013d1dd
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x2c]
mov al, byte [eax + ecx]
test al, al
jne 0x1013f0bc
mov ebx, edi
mov edi, dword [esp + 0x10]
cmp dword [0x101f1020], 0
je 0x1013efe9
mov esi, dword [0x101f4170]
test esi, esi
je 0x1013d380
mov ecx, dword [0x101f1070]
cmp ecx, 0x10137970
jne 0x1013f01f
push esi
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, dword [0x101f104c]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
sub dword [0x101f411c], eax
dec dword [0x101f4140]
mov ecx, dword [0x101f1044]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov esi, dword [0x101f4170]
test esi, esi
je 0x1013d3d3
mov ecx, dword [0x101f1078]
cmp ecx, 0x10129ee0
jne 0x1013f030
push esi
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov edx, ebx
test edx, edx
js 0x1013cb03
nop dword [eax]
je 0x1013d8e6
mov eax, dword [esp + 0x3c]
dec eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x6c]
jmp 0x1013cb08
mov ecx, dword [esp + 0x30]
cmp byte [ecx + 8], 0
jne 0x1013d7e3
mov esi, eax
movzx eax, word [ecx + 0x18]
cmp esi, eax
jge 0x1013d63f
mov eax, dword [ecx + 0x40]
movzx eax, word [eax + esi*2]
rol ax, 8
and ax, word [ecx + 0x1a]
movzx eax, ax
mov ecx, dword [ecx + 0x38]
mov edi, dword [ecx + eax]
mov ebx, dword [esp + 0x1c]
mov word [ebx + 0x46], si
movsx eax, byte [ebx + 0x44]
cmp eax, 0x13
jge 0x1013ea77
xor edx, edx
mov word [ebx + 0x32], dx
and byte [ebx + 1], 0xf9
mov word [ebx + eax*2 + 0x48], si
mov eax, dword [ebx + 0x74]
movsx ecx, byte [ebx + 0x44]
mov dword [ebx + ecx*4 + 0x78], eax
mov esi, edi
mov word [ebx + 0x46], dx
inc byte [ebx + 0x44]
bswap esi
mov eax, dword [ebx + 0x14]
cmp dword [eax + 0x30], esi
jb 0x1013ea9f
movzx ecx, byte [ebx + 2]
mov dword [esp + 0x30], ecx
mov ebx, dword [eax]
mov ecx, dword [ebx + 0xdc]
cmp ecx, fcn.10143300
mov dword [esp + 0x18], edi
mov dword [esp + 0x54], eax
jne 0x1013ea39
test edi, edi
je 0x1013eaab
mov dword [esp + 0x10], ebx
mov eax, dword [ebx + 0xe4]
movzx ebx, byte [eax + 0x29]
mov dword [esp + 0x3c], ebx
and ebx, 3
mov ecx, dword [0x101f10a0]
mov dword [esp + 4], eax
mov edi, dword [eax + 0x34]
cmp ecx, 0x1000d6a0
jne 0x1013ea64
mov ecx, dword [edi + 0x38]
mov eax, esi
xor edx, edx
div dword [edi + 0x34]
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x1013d70e
cmp dword [eax + 8], esi
je 0x1013d4f3
mov eax, dword [eax + 0x10]
jmp 0x1013d4e1
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x1013d585
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + 0xe4]
mov edi, dword [eax + 4]
cmp dword [edi], 0
je 0x1013da43
add dword [ecx + 0x10], 1
adc dword [ecx + 0x14], 0
add dword [edi + 0x20], 1
adc dword [edi + 0x24], 0
mov dword [esp + 0x108], edi
mov ecx, dword [esp + 0x30]
test cl, 1
jne 0x1013d9fa
cmp dword [edi + 0x14], 0
je 0x1013d9fa
inc dword [ebx + 0xc8]
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x74], ecx
mov dword [esp + 0x30], ecx
cmp byte [ecx], 0
je 0x1013db5d
mov ecx, dword [esp + 0x30]
movzx eax, word [ecx + 0x18]
test ax, ax
je 0x1013e6c8
mov cl, byte [ecx + 1]
mov edx, dword [esp + 0x1c]
cmp cl, byte [edx + 0x45]
je 0x1013c8a2
jmp 0x1013e6c8
mov edx, dword [eax + 0x1c]
mov dword [edx + 0x18], ecx
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov dword [ecx + 0x1c], edx
mov dword [eax + 0x18], 0
mov ecx, dword [eax + 0x14]
dec dword [ecx + 0x2c]
jmp 0x1013d4fe
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x18]
movzx edx, byte [ecx + edx]
cmp edx, 0xa
jae 0x1013e707
test edx, edx
mov dword [esp + 8], edx
je 0x1013dfd4
cmp edx, 7
je 0x1013f0cd
lea ecx, [edx - 1]
cmp ecx, 5
jbe 0x1013dbbc
lea ecx, [edx - 8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], 0
mov ecx, dword [esi]
mov edx, esi
mov ebx, dword [esi + 4]
cmp dword [esp + 0x20], ecx
mov esi, dword [esp + 0x24]
sbb esi, ebx
jl 0x1013dcde
cmp ecx, dword [esp + 0x20]
sbb ebx, dword [esp + 0x24]
jl 0x1013de74
mov esi, edx
jmp 0x1013ca6c
jae 0x1013df63
mov esi, dword [esp + 0x2c]
and esi, 0x3f
xor edx, edx
jmp dword [ecx*4 + 0x101b8c40]
movzx eax, byte [ecx + 9]
add eax, 8
jmp 0x1013d42e
sub edi, esi
add edi, eax
test edi, 0xfffc
mov ecx, 4
cmove edi, ecx
mov word [edx + 0x32], di
mov word [edx + 0x30], ax
mov ebx, dword [esp + 0x10]
jmp 0x1013cd1e
mov eax, dword [esp + 0x14]
mov byte [eax + 0x1a], 1
movsx edx, byte [eax + 0x16]
jmp 0x1013cafb
mov edx, esi
mov ebx, dword [esp + 0x10]
push ebx
call fcn.1013fa70
add esp, 4
jmp 0x1013cd1e
mov ecx, dword [esp + 4]
movzx ecx, byte [ecx + esi]
cmp ecx, 0xa
jae 0x1013e9d6
test ecx, ecx
mov dword [esp + 0xc], ecx
je 0x1013e0e9
cmp ecx, 7
je 0x1013f40b
mov dword [esp + 0x20], edi
lea ebx, [ecx - 1]
cmp ebx, 5
jbe 0x1013dd0b
lea edi, [ecx - 8]
xor esi, esi
mov edx, dword [esp + 0x18]
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
mov edx, edi
cmp edi, ecx
mov edi, esi
sbb edi, ebx
jl 0x1013ec27
cmp ecx, edx
sbb ebx, esi
jl 0x1013dfb8
mov edi, dword [esp + 0x20]
jmp 0x1013cc6d
add edx, esi
mov edi, edx
jmp 0x1013d157
mov eax, dword [esp + 0x14]
movsx edx, byte [eax + 0x19]
jmp 0x1013cafb
test bl, bl
je 0x1013d73c
mov ecx, edi
mov edx, esi
push ebx
call fcn.10006f30
add esp, 4
test eax, eax
mov ebx, dword [esp + 0x10]
jne 0x1013d502
mov eax, dword [ebx + 0xe4]
mov dword [esp + 4], eax
mov al, byte [eax + 0x29]
mov dword [esp + 0x3c], eax
mov edi, 7
cmp byte [esp + 0x3c], 2
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 4]
je 0x1013eeee
mov ecx, dword [0x101f109c]
mov edi, dword [eax + 0x34]
call dword [section..00cfg]
push edi
call ecx
mov edx, dword [esp + 8]
add esp, 4
cmp eax, dword [edx + 0x1c]
jle 0x1013d7b9
mov edi, dword [edx + 8]
test edi, edi
je 0x1013f681
mov eax, dword [edi + 0x20]
or eax, dword [edi + 0x24]
jne 0x1013e317
test byte [edi + 0x1c], 8
jne 0x1013e317
mov dword [edx + 8], edi
mov ecx, dword [edx + 0x2c]
mov ebx, dword [edx + 0x30]
call dword [section..00cfg]
push edi
push ebx
call ecx
mov edx, dword [esp + 0xc]
add esp, 8
test eax, eax
mov ebx, dword [esp + 0x10]
jne 0x1013f6b3
mov ecx, dword [0x101f10a0]
mov edi, dword [edx + 0x34]
call dword [section..00cfg]
push 2
push esi
push edi
call ecx
add esp, 0xc
mov edi, 7
test eax, eax
jne 0x1013d502
jmp 0x1013eeee
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov word [ebx + 0x46], ax
mov eax, dword [ebp + 8]
mov dword [eax], edx
xor edi, edi
mov word [ebx + 0x32], 0
mov ecx, dword [esp + 0x140]
xor ecx, ebp
call fcn.10157a00
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebx + 0x74]
je 0x1013c85e
mov ecx, dword [ecx + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x1013ec63
call fcn.1013f960
mov ebx, dword [esp + 0x1c]
mov al, byte [ebx + 0x44]
dec al
mov byte [ebx + 0x44], al
je 0x1013d8af
movsx eax, al
mov eax, dword [ebx + eax*4 + 0x78]
mov ecx, dword [eax + 0x48]
jmp 0x1013d820
mov eax, dword [ebx + 0x74]
cmp byte [eax + 8], 0
je 0x1013c816
movsx ecx, byte [ebx + 0x44]
test ecx, ecx
jle 0x1013d87c
xor edx, edx
mov ebx, dword [esp + 0x1c]
mov esi, dword [ebx + edx*4 + 0x78]
movzx edi, word [ebx + edx*2 + 0x48]
cmp di, word [esi + 0x18]
jb 0x1013c816
inc edx
cmp ecx, edx
jne 0x1013d864
mov ecx, dword [esp + 0x1c]
movzx ecx, word [ecx + 0x46]
movzx edx, word [eax + 0x18]
dec edx
cmp edx, ecx
je 0x1013de19
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x44], 0
jg 0x1013e13f
mov eax, dword [esp + 0x34]
mov byte [eax], 0
mov ebx, dword [esp + 0x1c]
jmp 0x1013c816
mov ecx, dword [ebx + 0x78]
mov dword [ebx + 0x74], ecx
jmp 0x1013c87b
mov esi, eax
lea edx, [eax*8]
push 0
call fcn.10137760
add esp, 4
test eax, eax
je 0x1013e7f9
mov ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xc], ecx
shl esi, 2
jmp 0x1013cf5a
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov word [ebx + 0x46], ax
xor edi, edi
mov eax, dword [esp + 0x34]
cmp byte [eax], 0
je 0x1013d7f6
push 0x101db30a
push 0x12402
jmp 0x1013ea81
mov eax, dword [esp + 0x14]
movsx edx, byte [eax + 0x18]
jmp 0x1013cafb
mov ecx, dword [esp + 0x38]
call dword [section..00cfg]
push dword [esp + 0x14]
push dword [esp + 8]
push dword [esp + 0x18]
call ecx
add esp, 0xc
mov edx, eax
jmp 0x1013cafb
add esi, eax
test edi, edi
jne 0x1013e7c7
mov eax, dword [esp + 0x108]
mov edi, dword [esp + 0x68]
inc edi
mov ecx, eax
test eax, eax
jne 0x1013cf8a
test edx, edx
mov edi, dword [esp + 0x10]
jne 0x1013e78c
xorpd xmm0, xmm0
mov esi, dword [esp + 0x24]
movupd xmmword [edi + esi], xmm0
mov word [edi + esi + 0x10], 0
mov eax, dword [esp + 0x1c]
and byte [eax + 1], 0xfb
mov ecx, edi
jmp 0x1013d1a9
mov eax, dword [esp + 0x18]
movzx ebx, byte [edi + eax]
cmp ebx, 0xa
jae 0x1013f041
test ebx, ebx
je 0x1013f66f
cmp ebx, 7
je 0x1013f553
lea eax, [ebx - 1]
cmp eax, 5
jbe 0x1013df40
lea eax, [ebx - 8]
mov dword [esp + 8], 0
mov edi, dword [edx]
mov edx, dword [edx + 4]
mov ecx, eax
cmp eax, edi
mov eax, dword [esp + 8]
sbb eax, edx
jl 0x1013f66f
cmp edi, ecx
sbb edx, dword [esp + 8]
jl 0x1013e137
mov edx, dword [esp + 0xc]
jmp 0x1013d2a3
cmp dword [ebx + 0xa4], esi
je 0x1013eebe
mov dword [edi + 0x14], ebx
mov eax, dword [ebx + 0x40]
cmp dword [eax], 0
je 0x1013dc52
test cl, 1
jne 0x1013dc52
cmp dword [ebx + 0x1c], esi
jb 0x1013dc52
inc dword [ebx + 0xcc]
mov ecx, edi
call fcn.10006910
test eax, eax
je 0x1013d548
mov esi, eax
jmp 0x1013eee1
mov edx, esi
push eax
call fcn.100068b0
add esp, 4
mov edi, eax
jmp 0x1013d524
test bl, 0x39
jne 0x1013ede5
cmp dword [ecx + 0x14], 0
jne 0x1013ede5
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x14]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0x10], eax
mov dword [esp + 0x38], 0x10006e00
mov dword [esp + 0x40], 0
jmp 0x1013c7fe
test bl, bl
je 0x1013dabb
mov ecx, edi
mov edx, esi
push ebx
call fcn.10006f30
add esp, 4
test eax, eax
mov ebx, dword [esp + 0x20]
jne 0x1013d03e
mov eax, dword [ebx + 0xe4]
mov dword [esp + 0x50], eax
mov al, byte [eax + 0x29]
mov dword [esp + 0x64], eax
mov edi, 7
cmp byte [esp + 0x64], 2
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x50]
je 0x1013f724
mov ecx, dword [0x101f109c]
mov edi, dword [esi + 0x34]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
cmp eax, dword [esi + 0x1c]
jle 0x1013db30
mov edi, dword [esi + 8]
test edi, edi
je 0x1013f78a
mov eax, dword [edi + 0x20]
or eax, dword [edi + 0x24]
jne 0x1013e3da
test byte [edi + 0x1c], 8
jne 0x1013e3da
mov dword [esi + 8], edi
mov ecx, dword [esi + 0x2c]
mov ebx, dword [esi + 0x30]
call dword [section..00cfg]
push edi
push ebx
call ecx
add esp, 8
test eax, eax
mov ebx, dword [esp + 0x20]
jne 0x1013f7bc
mov ecx, dword [0x101f10a0]
mov esi, dword [esi + 0x34]
call dword [section..00cfg]
push 2
push dword [esp + 8]
push esi
call ecx
add esp, 0xc
mov edi, 7
test eax, eax
jne 0x1013d03e
jmp 0x1013f724
mov eax, dword [edi + 8]
cmp dword [eax + 4], esi
je 0x1013db9b
mov ecx, dword [edi + 4]
mov dword [eax + 0x38], ecx
mov dword [eax + 0x48], edi
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x34], ecx
mov dword [eax + 4], esi
cmp dword [esp + 0x18], 0x1000000
mov ecx, 0
mov edx, 0x64
cmove ecx, edx
mov byte [eax + 9], cl
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x30]
call fcn.10006c20
test eax, eax
jne 0x1013eeb7
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x30], eax
jmp 0x1013d55f
mov edx, dword [esp + 4]
lea ebx, [edx + edi]
jmp dword [ecx*4 + 0x101b8ca0]
movsx ecx, byte [ebx]
mov dword [esp + 0x20], ecx
sar ecx, 0x1f
mov dword [esp + 0x24], ecx
jmp 0x1013d5eb
mov ecx, dword [esp + 4]
cmp dword [ebx + 0xa4], ecx
je 0x1013f6f4
mov dword [edi + 0x14], ebx
mov eax, dword [ebx + 0x40]
cmp dword [eax], 0
je 0x1013ddf5
cmp dword [ebx + 0x1c], ecx
jb 0x1013ddf5
inc dword [ebx + 0xcc]
mov ecx, edi
call fcn.10006910
test eax, eax
je 0x1013d07b
mov esi, eax
jmp 0x1013f717
mov edx, dword [esp + 4]
push eax
call fcn.100068b0
add esp, 4
mov edi, eax
jmp 0x1013d060
cmp dword [ebx + 0xa0], esi
jb 0x1013ef15
test cl, 1
je 0x1013dcb2
mov ecx, dword [0x101f42bc]
test ecx, ecx
jne 0x1013f744
cmp dword [ebx + 0x20], esi
jae 0x1013e288
mov eax, dword [ebx + 0x68]
test eax, eax
jle 0x1013dca0
xor edx, edx
mov ebx, 0x14
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x64]
cmp dword [ecx + ebx], esi
jae 0x1013e24d
inc edx
add ebx, 0x30
cmp edx, eax
jl 0x1013dc88
mov ecx, dword [0x101f42c0]
test ecx, ecx
mov ebx, dword [esp + 0x10]
jne 0x1013f751
push dword [ebx + 0xa8]
push 0
push dword [edi + 4]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x1013d548
mov dword [0x101f4168], eax
jmp 0x1013ce29
mov dword [0x101f4144], eax
jmp 0x1013ce12
xor eax, eax
dec eax
mov esi, edx
mov edx, eax
jmp 0x1013cae2
mov eax, dword [esp + 0x30]
cmp byte [eax + 8], 0
je 0x1013f75e
mov byte [ebx], 1
mov eax, dword [ebp + 8]
mov dword [eax], 0xffffffff
xor edi, edi
jmp 0x1013d7fc
mov edx, dword [esp + 4]
mov esi, dword [esp + 8]
add esi, edx
jmp dword [ebx*4 + 0x101b8c64]
movsx edi, byte [esi]
mov esi, edi
sar esi, 0x1f
jmp 0x1013d6ce
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x18]
movzx eax, byte [eax + ecx]
mov dword [esp + 0x134], eax
test al, al
js 0x1013f801
cmp eax, 0xc
mov dword [esp + 8], eax
jb 0x1013dfd4
test al, 1
je 0x1013e8de
add eax, 0xfffffff4
shr eax, 1
mov dword [esp + 0x114], eax
lea ecx, [eax + edi]
cmp ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
ja 0x1013e5dc
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
movzx ecx, word [edx + 8]
cmp ebx, ecx
jae 0x1013e5dc
mov ebx, dword [edx + ebx*4 + 0x14]
test ebx, ebx
jne 0x1013df80
mov ecx, dword [esi + 0xc]
mov ebx, eax
sub ebx, ecx
cmovl ecx, eax
mov eax, dword [esp + 4]
add eax, edi
push ecx
push dword [esi + 8]
push eax
jmp 0x1013ca53
test edx, edx
setne al
mov dword [esp + 8], edx
cmp dl, 0xa
setne cl
and cl, al
movzx ebx, cl
jmp 0x1013ca60
push esi
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x1013cf69
cmp dword [ebx + 0xa0], ecx
jb 0x1013f82f
push dword [ebx + 0xa8]
push 0
push dword [edi + 4]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x1013d07b
mov edx, dword [eax + 0x40]
mov esi, dword [eax + 0x44]
movzx edi, word [eax + 0x1a]
movzx ecx, word [edx + ecx*2]
rol cx, 8
and ecx, edi
lea edi, [esi + ecx]
inc edi
movzx ebx, byte [edi - 1]
cmp bl, byte [eax + 0xb]
ja 0x1013e0f1
mov ecx, dword [esp + 0x38]
call dword [section..00cfg]
push dword [esp + 0x14]
push edi
push ebx
call ecx
add esp, 0xc
test eax, eax
jg 0x1013d891
mov ecx, dword [esp + 0x34]
cmp byte [ecx], 0
jne 0x1013d891
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
xor edi, edi
jmp 0x1013d7fc
xor eax, eax
inc eax
jmp 0x1013dce1
mov eax, dword [esp + 4]
movzx eax, byte [eax + esi]
mov dword [esp + 0x134], eax
test al, al
js 0x1013f845
cmp eax, 0xc
mov dword [esp + 0xc], eax
jb 0x1013e0e9
test al, 1
je 0x1013ea2d
add eax, 0xfffffff4
shr eax, 1
mov dword [esp + 0x114], eax
lea ecx, [eax + edx]
cmp ecx, dword [esp + 0x10]
ja 0x1013e5dc
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
movzx ecx, word [edx + 8]
cmp edi, ecx
jae 0x1013e5dc
mov esi, edi
mov ebx, dword [edx + edi*4 + 0x14]
test ebx, ebx
jne 0x1013dfdc
mov edi, dword [esp + 0x18]
mov ecx, dword [edi + 0xc]
mov ebx, eax
sub ebx, ecx
cmovl ecx, eax
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
add eax, edx
push ecx
push dword [edi + 8]
push eax
jmp 0x1013cc52
test eax, eax
setne dl
mov dword [esp + 0xc], eax
cmp al, 0xa
setne cl
and cl, dl
movzx ebx, cl
jmp 0x1013cc61
mov eax, dword [esp + 0x14]
movsx edx, byte [eax + 0x16]
mov byte [eax + 0x1a], 1
jmp 0x1013cafb
mov ecx, dword [esp + 4]
lea edx, [edi + ecx]
jmp dword [eax*4 + 0x101b8cb8]
movsx eax, byte [edx]
mov ecx, eax
sar ecx, 0x1f
mov dword [esp + 8], ecx
mov edx, dword [esp + 0xc]
jmp 0x1013d9d0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 4]
push 0
push dword [esp + 0x18]
call fcn.10005d40
add esp, 8
mov edx, eax
jmp 0x1013cafb
mov al, byte [edx + 4]
lea ecx, [esp + 0x108]
mov byte [ecx + 0x12], al
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x14], eax
mov word [ecx + 0x10], 2
mov eax, dword [esp + 4]
add eax, edi
mov dword [ecx + 8], eax
mov edx, esi
push dword [esp + 0x34]
push ebx
call fcn.10005190
add esp, 8
mov ebx, eax
jmp 0x1013ca60
xor edx, edx
inc edx
jmp 0x1013ec2a
xor edx, edx
dec edx
jmp 0x1013cae2
mov al, byte [edx + 4]
lea ecx, [esp + 0x108]
mov byte [ecx + 0x12], al
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x14], eax
mov word [ecx + 0x10], 2
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
add eax, edx
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x18]
push dword [esp + 0x34]
push ebx
call fcn.10005190
add esp, 8
mov ebx, eax
jmp 0x1013cc5f
mov eax, dword [esp + 0x18]
movzx ebx, byte [edi + eax]
mov dword [esp + 0x104], ebx
test bl, bl
js 0x1013f895
cmp ebx, 0xc
jb 0x1013f66f
test bl, 1
je 0x1013f07c
lea eax, [ebx - 0xc]
shr eax, 1
mov dword [esp + 0x114], eax
mov ecx, dword [esp + 4]
add ecx, eax
cmp ecx, esi
mov edx, dword [esp + 0x2c]
ja 0x1013f057
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
mov dword [esp + 0x28], ecx
movzx ecx, word [ecx + 8]
cmp edx, ecx
jae 0x1013f057
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x28]
mov ebx, dword [ecx + edx*4 + 0x14]
test ebx, ebx
jne 0x1013e1e9
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0xc]
mov ebx, eax
sub ebx, ecx
cmovl ecx, eax
mov eax, dword [esp + 4]
add eax, edi
push ecx
push dword [edx + 8]
mov edi, edx
push eax
call sub.VCRUNTIME140.dll_memcmp
mov edx, edi
add esp, 0xc
test eax, eax
cmovne ebx, eax
jmp 0x1013d295
test ebx, ebx
setne al
mov dword [esp + 8], ebx
cmp bl, 0xa
setne cl
and cl, al
movzx ebx, cl
jmp 0x1013d295
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
bswap ecx
mov dword [esp + 0x24], ecx
bswap edx
mov dword [esp + 0x20], edx
jmp 0x1013d5eb
xor edx, edx
dec edx
jmp 0x1013ccdd
movzx edx, byte [edi]
test dl, dl
js 0x1013d891
and ebx, 0x7f
shl ebx, 7
add ebx, edx
movzx eax, word [eax + 0xe]
cmp ebx, eax
ja 0x1013d891
add esi, ecx
add esi, 2
mov ecx, dword [esp + 0x38]
call dword [section..00cfg]
push dword [esp + 0x14]
push esi
jmp 0x1013de4d
xor edi, edi
inc edi
jmp 0x1013d332
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x74]
mov eax, dword [ecx + 0x40]
mov esi, dword [ecx + 0x44]
movzx edx, word [ecx + 0x1a]
movzx eax, word [eax]
rol ax, 8
and eax, edx
lea edi, [esi + eax]
inc edi
movzx ebx, byte [edi - 1]
cmp bl, byte [ecx + 0xb]
ja 0x1013e2c9
mov ecx, dword [esp + 0x38]
call dword [section..00cfg]
push dword [esp + 0x14]
push edi
push ebx
call ecx
add esp, 0xc
test eax, eax
jg 0x1013d89f
mov eax, dword [esp + 0x34]
cmp byte [eax], 0
jne 0x1013d89f
mov eax, dword [esp + 0x1c]
and byte [eax + 1], 0xfb
mov eax, dword [eax + 0x74]
mov dword [esp + 0x30], eax
cmp byte [eax], 0
jne 0x1013c89a
push 0x101db30a
push 0x1238b
jmp 0x1013ec45
mov ecx, dword [ebx + 2]
bswap ecx
mov dword [esp + 0x20], ecx
movsx ecx, byte [ebx]
shl ecx, 8
movzx edx, byte [ebx + 1]
or edx, ecx
mov dword [esp + 0x24], edx
jmp 0x1013d5eb
mov ecx, dword [esi]
mov edi, dword [esi + 4]
mov esi, ecx
bswap esi
bswap edi
jmp 0x1013d6ce
mov edx, ecx
mov al, byte [ecx + 4]
lea ecx, [esp + 0x108]
mov byte [ecx + 0x12], al
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x14], eax
mov word [ecx + 0x10], 2
mov eax, dword [esp + 4]
add eax, edi
mov dword [ecx + 8], eax
mov edi, dword [esp + 0xc]
mov edx, edi
push dword [esp + 0x34]
push ebx
call fcn.10005190
mov edx, edi
add esp, 8
mov ebx, eax
jmp 0x1013d295
mov edi, dword [esi + 2]
bswap edi
movsx ecx, byte [esi]
shl ecx, 8
movzx esi, byte [esi + 1]
or esi, ecx
jmp 0x1013d6ce
mov ecx, dword [ecx + ebx - 4]
mov dword [esp + 0x30], edx
mov edx, esi
call fcn.1013b050
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x68]
jmp 0x1013dc98
mov ecx, dword [ebx + 0x3c]
mov edx, esi
call fcn.1013b050
jmp 0x1013dc7a
mov ecx, dword [edx]
mov eax, dword [edx + 4]
bswap ecx
mov dword [esp + 8], ecx
bswap eax
mov edx, dword [esp + 0xc]
jmp 0x1013d9d0
movzx edx, byte [edi]
test dl, dl
js 0x1013d89f
and ebx, 0x7f
shl ebx, 7
add ebx, edx
movzx ecx, word [ecx + 0xe]
cmp ebx, ecx
ja 0x1013d89f
add esi, eax
add esi, 2
mov ecx, dword [esp + 0x38]
call dword [section..00cfg]
push dword [esp + 0x14]
push esi
jmp 0x1013e179
mov eax, dword [edx + 2]
bswap eax
movsx edi, byte [edx]
shl edi, 8
movzx ecx, byte [edx + 1]
or ecx, edi
jmp 0x1013df56
mov edi, dword [edi + 0x2c]
jmp 0x1013d775
mov dword [0x101f4158], edi
jmp 0x1013cdb4
cmp al, 4
je 0x1013f8bb
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x10]
test esi, esi
je 0x1013e3c4
cmp dword [0x101f1020], 0
je 0x1013f8e3
mov edi, dword [0x101f4170]
test edi, edi
je 0x1013e371
mov ecx, dword [0x101f1070]
cmp ecx, 0x10137970
jne 0x1013f8fa
push edi
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, dword [0x101f104c]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
sub dword [0x101f411c], eax
dec dword [0x101f4140]
mov ecx, dword [0x101f1044]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x101f4170]
test esi, esi
je 0x1013e3c4
mov ecx, dword [0x101f1078]
cmp ecx, 0x10129ee0
jne 0x1013f8e9
push esi
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov ebx, dword [esp + 0x1c]
mov dword [ebx + 0x10], 0
mov byte [ebx], 1
mov edx, dword [ebx + 0x40]
jmp 0x1013c835
mov edi, dword [edi + 0x2c]
jmp 0x1013daf0
movzx edx, byte [ecx + 2]
test dl, dl
js 0x1013f8c7
mov ecx, ebx
shl ecx, 0xe
or ecx, edx
and ecx, 0x1fc07f
and eax, 0x7f
shl eax, 7
jmp 0x1013ca01
mov dword [esp + 0x24], 0
xor ecx, ecx
inc ecx
xor ebx, ebx
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x24]
shld esi, edx, 0x19
mov dword [esp + 8], esi
shr ebx, 7
inc ecx
mov esi, 0x3fff
cmp esi, edx
mov esi, 0
sbb esi, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 8]
mov dword [esp + 0x24], ebx
jae 0x1013cabd
jmp 0x1013e417
mov ecx, dword [esp + 8]
add ecx, 0xfffffff4
shr ecx, 1
jmp 0x1013ca9e
movsx edx, byte [ebx]
mov ecx, edx
shl ecx, 8
movzx ebx, byte [ebx + 1]
or ebx, ecx
mov dword [esp + 0x20], ebx
sar edx, 0x1f
mov dword [esp + 0x24], edx
jmp 0x1013d5eb
mov ebx, edi
movzx edx, byte [esi + 2]
test dl, dl
js 0x1013f90b
shl ecx, 0xe
or ecx, edx
and ecx, 0x1fc07f
and eax, 0x7f
shl eax, 7
or ecx, eax
mov edi, ebx
mov edx, dword [esp + 8]
jmp 0x1013cc00
mov dword [esp + 8], 0
xor ecx, ecx
inc ecx
mov dword [esp + 0x20], 0
mov edi, dword [esp + 8]
mov dword [esp + 0xc], edi
shld dword [esp + 0xc], ebx, 0x19
shr dword [esp + 0x20], 7
inc ecx
mov edi, 0x3fff
cmp edi, ebx
mov edi, 0
sbb edi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x20]
mov dword [esp + 8], edi
jae 0x1013ccbc
jmp 0x1013e4b6
mov ecx, dword [esp + 0xc]
add ecx, 0xfffffff4
shr ecx, 1
jmp 0x1013cc9b
movsx edx, byte [esi]
mov ecx, edx
shl ecx, 8
movzx edi, byte [esi + 1]
mov esi, edx
or edi, ecx
sar esi, 0x1f
jmp 0x1013d6ce
movzx edx, byte [ecx + 2]
test dl, dl
js 0x1013f929
shl ebx, 0xe
or ebx, edx
and ebx, 0x1fc07f
and eax, 0x7f
shl eax, 7
or ebx, eax
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
jmp 0x1013d230
mov esi, edi
mov dword [esp + 8], ebx
lea eax, [ebx - 0xc]
shr eax, 1
jmp 0x1013d2e0
mov dword [esp + 0x18], 0
xor edx, edx
inc edx
mov dword [esp + 0x28], 0
mov edi, dword [esp + 0x18]
shld edi, ebx, 0x19
mov dword [esp + 8], edi
shr dword [esp + 0x28], 7
inc edx
mov edi, 0x3fff
cmp edi, ebx
mov edi, 0
sbb edi, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
jae 0x1013d313
jmp 0x1013e563
movsx ecx, byte [edx]
mov edi, ecx
shl edi, 8
movzx eax, byte [edx + 1]
or eax, edi
jmp 0x1013df53
push 0x101db30a
push 0x1563c
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov eax, dword [esp + 0x34]
mov byte [eax], 0xb
xor edx, edx
jmp 0x1013cafb
push 0x101db30a
push 0x155f2
jmp 0x1013e5ba
push 0x101db30a
push 0x15610
jmp 0x1013e5ba
push 0x101db30a
push 0x155a5
jmp 0x1013e5ba
mov dword [esp + 0x28], esi
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x18]
movzx eax, byte [eax + ecx]
mov dword [esp + 8], eax
cmp eax, 0xa
jae 0x1013e72c
cmp dword [esp + 8], 0
je 0x1013e71f
mov eax, dword [esp + 4]
lea ecx, [eax + edi]
lea eax, [esp + 0x108]
mov ebx, dword [esp + 8]
mov edx, ebx
push eax
call fcn.10003a50
add esp, 4
cmp bl, 7
jne 0x1013e8ea
movsd xmm0, qword [esp + 0x108]
mov eax, dword [esp + 0x28]
movsd xmm1, qword [eax]
ucomisd xmm1, xmm0
ja 0x1013e9c3
ucomisd xmm0, xmm1
ja 0x1013e9b3
mov edx, dword [esp + 0x2c]
inc edx
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x14]
mov ecx, edx
mov dword [esp + 0x2c], edx
cmp edx, eax
mov esi, dword [esp + 0x28]
je 0x1013d66e
add esi, 0x28
mov dword [esp + 8], 7
jmp 0x1013ca93
mov ebx, edx
cmp eax, 2
jae 0x1013e8bb
sub ebx, dword [esi]
jmp 0x1013ca60
mov ecx, dword [esp + 0x38]
call dword [section..00cfg]
push dword [esp + 0x14]
push edi
jmp 0x1013d938
push 0x101db30a
push 0x115ab
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov edi, 0xb
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x74]
test eax, eax
je 0x1013eace
mov ecx, dword [eax + 0x48]
call fcn.10157e40
jmp 0x1013eace
xor eax, eax
cmp dl, 0xa
setne al
lea edx, [eax + eax]
dec edx
xor eax, eax
inc eax
mov dword [esp + 8], eax
jmp 0x1013cae2
mov dword [esp + 8], 0
jmp 0x1013e9ca
xor eax, eax
cmp byte [esp + 8], 0xa
setne al
lea edx, [eax + eax]
dec edx
xor eax, eax
inc eax
mov dword [esp + 8], eax
mov esi, dword [esp + 0x28]
jmp 0x1013cae2
test al, 2
jne 0x1013eb06
neg edx
jmp 0x1013cafb
mov ebx, dword [esp + 0x1c]
mov edi, 7
jmp 0x1013d7f6
push 0x101db30a
push 0x123e2
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov edi, 0xb
jmp 0x1013e7f0
push 0x101db30a
push 0x120b5
jmp 0x1013e7ae
push 0x101db30a
push 0x12022
jmp 0x1013e7ae
push 0x101db30a
push 0x12060
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov edi, 0xb
xorpd xmm0, xmm0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
movupd xmmword [ecx + eax], xmm0
mov word [ecx + eax + 0x10], 0
mov eax, dword [esp + 0x1c]
and byte [eax + 1], 0xfb
push ecx
call sym.nss3.dll_sqlite3_free
add esp, 4
mov ebx, dword [esp + 0x1c]
jmp 0x1013d7f6
mov edi, 7
jmp 0x1013e7c7
push 0x101db30a
push 0x12013
jmp 0x1013e7ae
mov dword [esp + 0x20], edi
mov eax, dword [esp + 4]
movzx eax, byte [eax + esi]
mov dword [esp + 0xc], eax
cmp eax, 0xa
jae 0x1013ea13
cmp dword [esp + 0xc], 0
je 0x1013ea06
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
add ecx, eax
lea eax, [esp + 0x108]
mov ebx, dword [esp + 0xc]
mov edx, ebx
push eax
call fcn.10003a50
add esp, 4
cmp bl, 7
jne 0x1013eb57
movsd xmm0, qword [esp + 0x108]
mov eax, dword [esp + 0x18]
movsd xmm1, qword [eax]
ucomisd xmm1, xmm0
ja 0x1013e9fa
ucomisd xmm0, xmm1
ja 0x1013e9ee
mov edi, dword [esp + 0x20]
inc edi
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x14]
cmp edi, eax
mov edx, dword [esp + 8]
je 0x1013d66e
add dword [esp + 0x18], 0x28
mov dword [esp + 0xc], 7
jmp 0x1013cc90
cmp eax, 2
jae 0x1013eb22
mov ecx, edi
sub ebx, dword [edi]
jmp 0x1013cc5f
mov eax, dword [esp + 4]
add eax, edi
xor ecx, ecx
inc ecx
mov edx, ebx
cmp ebx, 2
cmovae ecx, ebx
xor edx, edx
cmp byte [eax + edx], 0
jne 0x1013e8de
inc edx
cmp ecx, edx
jne 0x1013e8ce
jmp 0x1013e6ad
xor edx, edx
inc edx
mov dword [esp + 8], edx
jmp 0x1013cae2
mov eax, dword [esp + 0x28]
movsd xmm0, qword [eax]
movsd xmm1, qword [0x101b11d0]
ucomisd xmm1, xmm0
ja 0x1013e9b3
ucomisd xmm0, qword [0x101b10f8]
jae 0x1013e9c3
mov ebx, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
movsd qword [esp + 0x80], xmm0
fld qword [esp + 0x80]
fnstcw word [esp + 0x48]
movzx edx, word [esp + 0x48]
or edx, 0xc00
mov word [esp + 0x5c], dx
fldcw word [esp + 0x5c]
fistp qword [esp + 0x80]
fldcw word [esp + 0x48]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
cmp ebx, eax
mov esi, ecx
sbb esi, edx
jl 0x1013e9c3
cmp eax, ebx
sbb edx, ecx
jl 0x1013e9b3
movd xmm1, ebx
movd xmm2, ecx
punpckldq xmm1, xmm2
movq qword [esp + 0xc8], xmm1
fild qword [esp + 0xc8]
fstp qword [esp + 0xc0]
movsd xmm1, qword [esp + 0xc0]
ucomisd xmm0, xmm1
ja 0x1013e9c3
xor ebx, ebx
ucomisd xmm1, xmm0
seta bl
mov esi, dword [esp + 0x28]
jmp 0x1013ca60
xor edx, edx
inc edx
mov dword [esp + 8], edx
mov esi, dword [esp + 0x28]
jmp 0x1013cae2
xor eax, eax
inc eax
mov dword [esp + 8], eax
xor edx, edx
dec edx
mov esi, dword [esp + 0x28]
jmp 0x1013cae2
xor eax, eax
cmp cl, 0xa
setne al
lea edx, [eax + eax]
dec edx
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
jmp 0x1013ccdd
xor edx, edx
inc edx
mov dword [esp + 0xc], edx
jmp 0x1013ec2a
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
jmp 0x1013ec27
mov dword [esp + 0xc], 0
jmp 0x1013ec27
xor eax, eax
cmp byte [esp + 0xc], 0xa
setne al
lea edx, [eax + eax]
dec edx
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
jmp 0x1013ec2a
xor edx, edx
inc edx
mov dword [esp + 0xc], edx
jmp 0x1013ccdd
call dword [section..00cfg]
lea eax, [esp + 0x108]
push dword [esp + 0x30]
push eax
push esi
push ebx
call ecx
add esp, 0x10
mov edi, eax
test eax, eax
jne 0x1013eace
mov edi, dword [esp + 0x108]
jmp 0x1013d548
call dword [section..00cfg]
push ebx
push esi
push edi
call ecx
add esp, 0xc
jmp 0x1013d71f
push 0x101db30a
push 0x1213e
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov edi, 0xb
jmp 0x1013d7f6
push 0x101db30a
push 0x11596
jmp 0x1013eab5
push 0x101db30a
push 0xef2f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov edi, 0xb
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx + 0x44]
dec al
mov byte [ecx + 0x44], al
movsx eax, al
mov eax, dword [ecx + eax*4 + 0x78]
mov dword [ecx + 0x74], eax
jmp 0x1013e7f0
mov edi, dword [esp + 0x18]
test al, 2
je 0x1013e752
cmp dword [esp + 0xc], 0
je 0x1013eb15
test al, 1
sete al
xor al, byte [edi + 0x10]
jmp 0x1013eb15
cmp dword [esp + 8], 0
je 0x1013eb15
test al, 1
sete al
xor al, byte [esi + 0x10]
test al, 1
jne 0x1013cafb
jmp 0x1013e752
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
add eax, ecx
xor ecx, ecx
inc ecx
mov edx, ebx
cmp ebx, 2
cmovae ecx, ebx
xor edx, edx
cmp byte [eax + edx], 0
jne 0x1013eb49
inc edx
cmp ecx, edx
jne 0x1013eb39
jmp 0x1013e8b2
xor edx, edx
inc edx
mov dword [esp + 0xc], edx
mov edi, esi
jmp 0x1013ccdd
mov eax, dword [esp + 0x18]
movsd xmm0, qword [eax]
xor esi, esi
inc esi
movsd xmm1, qword [0x101b11d0]
ucomisd xmm1, xmm0
ja 0x1013ec33
ucomisd xmm0, qword [0x101b10f8]
jae 0x1013ec23
mov ebx, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
movsd qword [esp + 0x90], xmm0
fld qword [esp + 0x90]
fnstcw word [esp + 0x4c]
movzx edx, word [esp + 0x4c]
or edx, 0xc00
mov word [esp + 0x60], dx
fldcw word [esp + 0x60]
fistp qword [esp + 0x90]
fldcw word [esp + 0x4c]
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
cmp ebx, eax
mov edi, ecx
sbb edi, edx
jl 0x1013ec23
cmp eax, ebx
sbb edx, ecx
jl 0x1013ec33
movd xmm1, ebx
movd xmm2, ecx
punpckldq xmm1, xmm2
movq qword [esp + 0xe8], xmm1
fild qword [esp + 0xe8]
fstp qword [esp + 0xe0]
movsd xmm1, qword [esp + 0xe0]
ucomisd xmm0, xmm1
ja 0x1013ec23
xor ebx, ebx
ucomisd xmm1, xmm0
seta bl
mov edi, dword [esp + 0x20]
jmp 0x1013cc61
mov dword [esp + 0xc], esi
xor edx, edx
dec edx
mov edi, dword [esp + 0x20]
jmp 0x1013ccdd
mov edx, esi
mov dword [esp + 0xc], esi
jmp 0x1013ec2a
push 0x101db30a
push 0x121c9
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov edi, 0xb
jmp 0x1013d7fc
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 + 0x10], 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
push edi
push dword [esp + 0x18]
push esi
call ecx
add esp, 0x10
jmp 0x1013d82f
push 0x101db30a
push 0x1563c
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov eax, dword [esp + 0x34]
mov byte [eax], 0xb
xor ebx, ebx
jmp 0x1013d34c
mov ecx, edi
mov edi, edx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + ecx*4 + 4]
test eax, eax
je 0x1013f3e4
mov ebx, dword [esp + 0x68]
inc ebx
mov dword [esp + 0x108], eax
mov esi, dword [esp + 0xc]
mov edx, edi
mov edi, ebx
jmp 0x1013d95e
call dword [section..00cfg]
lea eax, [esp + 0x138]
push 2
push eax
push dword [esp + 0xc]
push esi
call ecx
add esp, 0x10
test eax, eax
mov esi, dword [esp + 0xc]
je 0x1013d07b
mov edi, eax
jmp 0x1013d0bd
call dword [section..00cfg]
push ebx
push dword [esp + 8]
push edi
call ecx
add esp, 0xc
jmp 0x1013da9e
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 + 4], 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
push edi
xor edi, edi
push dword [esp + 0xc]
push esi
mov esi, dword [esp + 0x1c]
call ecx
add esp, 0x10
jmp 0x1013d0bd
test bl, 2
jne 0x1013ede5
mov bl, 0xff
mov bh, 1
jmp 0x1013c7d2
mov dword [esp + 0x40], 0
mov edx, dword [esp + 0x14]
jmp 0x1013c7fe
mov eax, dword [esp + 0x18]
movzx eax, byte [edi + eax]
mov dword [esp + 8], eax
cmp eax, 0xa
jae 0x1013f066
cmp dword [esp + 8], 0
je 0x1013f048
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
add ecx, eax
lea eax, [esp + 0x108]
mov ebx, dword [esp + 8]
mov edx, ebx
push eax
call fcn.10003a50
add esp, 4
cmp bl, 7
jne 0x1013f285
movsd xmm0, qword [esp + 0x108]
mov eax, dword [esp + 0xc]
movsd xmm1, qword [eax]
ucomisd xmm1, xmm0
ja 0x1013f04f
ucomisd xmm0, xmm1
ja 0x1013f07c
mov ecx, dword [esp + 0x2c]
inc ecx
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x14]
mov dword [esp + 0x2c], ecx
cmp ecx, eax
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
je 0x1013ee92
add edx, 0x28
mov ebx, 7
jmp 0x1013d2d3
mov eax, dword [esp + 0x14]
mov byte [eax + 0x1a], 1
movsx ebx, byte [eax + 0x16]
jmp 0x1013d350
cmp eax, 2
jae 0x1013f253
mov edx, dword [esp + 0xc]
sub ebx, dword [edx]
jmp 0x1013d295
mov edi, eax
jmp 0x1013e6eb
push 0x101db30a
push 0xef4f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov esi, 0xb
mov ecx, edi
call fcn.10158c50
mov edi, esi
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0xe4]
mov ecx, dword [eax + 0x10]
or ecx, dword [eax + 0x14]
jne 0x1013ef05
mov ecx, dword [esp + 0x10]
call fcn.10164f30
cmp dword [esp + 0x1c], 0
je 0x1013e7f0
jmp 0x1013eace
cmp dword [ebx + 0x1c], esi
jb 0x1013f677
mov ecx, edi
call fcn.1013f960
mov edi, 0xd
jmp 0x1013eeea
call dword [section..00cfg]
push ebx
push esi
push dword [esp + 0x38]
call ecx
add esp, 0xc
jmp 0x1013cd1e
mov ecx, dword [0x101f1040]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov edi, eax
jmp 0x1013ce4c
xor edi, edi
jmp 0x1013ce29
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1013cd94
mov edi, esi
sar edi, 0x1f
sub ecx, esi
sbb eax, edi
xor edx, edx
cmp dword [0x101f411c], ecx
sbb edx, eax
jge 0x1013f352
mov dword [0x101f4188], 0
jmp 0x1013cdcd
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1013ce4c
xor ecx, ecx
mov esi, edi
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
jmp 0x1013cedf
push 0x101db30a
push 0x155a5
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov eax, dword [esp + 0x34]
mov byte [eax], 0xb
xor ebx, ebx
jmp 0x1013d350
mov ecx, dword [0x101f1044]
call dword [section..00cfg]
push edi
jmp 0x1013f037
mov ebx, edx
lea edx, [esp + 0x134]
mov ecx, edi
call fcn.100767a0
mov edx, ebx
movzx eax, al
mov dword [esp + 0x18], eax
lea eax, [esp + 0x134]
mov ebx, dword [eax]
jmp 0x1013d1cb
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1013d380
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1013d3d3
xor eax, eax
cmp bl, 0xa
jmp 0x1013f06d
xor ebx, ebx
jmp 0x1013f66f
xor ebx, ebx
inc ebx
jmp 0x1013f66f
push 0x101db30a
push 0x155f2
jmp 0x1013ece5
xor eax, eax
cmp byte [esp + 8], 0xa
setne al
lea edi, [eax + eax]
dec edi
xor ebx, ebx
inc ebx
jmp 0x1013d332
xor ebx, ebx
inc ebx
mov edi, ebx
jmp 0x1013d332
push 0x101db30a
push 0x15610
jmp 0x1013ece5
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
test eax, eax
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 4]
je 0x1013cf7d
mov dword [esp + 0x108], eax
mov ecx, eax
jmp 0x1013cf88
test al, 2
jne 0x1013f3c7
mov ebx, edi
neg ebx
jmp 0x1013d34c
mov ebx, esi
mov eax, dword [esp + 4]
mov ecx, dword [eax + edi]
mov eax, dword [eax + edi + 4]
bswap ecx
bswap eax
mov dword [esp + 0x10c], ecx
mov edx, ecx
not edx
movd xmm1, ecx
and ecx, 0xfffff
xor esi, esi
inc esi
or ecx, eax
mov ecx, 8
mov dword [esp + 8], esi
cmovne ecx, esi
test edx, 0x7ff00000
mov edx, 8
cmovne ecx, edx
mov dword [esp + 0x108], eax
mov word [esp + 0x118], cx
movd xmm0, eax
punpckldq xmm0, xmm1
movsd xmm1, qword [0x101b11d0]
ucomisd xmm1, xmm0
ja 0x1013f20d
xor eax, eax
inc eax
mov dword [esp + 8], eax
ucomisd xmm0, qword [0x101b10f8]
jae 0x1013f203
mov eax, ebx
mov esi, dword [ebx + 4]
mov ecx, dword [ebx]
movsd qword [esp + 0x88], xmm0
fld qword [esp + 0x88]
fnstcw word [esp + 0x4a]
movzx edx, word [esp + 0x4a]
or edx, 0xc00
mov word [esp + 0x5e], dx
fldcw word [esp + 0x5e]
fistp qword [esp + 0x88]
fldcw word [esp + 0x4a]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x24], ecx
cmp ecx, eax
mov ecx, esi
sbb esi, edx
jl 0x1013f203
cmp eax, dword [esp + 0x24]
sbb edx, ecx
jl 0x1013f20d
movd xmm1, dword [esp + 0x24]
movd xmm2, ecx
punpckldq xmm1, xmm2
movq qword [esp + 0xd8], xmm1
fild qword [esp + 0xd8]
fstp qword [esp + 0xd0]
movsd xmm1, qword [esp + 0xd0]
ucomisd xmm0, xmm1
mov edx, 1
mov esi, ebx
ja 0x1013cae2
xor ebx, ebx
ucomisd xmm1, xmm0
seta bl
neg ebx
mov dword [esp + 8], 7
jmp 0x1013ca60
xor edx, edx
inc edx
mov esi, ebx
jmp 0x1013cae2
xor edx, edx
dec edx
mov esi, ebx
jmp 0x1013cae2
mov byte [ebx], 1
test eax, eax
jne 0x1013f945
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x30], eax
jmp 0x1013c89a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
add ecx, eax
xor eax, eax
inc eax
mov esi, ebx
cmp ebx, 2
mov edx, eax
cmovae edx, ebx
xor edi, edi
cmp byte [ecx + edi], 0
jne 0x1013f27c
inc edi
cmp edx, edi
jne 0x1013f26c
jmp 0x1013eeac
mov ebx, eax
mov edi, eax
jmp 0x1013d332
mov eax, dword [esp + 0xc]
movsd xmm0, qword [eax]
xor edi, edi
inc edi
movsd xmm1, qword [0x101b11d0]
ucomisd xmm1, xmm0
ja 0x1013f349
ucomisd xmm0, qword [0x101b10f8]
jae 0x1013f342
mov ebx, dword [esp + 0x108]
mov eax, dword [esp + 0x10c]
movsd qword [esp + 0x70], xmm0
fld qword [esp + 0x70]
fnstcw word [esp + 0x44]
movzx edx, word [esp + 0x44]
or edx, 0xc00
mov word [esp + 0x58], dx
fldcw word [esp + 0x58]
fistp qword [esp + 0x70]
fldcw word [esp + 0x44]
mov esi, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
cmp ebx, esi
mov ecx, eax
sbb ecx, edx
jl 0x1013f342
cmp esi, ebx
sbb edx, eax
jl 0x1013f349
movd xmm1, ebx
movd xmm2, eax
punpckldq xmm1, xmm2
movq qword [esp + 0xa8], xmm1
fild qword [esp + 0xa8]
fstp qword [esp + 0xa0]
movsd xmm1, qword [esp + 0xa0]
ucomisd xmm0, xmm1
ja 0x1013f342
xor ebx, ebx
ucomisd xmm1, xmm0
seta bl
mov edx, dword [esp + 0xc]
jmp 0x1013d295
mov ebx, edi
jmp 0x1013f66f
mov eax, edi
mov ebx, edi
jmp 0x1013d332
mov dword [0x101f4188], 1
mov ebx, dword [0x101f4170]
test ebx, ebx
je 0x1013f394
mov ecx, dword [0x101f1078]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov ebx, dword [0x101f4170]
test ebx, ebx
je 0x1013f394
mov ecx, dword [0x101f1070]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov eax, dword [0x101f4184]
mov ecx, dword [0x101f4180]
mov edx, ecx
or edx, eax
je 0x1013cdcd
sub ecx, esi
sbb eax, edi
xor edi, edi
cmp dword [0x101f411c], ecx
mov ecx, 0
sbb ecx, eax
jl 0x1013cdcd
jmp 0x1013ce29
test ebx, ebx
je 0x1013f3d7
test al, 1
sete al
mov ecx, dword [esp + 0xc]
xor al, byte [ecx + 0x10]
test al, 1
jne 0x1013d34a
jmp 0x1013f0c4
lea eax, [esp + 0x108]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 4]
push eax
push 0
call fcn.10019760
add esp, 8
mov esi, dword [esp + 0xc]
mov edx, edi
mov edi, eax
jmp 0x1013d94a
mov ecx, edi
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 4]
mov edi, dword [eax + edx]
mov eax, dword [eax + edx + 4]
bswap edi
bswap eax
mov dword [esp + 0x10c], edi
mov edx, edi
not edx
movd xmm1, edi
and edi, 0xfffff
or edi, eax
mov esi, 8
mov edi, 1
mov dword [esp + 0xc], edi
cmovne esi, edi
test edx, 0x7ff00000
mov edx, 8
cmovne esi, edx
mov dword [esp + 0x108], eax
mov word [esp + 0x118], si
movd xmm0, eax
punpckldq xmm0, xmm1
movsd xmm1, qword [0x101b11d0]
ucomisd xmm1, xmm0
ja 0x1013f549
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
ucomisd xmm0, qword [0x101b10f8]
jae 0x1013f53f
mov eax, ebx
mov ebx, dword [ebx + 4]
mov esi, dword [eax]
movsd qword [esp + 0x98], xmm0
fld qword [esp + 0x98]
fnstcw word [esp + 0x4e]
movzx edx, word [esp + 0x4e]
or edx, 0xc00
mov word [esp + 0x62], dx
fldcw word [esp + 0x62]
fistp qword [esp + 0x98]
fldcw word [esp + 0x4e]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
cmp esi, eax
mov edi, ebx
sbb edi, edx
jl 0x1013f53f
cmp eax, esi
sbb edx, ebx
jl 0x1013f549
movd xmm1, esi
movd xmm2, ebx
punpckldq xmm1, xmm2
movq qword [esp + 0xf8], xmm1
fild qword [esp + 0xf8]
fstp qword [esp + 0xf0]
movsd xmm1, qword [esp + 0xf0]
ucomisd xmm0, xmm1
mov edx, 1
mov edi, ecx
ja 0x1013ccdd
xor ebx, ebx
ucomisd xmm1, xmm0
seta bl
neg ebx
mov dword [esp + 0xc], 7
jmp 0x1013cc61
xor edx, edx
inc edx
mov edi, ecx
jmp 0x1013ccdd
xor edx, edx
dec edx
mov edi, ecx
jmp 0x1013ccdd
mov eax, dword [esp + 4]
mov ecx, dword [edi + eax]
mov eax, dword [edi + eax + 4]
bswap ecx
bswap eax
mov dword [esp + 0x10c], ecx
mov edx, ecx
not edx
movd xmm1, ecx
and ecx, 0xfffff
xor esi, esi
inc esi
or ecx, eax
mov ecx, 8
cmovne ecx, esi
test edx, 0x7ff00000
mov edx, 8
cmovne ecx, edx
mov dword [esp + 0x108], eax
mov word [esp + 0x118], cx
movd xmm0, eax
punpckldq xmm0, xmm1
movsd xmm1, qword [0x101b11d0]
ucomisd xmm1, xmm0
ja 0x1013f66d
xor ebx, ebx
inc ebx
ucomisd xmm0, qword [0x101b10f8]
jae 0x1013f07f
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 4]
mov ecx, dword [eax]
movsd qword [esp + 0x78], xmm0
fld qword [esp + 0x78]
fnstcw word [esp + 0x46]
movzx edx, word [esp + 0x46]
or edx, 0xc00
mov word [esp + 0x5a], dx
fldcw word [esp + 0x5a]
fistp qword [esp + 0x78]
fldcw word [esp + 0x46]
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
cmp ecx, edi
mov eax, esi
sbb eax, edx
jl 0x1013f07f
cmp edi, ecx
sbb edx, esi
jl 0x1013f66f
movd xmm1, ecx
movd xmm2, esi
punpckldq xmm1, xmm2
movq qword [esp + 0xb8], xmm1
fild qword [esp + 0xb8]
fstp qword [esp + 0xb0]
movsd xmm1, qword [esp + 0xb0]
ucomisd xmm0, xmm1
mov edi, ebx
mov edx, dword [esp + 0xc]
ja 0x1013d332
xor ebx, ebx
ucomisd xmm1, xmm0
seta bl
neg ebx
mov dword [esp + 8], 7
jmp 0x1013d295
mov ebx, esi
xor edi, edi
dec edi
jmp 0x1013d332
mov esi, 0xd
jmp 0x1013eee1
mov dword [edx + 8], 0
mov edi, dword [edx + 4]
test edi, edi
je 0x1013d7b9
mov eax, dword [edi + 0x20]
or eax, dword [edi + 0x24]
je 0x1013f7f8
mov edi, dword [edi + 0x2c]
test edi, edi
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 4]
jne 0x1013f693
jmp 0x1013d7b9
mov edi, eax
cmp eax, 5
jne 0x1013eeee
jmp 0x1013d7b9
movsx ecx, byte [ebx]
mov edx, ecx
shl edx, 0x10
mov dword [esp + 0x28], esi
movzx esi, byte [ebx + 1]
shl esi, 8
or esi, edx
movzx edx, byte [ebx + 2]
or edx, esi
mov dword [esp + 0x20], edx
mov esi, dword [esp + 0x28]
jmp 0x1013dbd1
mov ecx, dword [ebx]
bswap ecx
jmp 0x1013dbcd
push 0x101db30a
push 0xef4f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov esi, 0xb
mov ecx, edi
call fcn.10158c50
mov edi, esi
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx + 0xe4]
mov ecx, dword [eax + 0x10]
or ecx, dword [eax + 0x14]
jne 0x1013f73b
mov ecx, dword [esp + 0x20]
call fcn.10164f30
mov esi, dword [esp + 0xc]
jmp 0x1013d0bd
call dword [section..00cfg]
call ecx
jmp 0x1013dc71
call dword [section..00cfg]
call ecx
jmp 0x1013dcb2
cmp dword [eax + 4], 1
jne 0x1013f820
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x38]
movzx ecx, byte [ecx + 9]
mov edx, dword [ecx + eax + 8]
bswap edx
mov ecx, dword [esp + 0x1c]
mov byte [ecx], 0
call fcn.1000bcc0
jmp 0x1013f23b
mov dword [esi + 8], 0
mov edi, dword [esi + 4]
test edi, edi
je 0x1013db30
mov eax, dword [edi + 0x20]
or eax, dword [edi + 0x24]
je 0x1013f869
mov edi, dword [edi + 0x2c]
test edi, edi
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x50]
jne 0x1013f79c
jmp 0x1013db30
mov edi, eax
cmp eax, 5
je 0x1013db30
jmp 0x1013f724
movsx edx, byte [esi]
mov ecx, edx
shl ecx, 0x10
movzx edi, byte [esi + 1]
shl edi, 8
or edi, ecx
movzx ecx, byte [esi + 2]
mov esi, edx
or ecx, edi
mov edi, ecx
sar esi, 0x1f
jmp 0x1013d6ce
mov edi, dword [esi]
bswap edi
jmp 0x1013dd1f
mov edx, dword [esp + 4]
jmp 0x1013d796
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x18]
add ecx, eax
lea ebx, [esp + 0x134]
mov edx, ebx
call fcn.100767a0
mov eax, dword [ebx]
jmp 0x1013dd61
push 0x101db30a
push 0x121d5
jmp 0x1013ec45
cmp dword [ebx + 0x1c], ecx
jb 0x1013f8b1
mov ecx, edi
call fcn.1013f960
mov edi, 0xd
jmp 0x1013f720
mov eax, dword [esp + 4]
lea ecx, [eax + esi]
mov esi, edi
lea edi, [esp + 0x134]
mov ebx, edx
mov edx, edi
call fcn.100767a0
mov edx, ebx
mov eax, dword [edi]
mov edi, esi
jmp 0x1013de93
mov esi, dword [esp + 0x50]
jmp 0x1013db11
movsx ecx, byte [edx]
mov eax, ecx
shl eax, 0x10
movzx edi, byte [edx + 1]
shl edi, 8
or edi, eax
movzx eax, byte [edx + 2]
jmp 0x1013e5a9
mov eax, dword [edx]
bswap eax
jmp 0x1013df51
mov eax, dword [esp + 0x18]
lea ecx, [edi + eax]
lea ebx, [esp + 0x104]
mov edx, ebx
call fcn.100767a0
mov ebx, dword [ebx]
jmp 0x1013e031
mov esi, 0xd
jmp 0x1013f717
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
jmp 0x1013f23b
lea ebx, [esp + 0x138]
mov edx, ebx
call fcn.10004db0
xor ecx, ecx
cmp ecx, dword [ebx + 4]
sbb ecx, ecx
or ecx, dword [ebx]
jmp 0x1013ca03
mov ecx, dword [0x101f1044]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1013e3c4
call dword [section..00cfg]
push edi
call ecx
add esp, 4
jmp 0x1013e371
lea edi, [esp + 0x138]
mov ecx, esi
mov edx, edi
call fcn.10004db0
xor ecx, ecx
cmp ecx, dword [edi + 4]
sbb ecx, ecx
or ecx, dword [edi]
jmp 0x1013e498
lea esi, [esp + 0x138]
mov edx, esi
call fcn.10004db0
xor ebx, ebx
cmp ebx, dword [esi + 4]
sbb ebx, ebx
or ebx, dword [esi]
jmp 0x1013e533
mov edi, eax
cmp eax, 0x10
jne 0x1013d7fc
jmp 0x1013dcfb