Function at 0x10140870
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x180
mov edi, ecx
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [esp + 0x178], eax
mov esi, dword [ecx + 0x74]
xor eax, eax
mov dword [esp + 0x48], ecx
cmp dword [esi + 0x14], 0
js 0x10142b87
mov dword [esp + 0x4c], eax
cmp byte [esi + 0xc], 0
jne 0x101408c9
mov eax, dword [esi + 0x14]
lea eax, [eax + eax*2]
mov ecx, dword [edi + 0x14]
mov ecx, dword [ecx + 0x28]
add ecx, ecx
xor ebx, ebx
cmp eax, ecx
jle 0x1014240c
jmp 0x10142401
mov cl, byte [edi + 0x44]
test cl, cl
je 0x10142476
mov eax, dword [esi + 0x48]
cmp dword [eax + 0x20], 2
jge 0x10142dff
mov byte [esp + 0x67], cl
movsx eax, cl
mov ebx, dword [edi + eax*4 + 0x74]
movzx eax, word [edi + eax*2 + 0x46]
mov dword [esp + 0x20], eax
mov ecx, dword [ebx + 0x48]
call fcn.1013b1c0
test eax, eax
jne 0x1014281d
cmp dword [ebx + 0x14], 0
js 0x1014280e
cmp byte [esi + 2], 0
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x58], esi
jne 0x101428f5
mov eax, dword [edi + 0x14]
mov ecx, dword [eax + 0x24]
call fcn.1000f800
movzx ecx, byte [edi + 3]
mov dword [esp + 0xac], 0
mov byte [esp + 0xb0], 0
xorps xmm0, xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xd0], xmm0
movaps xmmword [esp + 0xe0], xmm0
movaps xmmword [esp + 0xf0], xmm0
mov dword [esp + 0x6c], eax
test eax, eax
je 0x10142d43
and ecx, 1
mov dword [esp + 0x30], ecx
movzx ecx, byte [ebx + 0xc]
movzx eax, word [ebx + 0x18]
lea edx, [eax + ecx]
mov edi, edx
cmp edx, 2
jb 0x10142877
mov edx, dword [esp + 0x20]
test edx, edx
je 0x101423f4
cmp edi, edx
je 0x10142758
dec edx
mov dword [esp + 0x28], edx
mov edi, 2
sub edi, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
sub edx, ecx
mov ecx, edi
mov dword [esp + 0x40], edi
add edx, edi
cmp edx, eax
je 0x101423e8
mov eax, dword [ebx + 0x40]
movzx eax, word [eax + edx*2]
rol ax, 8
and ax, word [ebx + 0x1a]
movzx edi, ax
mov ecx, dword [ebx + 0x34]
mov edx, dword [esp + 0x40]
lea eax, [edx + 1]
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x68], eax
mov esi, dword [eax + edi]
bswap esi
lea eax, [edx*4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
lea ebx, [eax - 1]
mov dword [esp + 0x34], ebx
add eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], 0
mov dword [esp + 8], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0xc], edx
lea eax, [esp + edx]
add eax, 0x16c
mov edx, esi
push 0
push eax
call fcn.10140270
add esp, 8
mov dword [esp + 0xa8], eax
test eax, eax
jne 0x10142b0a
mov edx, dword [esp + 8]
mov edi, dword [esp + edx*4 + 0x16c]
cmp dword [edi + 0x14], 0
js 0x1014271b
movzx eax, word [edi + 0x18]
mov edi, dword [esp + 0x14]
add edi, eax
add edi, 4
mov ebx, edx
sub ebx, 1
jb 0x10140b4d
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x3c]
movzx eax, byte [edi + 0xc]
mov ecx, dword [esp + 0x34]
add ecx, edx
mov dword [esp + 0x10], ecx
test eax, eax
mov esi, edx
mov dword [esp + 8], edx
jne 0x10142be8
movzx ecx, word [edi + 0x1a]
mov edx, dword [edi + 0x40]
add eax, eax
sub edx, eax
mov eax, dword [edi + 0x38]
add edx, dword [esp + 0x44]
movzx edx, word [edx + esi*2 - 2]
rol dx, 8
and edx, ecx
lea edi, [eax + edx]
mov dword [esp + esi*4 + 0x14c], edi
mov esi, dword [eax + edx]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x4c]
call dword [section..00cfg]
mov dword [esp + 0x70], edi
push edi
mov edi, dword [esp + 0x40]
push edi
call ecx
add esp, 8
movzx ecx, ax
mov eax, ecx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 8]
mov dword [esp + eax*4 + 0x110], ecx
mov eax, dword [esp + 0x50]
test byte [eax + 0x18], 0xc
jne 0x10142c34
bswap esi
movzx eax, byte [edi + 0xc]
mov edx, dword [esp + 0x10]
sub edx, eax
mov ecx, edi
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0x20]
call fcn.1000f520
add esp, 8
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xc]
add edx, 0xfffffffc
mov dword [esp + 8], ebx
test eax, eax
mov ecx, dword [esp + 0x50]
je 0x10140a27
jmp 0x10142b0e
mov dword [esp + 0xa4], esi
add edi, 3
and edi, 0xfffffffc
lea ecx, [edi + edi*2]
add ecx, ecx
mov eax, dword [esp + 0x50]
add ecx, dword [eax + 0x24]
mov edx, ecx
sar edx, 0x1f
call fcn.10143580
mov dword [esp + 0xc8], eax
test eax, eax
je 0x10142d50
lea eax, [eax + edi*4]
mov dword [esp + 0xcc], eax
lea eax, [eax + edi*2]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0xc4], ecx
movzx eax, byte [ecx + 8]
mov dword [esp + 0x70], eax
shl eax, 2
mov dword [esp + 0x5c], eax
mov dword [esp + 0x2c], ecx
movzx eax, byte [ecx + 2]
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x1c], eax
mov edi, dword [esp + eax*4 + 0x16c]
mov ebx, dword [edi + 0x38]
mov al, byte [ebx]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x38]
cmp al, byte [ecx]
jne 0x10142a3a
movzx edx, word [edi + 0x18]
movzx eax, word [edi + 0x1a]
mov dword [esp + 0x14], eax
movzx esi, word [edi + 0x12]
mov eax, dword [esp + 0xc0]
add eax, eax
add eax, dword [esp + 0xcc]
add esi, ebx
movzx ecx, byte [edi + 0xc]
mov dword [esp + 0xc], edx
add ecx, edx
add ecx, ecx
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x10], edi
cmp byte [edi + 0xc], 0
mov dword [esp + 8], ebx
jne 0x10140dd2
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0x10]
movzx ecx, word [edi + 0x12]
lea edx, [ebx + ecx]
movzx edi, word [edi + 0x18]
lea edx, [edx + edi*2]
cmp esi, edx
jae 0x10140d11
mov dword [esp + 0xc], edx
add edi, edi
add edi, ebx
add edi, ecx
lea edx, [esi + 2]
cmp edi, edx
cmovbe edi, edx
mov ecx, esi
not ecx
add ecx, edi
test cl, 2
jne 0x10140c99
movzx esi, word [esi]
rol si, 8
mov edi, dword [esp + 0x14]
and edi, esi
movzx esi, di
add esi, ebx
mov edi, dword [esp + 0xc8]
mov dword [edi + eax*4], esi
mov eax, dword [esp + 0xc0]
inc eax
mov dword [esp + 0xc0], eax
jmp 0x10140c9b
mov edx, esi
cmp ecx, 2
mov edi, 0xffff
mov ecx, dword [esp + 0x14]
jb 0x10140d11
movzx esi, word [edx]
rol si, 8
mov ebx, ecx
and ecx, edi
and esi, ecx
add esi, dword [esp + 8]
mov edi, dword [esp + 0xc8]
mov dword [edi + eax*4], esi
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0xc8]
lea edi, [eax + 1]
mov dword [esp + 0xc0], edi
movzx edi, word [edx + 2]
rol di, 8
and edi, ecx
mov ecx, ebx
mov ebx, dword [esp + 8]
add edi, ebx
mov dword [esi + eax*4 + 4], edi
mov esi, dword [esp + 0xc]
mov edi, 0xffff
add edx, 4
mov eax, dword [esp + 0xc0]
inc eax
mov dword [esp + 0xc0], eax
cmp edx, esi
jb 0x10140ca9
mov edi, dword [esp + 0x1c]
mov dword [esp + edi*4 + 0x128], eax
cmp edi, dword [esp + 0x40]
jae 0x10140dc0
cmp byte [esp + 0x34], 0
jne 0x10140dc0
mov ecx, dword [esp + edi*4 + 0x114]
movzx ecx, cx
mov edx, dword [esp + 0xcc]
mov word [edx + eax*2], cx
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
lea esi, [eax + edx]
add edx, ecx
mov dword [esp + 0x44], edx
push ecx
push dword [esp + edi*4 + 0x154]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x5c]
add esi, edx
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc8]
mov dword [ecx + eax*4], esi
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xcc]
sub word [ecx + eax*2], dx
mov edx, dword [esp + 0x10]
cmp byte [edx + 8], 0
mov eax, dword [esp + 0xc0]
je 0x10140e68
mov ecx, dword [esp + 0xcc]
cmp word [ecx + eax*2], 3
jbe 0x10142b49
inc eax
mov dword [esp + 0xc0], eax
lea eax, [edi + 1]
cmp edi, dword [esp + 0x40]
jne 0x10140bc3
jmp 0x10140e86
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 0x1c]
cmp word [esp + 0xc], cx
jb 0x10142ba5
mov eax, dword [esp + 0xc0]
test ecx, ecx
mov ebx, dword [esp + 8]
je 0x10140e33
movzx edx, word [esi]
rol dx, 8
mov edi, dword [esp + 0x14]
and edi, edx
movzx edx, di
add edx, ebx
mov edi, dword [esp + 0xc8]
mov dword [edi + eax*4], edx
add esi, 2
mov eax, dword [esp + 0xc0]
inc eax
mov dword [esp + 0xc0], eax
dec ecx
jne 0x10140df4
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0xc], 0
je 0x10140c35
xor ecx, ecx
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx + ecx*4 + 0x24]
mov edi, dword [esp + 0xc8]
mov dword [edi + eax*4], edx
mov eax, dword [esp + 0xc0]
inc eax
mov dword [esp + 0xc0], eax
inc ecx
movzx edx, byte [ebx + 0xc]
cmp ecx, edx
jb 0x10140e39
mov ebx, dword [esp + 8]
jmp 0x10140c35
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [edx + 0x38]
mov ecx, dword [ecx + 8]
mov dword [eax], ecx
mov eax, dword [esp + 0xc0]
jmp 0x10140db8
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0x5c]
add eax, ecx
add eax, 0xfffffff4
mov dword [esp + 0x44], eax
xor esi, esi
xor eax, eax
mov edx, dword [esp + esi*4 + 0x16c]
mov ecx, dword [edx + 0x3c]
mov dword [esp + eax*4 + 0xd0], ecx
mov ecx, dword [esp + esi*4 + 0x128]
mov dword [esp + eax*4 + 0xe8], ecx
mov ebx, 0
test eax, eax
je 0x10140ed3
lea ebx, [eax - 1]
cmp ecx, dword [esp + eax*4 + 0xe4]
cmovne ebx, eax
cmp byte [esp + 0x34], 0
jne 0x10140ef3
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x3c]
mov dword [esp + ebx*4 + 0xd4], eax
lea eax, [ecx + 1]
mov dword [esp + ebx*4 + 0xec], eax
inc ebx
mov edi, dword [esp + 0x44]
sub edi, dword [edx + 0x14]
mov dword [esp + esi*4 + 0x114], edi
cmp byte [edx + 0xc], 0
jne 0x10140f1e
mov dword [esp + esi*4 + 0x13c], ecx
lea ecx, [esi + 1]
inc ebx
mov eax, ebx
cmp esi, dword [esp + 0x40]
mov esi, ecx
jne 0x10140e9e
jmp 0x10140f75
xor eax, eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 8], eax
mov ecx, dword [edx + 0x4c]
mov eax, dword [edx + eax*4 + 0x24]
mov dword [esp + 0x14], eax
call dword [section..00cfg]
push dword [esp + 0x14]
push dword [esp + 0x10]
call ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
add esp, 8
movzx eax, ax
add edi, eax
add edi, 2
mov dword [esp + esi*4 + 0x114], edi
inc dword [esp + 8]
movzx eax, byte [edx + 0xc]
cmp dword [esp + 8], eax
mov eax, dword [esp + 8]
jae 0x10140f07
jmp 0x10140f28
xor ebx, ebx
mov eax, dword [esp + 0x74]
mov dword [esp + 0xc], eax
mov edi, dword [esp + ebx*4 + 0x114]
cmp edi, dword [esp + 0x44]
jg 0x1014104f
mov esi, dword [esp + ebx*4 + 0x13c]
mov dword [esp + ebx*4 + 0x114], edi
mov eax, dword [esp + 0xc0]
cmp esi, eax
jge 0x10141022
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + esi*2]
test ax, ax
je 0x10142a27
movzx eax, ax
add edi, eax
add edi, 2
cmp edi, dword [esp + 0x44]
jg 0x1014101b
inc esi
mov dword [esp + ebx*4 + 0x114], edi
mov dword [esp + ebx*4 + 0x13c], esi
cmp byte [esp + 0x34], 0
jne 0x1014100f
cmp esi, dword [esp + 0xc0]
jge 0x10142848
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + esi*2]
test ax, ax
jne 0x1014100c
lea ecx, [esp + 0xc0]
mov edx, esi
call fcn.10143160
movzx eax, ax
add eax, 2
sub dword [esp + ebx*4 + 0x118], eax
jmp 0x10140f9e
mov eax, dword [esp + 0xc0]
cmp esi, eax
jge 0x1014111e
xor eax, eax
test ebx, ebx
je 0x10141037
mov eax, dword [esp + ebx*4 + 0x138]
cmp esi, eax
jle 0x10142cd4
inc ebx
cmp ebx, dword [esp + 0xc]
jl 0x10140f7f
jmp 0x10141123
lea eax, [ebx + 1]
mov dword [esp + 0x14], eax
lea eax, [ebx + 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0xc]
jge 0x101410eb
mov ecx, dword [esp + ebx*4 + 0x13c]
lea esi, [ecx - 1]
mov eax, dword [esp + 0xcc]
mov dword [esp + 8], ecx
movzx eax, word [eax + ecx*2 - 2]
test ax, ax
jne 0x10141098
lea ecx, [esp + 0xc0]
mov edx, esi
call fcn.10143160
movzx eax, ax
add eax, 2
sub edi, eax
cmp byte [esp + 0x34], 0
mov edx, dword [esp + 8]
jne 0x101410ce
cmp edx, dword [esp + 0xc0]
jge 0x1014111a
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + edx*2]
test ax, ax
je 0x10142e5c
movzx eax, ax
add eax, 2
add dword [esp + ebx*4 + 0x118], eax
mov dword [esp + ebx*4 + 0x13c], esi
cmp edi, dword [esp + 0x44]
jle 0x10140f97
jmp 0x1014105d
cmp ebx, 4
jae 0x10142bb9
mov dword [esp + ebx*4 + 0x118], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + ebx*4 + 0x140], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
jmp 0x1014106b
xor eax, eax
jmp 0x101410ce
inc ebx
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0xc]
lea ecx, [eax - 1]
mov eax, dword [esp + 0x34]
add eax, eax
neg eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x20]
test ecx, ecx
jle 0x10141265
mov ebx, dword [esp + ecx*4 + 0x110]
mov eax, dword [esp + ecx*4 + 0x114]
mov dword [esp + 8], eax
mov edi, ecx
mov esi, dword [esp + ecx*4 + 0x138]
mov edx, esi
sub edx, dword [esp + 0x34]
mov ecx, dword [esp + 0xcc]
cmp word [ecx + edx*2], 0
je 0x10142a05
lea eax, [edi - 1]
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x24], edi
cmp edi, dword [esp + 0x60]
sete al
add eax, eax
add eax, 0xfffffffe
mov dword [esp + 0x18], eax
lea edi, [esi - 1]
movzx eax, word [ecx + esi*2 - 2]
test ax, ax
jne 0x101411b8
lea ecx, [esp + 0xc0]
mov edx, edi
call fcn.10143160
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x10], edi
movzx edi, ax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
add eax, ecx
movzx eax, word [eax + esi*2]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x10141260
mov edx, esi
cmp byte [esp + 0x30], 0
jne 0x10142a20
add eax, ecx
add eax, 2
mov esi, ecx
mov ecx, dword [esp + 0x18]
add ecx, ebx
sub ecx, edi
cmp eax, ecx
jg 0x10141225
sub ebx, edi
add ebx, 0xfffffffe
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x13c], edx
mov ecx, edx
inc ecx
mov dword [esp + 8], eax
mov esi, edx
cmp ecx, 1
mov ecx, dword [esp + 0x1c]
jg 0x10141196
jmp 0x10141227
mov eax, esi
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x114], eax
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x114], ebx
xor eax, eax
cmp ecx, 2
jl 0x1014124b
mov eax, dword [esp + ecx*4 + 0x134]
mov ecx, dword [esp + 0x14]
cmp edx, eax
mov edx, dword [esp + 0x20]
jg 0x1014113e
jmp 0x10142bd4
add eax, 2
jmp 0x101411f9
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
mov al, byte [eax]
mov byte [esp + 0x10], al
movzx eax, al
cmp dword [esp + 0xc], 0
jle 0x101423a8
sub edx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
and eax, 8
mov dword [esp + 8], eax
xor edi, edi
xor ebx, ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], edx
cmp ebx, eax
ja 0x1014130b
mov esi, dword [esp + ebx*4 + 0x16c]
mov dword [esp + ebx*4 + 0x158], esi
mov dword [esp + 0x88], esi
mov dword [esp + ebx*4 + 0x16c], 0
mov ecx, dword [esi + 0x48]
call fcn.1013b1c0
mov dword [esp + 0xa8], eax
inc edi
mov dword [esp + 0x14], edi
mov esi, dword [esi + 0x48]
mov edx, dword [esp + 0x20]
xor ecx, ecx
cmp edx, ebx
sete cl
inc ecx
cmp ecx, dword [esi + 0x20]
je 0x101412ef
test eax, eax
je 0x10142ca6
test eax, eax
jne 0x10142afd
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x14]
inc ebx
cmp dword [esp + 0xc], ebx
jne 0x1014129b
jmp 0x1014145e
xor eax, eax
inc eax
cmp byte [esp + 0x30], 0
je 0x1014243d
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x88]
push 0
push eax
lea eax, [esp + 0xac]
push eax
call fcn.10010080
add esp, 0xc
mov dword [esp + 0xa8], eax
test eax, eax
jne 0x10142e51
mov edi, dword [esp + 0x88]
mov eax, dword [edi + 0x34]
mov esi, dword [edi + 0x38]
movzx edx, byte [edi + 9]
mov ecx, eax
test byte [eax + 0x18], 0xc
mov dword [esp + 0x18], eax
jne 0x10142449
mov al, byte [esp + 0x10]
mov byte [esi + edx], al
mov dword [esi + edx + 1], 0
xor eax, eax
mov byte [esi + edx + 7], al
mov al, byte [ecx + 0x29]
mov byte [esi + edx + 5], al
mov al, byte [ecx + 0x28]
mov byte [esi + edx + 6], al
xor eax, eax
cmp dword [esp + 8], 0
sete al
lea ecx, [edx + eax*4]
mov dword [esp + 0x38], ecx
lea ecx, [edx + eax*4 + 8]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x28]
sub eax, ecx
movzx eax, ax
mov dword [edi + 0x14], eax
mov ecx, edi
mov edx, dword [esp + 0x1c]
call fcn.10009ee0
mov eax, dword [esp + 0x2c]
mov word [edi + 0x12], ax
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x24]
add eax, esi
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0x38]
add eax, esi
add eax, 8
mov dword [edi + 0x40], eax
movzx eax, byte [edi + 0xa]
add eax, esi
mov dword [edi + 0x44], eax
xor edx, edx
mov byte [edi + 0xc], dl
mov eax, dword [ecx + 0x24]
dec eax
mov word [edi + 0x1a], ax
mov word [edi + 0x18], 0
mov byte [edi], 1
mov eax, dword [esp + 0xc0]
mov dword [esp + ebx*4 + 0x128], eax
mov dword [esp + ebx*4 + 0x158], edi
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x50]
cmp byte [ecx + 0x11], dl
je 0x101412f7
mov edx, dword [edi + 4]
lea eax, [esp + 0xa8]
push eax
mov eax, dword [esp + 0x40]
push dword [eax + 4]
push 5
call fcn.1000f960
add esp, 0xc
mov esi, dword [esp + 0xa8]
test esi, esi
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x14]
je 0x101412ff
jmp 0x10142b03
test edi, edi
jle 0x101423b1
xor eax, eax
mov ecx, dword [esp + eax*4 + 0x158]
mov ecx, dword [ecx + 4]
mov dword [esp + eax*4 + 0x100], ecx
inc eax
cmp edi, eax
jne 0x10141468
lea eax, [edi - 1]
mov dword [esp + 0x20], eax
xor ecx, ecx
cmp edi, 2
jl 0x10142766
mov dword [esp + 0x14], edi
mov eax, ecx
inc ecx
cmp ecx, edi
jge 0x101414ce
mov dword [esp + 0x38], ecx
mov esi, eax
mov edx, dword [esp + ecx*4 + 0x158]
mov edi, dword [edx + 4]
mov ebx, dword [esp + esi*4 + 0x158]
mov edx, ecx
cmp edi, dword [ebx + 4]
jb 0x101414bb
mov edx, esi
inc ecx
mov esi, edx
mov edi, dword [esp + 0x14]
cmp edi, ecx
jne 0x101414a1
cmp edx, eax
mov ecx, dword [esp + 0x38]
jne 0x101414d9
cmp ecx, dword [esp + 0x20]
jne 0x10141494
jmp 0x101416a3
mov eax, dword [esp + eax*4 + 0x158]
mov ecx, dword [eax + 4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov esi, dword [eax + 0x48]
mov eax, dword [esp + edx*4 + 0x158]
mov ecx, dword [eax + 4]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x1c], eax
mov ecx, dword [eax + 0x48]
mov eax, dword [0x101ef688]
xor edx, edx
mov edi, dword [esp + 0x50]
div dword [edi + 0x24]
mov edi, eax
inc edi
movzx eax, word [ecx + 0x1c]
movzx ecx, word [esi + 0x1c]
mov word [esp + 0x2c], cx
mov word [esp + 0x18], ax
mov word [esi + 0x1c], ax
mov eax, dword [esi + 0xc]
mov ecx, dword [0x101ef0a0]
mov dword [esp + 0x24], eax
mov ebx, dword [eax + 0x34]
call dword [section..00cfg]
push 0
push edi
push ebx
call ecx
add esp, 0xc
test eax, eax
jne 0x10142e6d
mov ecx, dword [0x101ef0a8]
mov eax, dword [esi]
mov dword [esp + 0x60], eax
mov ebx, dword [esi + 0x18]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x24], eax
call dword [section..00cfg]
push edi
push ebx
push dword [esp + 0x68]
push dword [esp + 0x30]
call ecx
add esp, 0x10
mov dword [esi + 0x18], edi
mov eax, dword [esi + 0x1c]
not eax
test al, 0xa
je 0x10142e8e
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x48]
movzx eax, word [esp + 0x2c]
mov word [esi + 0x1c], ax
mov eax, dword [esi + 0xc]
mov ecx, dword [0x101ef0a0]
mov dword [esp + 0x2c], eax
mov ebx, dword [eax + 0x34]
call dword [section..00cfg]
push 0
mov edi, dword [esp + 0x14]
push edi
push ebx
call ecx
add esp, 0xc
test eax, eax
jne 0x10142e9f
mov ecx, dword [0x101ef0a8]
mov eax, dword [esi]
mov dword [esp + 0x24], eax
mov ebx, dword [esi + 0x18]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x2c], eax
call dword [section..00cfg]
push edi
push ebx
push dword [esp + 0x2c]
push dword [esp + 0x38]
call ecx
add esp, 0x10
mov dword [esi + 0x18], edi
mov eax, dword [esi + 0x1c]
not eax
test al, 0xa
je 0x10142ec0
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x48]
movzx eax, word [esp + 0x18]
mov word [esi + 0x1c], ax
mov eax, dword [esi + 0xc]
mov ecx, dword [0x101ef0a0]
mov dword [esp + 0x18], eax
mov ebx, dword [eax + 0x34]
call dword [section..00cfg]
push 0
mov edi, dword [esp + 0x34]
push edi
push ebx
call ecx
add esp, 0xc
test eax, eax
jne 0x10142ed1
mov ecx, dword [0x101ef0a8]
mov eax, dword [esi]
mov dword [esp + 0x2c], eax
mov ebx, dword [esi + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x18], eax
call dword [section..00cfg]
push edi
push ebx
push dword [esp + 0x34]
push dword [esp + 0x24]
call ecx
add esp, 0x10
mov dword [esi + 0x18], edi
mov eax, dword [esi + 0x1c]
not eax
test al, 0xa
je 0x10142ef2
mov eax, dword [esp + 0xc]
mov dword [eax + 4], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 4], eax
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
jmp 0x101414ce
mov al, 1
mov dword [esp + 0x38], eax
mov al, 1
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0x158]
mov ecx, dword [eax + 4]
bswap ecx
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x68]
mov dword [esi + edx], ecx
cmp dword [esp + 8], 0
jne 0x101416db
cmp dword [esp + 0x74], edi
jne 0x101427e5
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x50]
cmp byte [eax + 0x11], 0
je 0x101418ab
mov eax, dword [esp + 0xc0]
test eax, eax
jle 0x101418ab
xor ecx, ecx
cmp byte [esp + 0x34], 0
sete cl
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x158]
movzx ecx, byte [edx + 0xc]
movzx esi, word [edx + 0x18]
add esi, ecx
mov dword [esp + 0x1c], esi
xor edi, edi
mov dword [esp + 8], 0
xor ecx, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edx
jmp 0x1014175b
lea esi, [ecx + 1]
mov ecx, dword [esp + ecx*4 + 0x15c]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x34], 0
jne 0x1014177a
nop word [eax + eax]
inc edi
mov ecx, esi
cmp edi, eax
jge 0x101418ab
cmp edi, dword [esp + 0x1c]
je 0x10141813
mov edx, dword [esp + 0xc8]
mov ebx, dword [edx + edi*4]
cmp edi, dword [esp + ecx*4 + 0x13c]
je 0x10141735
mov esi, ecx
mov ecx, dword [esp + 8]
cmp ecx, dword [esp + 0x14]
jge 0x101417aa
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 8]
cmp ecx, dword [esp + edx*4 + 0x100]
jne 0x101417aa
mov ecx, dword [esp + 0xc]
cmp ebx, dword [ecx + 0x38]
jb 0x101417aa
mov ecx, dword [esp + 0xc]
cmp ebx, dword [ecx + 0x3c]
jb 0x10141750
cmp byte [esp + 0x70], 0
je 0x10141885
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + edi*2]
test ax, ax
jne 0x101417d3
lea ecx, [esp + 0xc0]
mov edx, edi
call fcn.10143160
mov ecx, dword [esp + 0x10]
cmp ax, word [ecx + 0x10]
ja 0x101417f8
mov eax, dword [esp + 0xa8]
test eax, eax
jne 0x10142d16
mov eax, dword [esp + 0xc0]
jmp 0x10141750
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
lea eax, [esp + 0xa8]
push eax
push ebx
call fcn.1000f6a0
add esp, 8
jmp 0x101417dd
mov edx, dword [esp + 0x24]
add edx, edi
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x170]
mov ebx, dword [esp + 8]
lea edx, [edx + ebx*4]
mov dword [esp + 0x30], edx
lea esi, [esp + 0x15c]
lea edx, [esi + ebx*4]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 8]
inc edx
mov esi, edx
mov dword [esp + 8], edx
cmp edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x30]
mov esi, ebx
cmovl esi, dword [esp + 0x18]
mov edx, dword [esi]
movzx esi, word [edx + 0x18]
add esi, dword [esp + 0x2c]
mov dword [esp + 0xc], edx
movzx edx, byte [edx + 0xc]
add edx, esi
add ebx, 4
mov dword [esp + 0x30], ebx
add dword [esp + 0x18], 4
mov dword [esp + 0x1c], edx
cmp edi, edx
jne 0x10141765
jmp 0x1014183d
mov edx, dword [ebx]
bswap edx
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0xa8]
push eax
mov eax, dword [esp + 0x14]
push dword [eax + 4]
push 5
call fcn.1000f960
add esp, 0xc
jmp 0x101417b5
cmp byte [esp + 0x38], 0
je 0x101419c1
xor esi, esi
xor eax, eax
mov edx, dword [esp + esi*4 + 0x158]
mov dword [esp + 0x18], esi
mov ebx, dword [esp + esi*4 + 0x13c]
mov esi, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov edi, dword [esi + ebx*4]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
movzx ecx, word [ecx + ebx*2]
mov dword [esp + 0x30], edx
cmp byte [edx + 8], 0
mov edx, dword [esp + 0x5c]
lea edi, [ecx + edx]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x1c], eax
lea eax, [edx + eax]
mov dword [esp + 0x10], eax
je 0x101419a8
cmp byte [esp + 0x34], 0
jne 0x10142884
add dword [esp + 8], 0xfffffffc
cmp cx, 4
mov edx, dword [esp + 0xc]
je 0x10142c83
mov esi, dword [esp + 0x30]
mov dword [esp + 0xc], edi
xor eax, eax
lea ecx, [eax + 1]
cmp dword [esp + eax*4 + 0xe8], edx
jg 0x10141948
cmp eax, 6
mov eax, ecx
jb 0x10141935
mov ebx, esi
mov eax, dword [esp + ecx*4 + 0xcc]
mov edx, dword [esp + 8]
cmp eax, edx
jb 0x10141967
mov ecx, dword [esp + 0xc]
add ecx, edx
cmp eax, ecx
jb 0x10142d1f
mov eax, dword [esp + 0x28]
mov edi, edx
mov esi, dword [esp + 0x18]
lea edx, [esi + eax]
mov ecx, dword [esp + 0x3c]
push dword [ebx + 4]
push dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
push ebx
push edi
call fcn.1013acd0
add esp, 0x10
test eax, eax
jne 0x10142d0f
mov eax, dword [esp + 0x1c]
add eax, ebx
inc esi
cmp esi, dword [esp + 0x20]
jne 0x101418ba
jmp 0x101419c1
mov esi, dword [esp + 0x30]
mov eax, dword [esi + 0x38]
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0xc]
jmp 0x1014192f
mov dword [esp + 0xa8], 0
xor edx, edx
inc edx
mov edi, dword [esp + 0x14]
sub edx, edi
cmp edx, edi
mov eax, dword [esp + 0x40]
jge 0x10142204
xor ecx, ecx
cmp byte [esp + 0x34], 0
sete cl
mov dword [esp + 0x80], ecx
mov esi, edx
neg esi
cmovs esi, edx
cmp byte [esp + esi + 0xac], 0
jne 0x10141b83
test edx, edx
jns 0x10141c97
mov eax, dword [esp + esi*4 + 0x124]
cmp eax, dword [esp + esi*4 + 0x138]
mov eax, dword [esp + 0x40]
jl 0x10141b83
cmp esi, eax
jg 0x10142149
lea eax, [esi - 1]
mov edi, dword [esp + esi*4 + 0x124]
mov ecx, dword [esp + 0x80]
add edi, ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x5c], edx
mov edi, dword [esp + eax*4 + 0x13c]
add edi, ecx
mov ebx, dword [esp + esi*4 + 0x13c]
sub ebx, edi
mov ecx, dword [esp + esi*4 + 0x158]
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x34], eax
movzx eax, byte [ecx + 9]
mov dword [esp + 0x30], eax
lea eax, [ebx + ebx]
add eax, dword [ecx + 0x40]
mov dword [esp + 0x38], eax
mov eax, ebx
movzx ebx, word [ecx + 0x18]
movzx edx, byte [ecx + 0xc]
mov dword [esp + 0xc], edx
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x1c]
cmp edx, edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edi
mov dword [esp + 8], ecx
jl 0x1014203e
add ebx, edx
add ebx, dword [esp + 0xc]
lea esi, [eax + edi]
cmp ebx, esi
mov dword [esp + 0x60], esi
jg 0x10141cc8
mov edx, eax
mov ebx, eax
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
movzx eax, byte [ecx + edx + 5]
shl eax, 8
movzx ecx, byte [ecx + edx + 6]
add eax, ecx
dec eax
movzx eax, ax
add eax, edx
inc eax
cmp eax, dword [esp + 0x38]
mov ecx, dword [esp + 8]
jb 0x10142167
cmp eax, dword [ecx + 0x3c]
ja 0x10142167
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x1c]
mov eax, edi
sub esi, edi
jg 0x10141d6f
mov ebx, dword [esp + 0x20]
mov al, byte [ecx + 0xc]
test al, al
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x2c]
jne 0x10141dd5
cmp dword [esp + 0x10], ebx
jg 0x10141b91
mov eax, dword [esp + 0x10]
mov word [ecx + 0x18], ax
mov byte [ecx + 0xc], 0
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
mov byte [ebx + edi + 3], ah
mov al, byte [ecx + 0x18]
mov byte [ebx + edi + 4], al
mov eax, dword [esp + 0xc]
sub eax, ebx
mov byte [ebx + edi + 5], ah
mov byte [ebx + edi + 6], al
mov dword [esp + 0xa8], 0
mov edi, dword [esp + 0x14]
inc byte [esp + esi + 0xac]
mov eax, dword [esp + 0x44]
sub eax, dword [esp + esi*4 + 0x114]
mov ecx, dword [esp + esi*4 + 0x158]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x40]
inc edx
cmp edx, edi
jne 0x101419f2
jmp 0x10142204
lea eax, [ebx + ebx]
add eax, dword [ecx + 0x40]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x18]
lea eax, [ebx + edx]
mov ecx, dword [ecx + 0x38]
mov dword [esp + 0x1c], ecx
xor esi, esi
dec esi
mov ecx, esi
inc esi
cmp dword [esp + ecx*4 + 0xec], eax
jg 0x10141bbd
cmp esi, 6
jb 0x10141bac
mov eax, dword [esp + esi*4 + 0xd0]
mov dword [esp + 0x20], eax
lea ecx, [ebx + edx]
inc ecx
mov eax, dword [esp + 0xcc]
movzx edi, word [eax + ecx*2 - 2]
mov eax, dword [esp + 0x1c]
cmp byte [eax + 1], 0
jne 0x10141c60
mov eax, dword [esp + 0x1c]
cmp byte [eax + 2], 0
jne 0x10141c60
mov ebx, dword [esp + 0xc]
mov eax, ebx
sub eax, dword [esp + 0x38]
cmp eax, edi
jl 0x10142163
sub ebx, edi
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x24], ecx
mov eax, dword [eax + ecx*4 - 4]
cmp eax, dword [esp + 0x20]
jae 0x10141c26
lea ecx, [eax + edi]
cmp ecx, dword [esp + 0x20]
ja 0x10142a6f
push edi
push eax
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
sub ebx, dword [esp + 0x1c]
rol bx, 8
mov eax, dword [esp + 0x28]
mov word [eax], bx
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x60]
jge 0x10141cb7
cmp dword [esp + esi*4 + 0xe8], ecx
jle 0x10141c89
inc ecx
add eax, 2
mov dword [esp + 0x28], eax
jmp 0x10141bcc
mov ebx, ecx
mov ecx, dword [esp + 8]
mov edx, edi
lea eax, [esp + 0x88]
push eax
call fcn.1013b0b0
mov ecx, ebx
add esp, 4
test eax, eax
je 0x10141bec
mov ebx, eax
jmp 0x10141c04
mov edx, dword [esp + esi*4 + 0xd4]
mov dword [esp + 0x20], edx
inc esi
jmp 0x10141c53
jne 0x10141a27
mov dword [esp + 0x5c], edx
xor edi, edi
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x1c], 0
jmp 0x10141a5c
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 8]
jmp 0x10141b27
mov dword [esp + 0x28], ebx
mov eax, dword [ecx + 0x34]
mov edx, dword [ecx + 0x38]
mov eax, dword [eax + 0x28]
add eax, edx
mov dword [esp + 0xc], eax
movzx eax, byte [ecx + 9]
movzx ecx, byte [ecx + 0xa]
add ecx, eax
mov dword [esp + 0x68], edx
lea eax, [edx + ecx]
add eax, 8
mov dword [esp + 0x54], eax
mov dword [esp + 0x24], 0
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 0xc8]
mov ebx, dword [ecx + esi*4]
cmp ebx, dword [esp + 0x54]
jb 0x10141d62
cmp ebx, dword [esp + 0xc]
jae 0x10141d62
mov ecx, dword [esp + 0xcc]
movzx edi, word [ecx + esi*2]
lea ecx, [ebx + edi]
cmp edx, ecx
je 0x10141d6b
test edx, edx
je 0x10141d50
sub edx, dword [esp + 0x68]
mov dword [esp + 0x7c], ecx
mov ecx, 0xffff
and eax, ecx
and edx, ecx
mov ecx, dword [esp + 8]
push eax
call fcn.10143300
mov ecx, dword [esp + 0x80]
add esp, 4
cmp ecx, dword [esp + 0xc]
ja 0x10142b3a
inc dword [esp + 0x24]
mov edx, ebx
mov eax, edi
inc esi
cmp esi, dword [esp + 0x28]
jl 0x10141cff
jmp 0x10141da2
add edi, eax
jmp 0x10141d5a
cmp esi, ebx
cmovge esi, ebx
mov ebx, dword [ecx + 0x40]
lea eax, [ebx + esi*2]
mov ecx, dword [esp + 0x20]
add ecx, ecx
push ecx
push ebx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
test esi, esi
jg 0x10141f1a
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x20]
add ebx, esi
jmp 0x10141b0e
test edx, edx
je 0x10141dc0
sub edx, dword [esp + 0x68]
mov ecx, 0xffff
and eax, ecx
and edx, ecx
mov ecx, dword [esp + 8]
push eax
call fcn.10143300
add esp, 4
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
sub dword [esp + 0x20], eax
jmp 0x10141ac3
xor edi, edi
mov dword [esp + 0x28], edi
movzx edi, word [ecx + edi*2 + 0x1c]
add edi, dword [esp + 0x1c]
mov ecx, edi
sub ecx, dword [esp + 0x18]
js 0x10141ed8
cmp ecx, dword [esp + 0x10]
jge 0x10141ed8
lea esi, [ecx + ecx]
mov eax, dword [esp + 8]
add esi, dword [eax + 0x40]
mov eax, ebx
sub eax, ecx
jle 0x10141e1a
lea ecx, [esi + 2]
add eax, eax
push eax
push esi
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0xcc]
cmp word [eax + edi*2], 0
je 0x10142e3e
inc ebx
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x38]
xor eax, eax
lea ecx, [eax + 1]
cmp dword [esp + eax*4 + 0xe8], edi
jg 0x10141e4d
cmp eax, 6
mov eax, ecx
jb 0x10141e3a
mov eax, dword [esp + ecx*4 + 0xcc]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xcc]
movzx ecx, word [eax + edi*2]
cmp byte [edx + 1], 0
mov dword [esp + 0x24], edx
jne 0x10141ef1
cmp byte [edx + 2], 0
jne 0x10141ef1
mov ebx, dword [esp + 0xc]
mov eax, ebx
sub eax, dword [esp + 0x38]
cmp eax, ecx
jl 0x10142163
sub ebx, ecx
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + edi*4]
mov edi, dword [esp + 0x54]
cmp eax, edi
jae 0x10141eaf
mov edx, ecx
add ecx, eax
cmp ecx, edi
mov ecx, edx
ja 0x10142a6f
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
sub ebx, dword [esp + 0x24]
rol bx, 8
mov word [esi], bx
mov eax, dword [esp + 8]
mov al, byte [eax + 0xc]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
inc edi
movzx ecx, al
cmp edi, ecx
mov ecx, dword [esp + 8]
jae 0x10141b21
jmp 0x10141dd7
mov ebx, ecx
mov ecx, dword [esp + 8]
mov edx, ebx
lea eax, [esp + 0x88]
push eax
call fcn.1013b0b0
mov ecx, ebx
add esp, 4
test eax, eax
je 0x10141e77
mov ebx, eax
jmp 0x10141e8f
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x38]
mov edx, edi
lea eax, [esi + edi]
mov dword [esp + 0x84], eax
xor edi, edi
dec edi
mov eax, edi
inc edi
cmp dword [esp + eax*4 + 0xec], edx
jg 0x10141f41
cmp edi, 6
jb 0x10141f30
mov dword [esp + 0x54], ebx
mov eax, dword [esp + edi*4 + 0xd0]
mov dword [esp + 0x24], eax
inc edx
mov dword [esp + 0x7c], ecx
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + edx*2 - 2]
mov dword [esp + 0x28], eax
cmp byte [ecx + 1], 0
jne 0x10142001
cmp byte [ecx + 2], 0
jne 0x10142001
mov ebx, dword [esp + 0xc]
mov eax, ebx
sub eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
jl 0x10142163
sub ebx, ecx
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x68], edx
mov eax, dword [eax + edx*4 - 4]
cmp eax, dword [esp + 0x24]
jae 0x10141fbe
mov ecx, dword [esp + 0x28]
add ecx, eax
cmp ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
ja 0x10142a6f
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov ecx, dword [esp + 0x7c]
sub ebx, ecx
rol bx, 8
mov eax, dword [esp + 0x54]
mov word [eax], bx
mov edx, dword [esp + 0x68]
cmp edx, dword [esp + 0x84]
jge 0x10141d93
cmp dword [esp + edi*4 + 0xe8], edx
jle 0x10142030
inc edx
add eax, 2
mov dword [esp + 0x54], eax
jmp 0x10141f55
mov ecx, dword [esp + 8]
mov ebx, edx
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x88]
push eax
call fcn.1013b0b0
mov edx, ebx
add esp, 4
test eax, eax
je 0x10141f79
mov ebx, eax
mov ecx, dword [esp + 0x28]
jmp 0x10141f95
mov ebx, dword [esp + edi*4 + 0xd4]
mov dword [esp + 0x24], ebx
inc edi
jmp 0x10141ff4
mov dword [esp + 0x28], ebx
mov ebx, edx
mov eax, dword [ecx + 0x34]
mov eax, dword [eax + 0x28]
mov edx, dword [esp + 0x34]
add eax, edx
mov dword [esp + 0x24], eax
movzx eax, byte [ecx + 0xa]
add eax, dword [esp + 0x30]
add eax, edx
add eax, 8
mov dword [esp + 0x60], eax
mov dword [esp + 0x20], 0
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 0xc8]
mov esi, dword [ecx + ebx*4]
cmp esi, dword [esp + 0x60]
jb 0x101420d1
cmp esi, dword [esp + 0x24]
jae 0x101420d1
mov ecx, dword [esp + 0xcc]
movzx edi, word [ecx + ebx*2]
lea ecx, [esi + edi]
cmp edx, ecx
je 0x101420da
test edx, edx
je 0x101420bf
sub edx, dword [esp + 0x34]
mov dword [esp + 0x54], ecx
mov ecx, 0xffff
and eax, ecx
and edx, ecx
mov ecx, dword [esp + 8]
push eax
call fcn.10143300
mov ecx, dword [esp + 0x58]
add esp, 4
cmp ecx, dword [esp + 0x24]
ja 0x10142d30
inc dword [esp + 0x20]
mov edx, esi
mov eax, edi
inc ebx
cmp dword [esp + 0x18], ebx
jne 0x10142071
jmp 0x101420de
add edi, eax
jmp 0x101420c9
test edx, edx
je 0x101420fc
sub edx, dword [esp + 0x34]
mov ecx, 0xffff
and eax, ecx
and edx, ecx
mov ecx, dword [esp + 8]
push eax
call fcn.10143300
add esp, 4
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
cmp ecx, ebx
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
jg 0x10142ce8
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x40]
lea ecx, [eax + ecx*2]
lea edx, [ebx + ebx]
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [esp + 0x14]
add esp, 0xc
mov eax, ebx
sub eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x1c]
mov eax, esi
jmp 0x10141aaa
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x1c], eax
lea eax, [esi - 1]
mov ecx, dword [esp + 0x80]
jmp 0x10141a46
mov ebx, dword [esp + 0x10]
test ebx, ebx
mov edi, dword [esp + 0x14]
jle 0x101421d0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0x10]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x18]
lea esi, [eax + eax]
mov dword [esp + 0x1c], ecx
cmp word [ecx + esi], 0
jne 0x101421c7
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x4c]
mov eax, dword [esp + 0xc8]
mov edi, dword [eax + esi*2]
call dword [section..00cfg]
push edi
mov edi, dword [esp + 0x18]
push dword [esp + 0x10]
call ecx
mov ecx, dword [esp + 0x24]
add esp, 8
mov word [ecx + esi], ax
dec ebx
add esi, 2
cmp ebx, 1
jg 0x10142193
lea ecx, [esp + 0xc0]
mov edx, dword [esp + 0x18]
push dword [esp + 8]
push dword [esp + 0x14]
call fcn.1000fdf0
add esp, 8
mov dword [esp + 0xa8], eax
test eax, eax
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x2c]
je 0x10141b63
jmp 0x10142246
cmp byte [esp + 0x67], 1
je 0x10142773
mov ebx, dword [esp + 0x50]
cmp byte [ebx + 0x11], 0
setne al
cmp byte [esp + 0x70], 0
sete cl
mov edx, dword [esp + 0x78]
and dl, cl
and dl, al
xor eax, eax
cmp dl, 1
je 0x101426fd
cmp edi, dword [esp + 0x40]
jle 0x1014284f
mov dword [esp + 0xa8], eax
mov esi, dword [esp + 0xc8]
test esi, esi
mov dword [esp + 8], eax
mov ebx, edi
je 0x10142d79
cmp dword [0x101ef020], 0
je 0x10142d67
mov edi, dword [0x101f2140]
test edi, edi
je 0x1014228b
mov ecx, dword [0x101ef070]
cmp ecx, 0x10137ef0
jne 0x10142d82
push edi
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, dword [0x101ef04c]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
sub dword [0x101f20ec], eax
dec dword [0x101f2110]
mov ecx, dword [0x101ef044]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x101f2140]
test esi, esi
je 0x10142d79
mov ecx, dword [0x101ef078]
cmp ecx, 0x10137ee0
mov edi, dword [esp + 0x48]
jne 0x10142d93
push esi
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
xor esi, esi
mov eax, dword [esp + esi*4 + 0x16c]
test eax, eax
jne 0x1014282a
inc esi
cmp dword [esp + 0x74], esi
jne 0x101422e8
test ebx, ebx
jle 0x10142326
xor esi, esi
mov eax, dword [esp + esi*4 + 0x158]
test eax, eax
je 0x10142321
mov ecx, dword [eax + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x10142a92
call fcn.10140100
inc esi
cmp ebx, esi
jne 0x10142304
mov ecx, dword [esp + 0x4c]
test ecx, ecx
mov esi, dword [esp + 0x58]
jne 0x10142433
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x4c], eax
mov byte [esi + 0xc], 0
mov ecx, dword [esi + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x10142da4
call fcn.10140100
mov al, byte [edi + 0x44]
dec al
mov byte [edi + 0x44], al
movsx eax, al
mov esi, dword [edi + eax*4 + 0x78]
mov eax, dword [esp + 8]
mov dword [edi + 0x74], esi
mov ebx, eax
test eax, eax
mov eax, dword [esp + 0x4c]
je 0x10140898
jmp 0x10142410
mov eax, dword [esp + esi*4 + 0x158]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx + 8]
bswap edx
mov ecx, ebx
push edi
push dword [eax + 4]
push 5
call fcn.1000f960
add esp, 0xc
inc esi
cmp dword [esp + 0x14], esi
jne 0x1014237d
jmp 0x1014270b
and eax, 8
xor edi, edi
mov dword [esp + 8], eax
lea eax, [edi - 1]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x78], 0
jmp 0x101416af
test eax, eax
je 0x10142481
cmp eax, edi
jne 0x101423de
mov eax, dword [eax + 0x18]
jmp 0x101423cd
cmp byte [eax], 0
jne 0x101423d9
jmp 0x10142f15
movzx edi, byte [ebx + 9]
add edi, 8
jmp 0x101409d9
mov dword [esp + 0x28], 0
jmp 0x101409a8
mov cl, byte [edi + 0x44]
test cl, cl
jne 0x101408d4
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1014241b
mov ecx, eax
call fcn.1000fb30
mov ecx, dword [esp + 0x178]
xor ecx, ebp
call fcn.10156ff0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.1000fb30
jmp 0x10142336
mov eax, dword [esp + 0xa4]
jmp 0x10141319
lea eax, [esi + edx]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x28]
sub ecx, edx
push ecx
push 0
push eax
mov dword [esp + 0x44], esi
mov esi, edx
call sub.VCRUNTIME140.dll_memset
mov edx, esi
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
add esp, 0xc
jmp 0x1014136b
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 8]
jmp 0x101423cd
xor eax, eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x158], eax
mov ebx, dword [esi + 0x34]
mov ecx, dword [esi + 0x48]
call fcn.1013b1c0
test eax, eax
jne 0x10142e0e
mov dword [esp + 0xc], ebx
mov ecx, ebx
lea edx, [esp + 0x88]
push 0
push dword [esi + 4]
lea eax, [esp + 0x160]
push eax
call fcn.10010080
add esp, 0xc
mov dword [esp + 0xc0], eax
mov ebx, esi
mov esi, dword [esp + 0x88]
test eax, eax
mov dword [esp + 0x58], ebx
jne 0x10142f03
mov ecx, dword [ebx + 0x38]
mov dword [esp + 8], ecx
movzx eax, byte [ebx + 9]
mov dword [esp + 0x10], eax
movzx eax, word [ecx + eax + 5]
rol ax, 8
mov ecx, dword [ebx + 0x34]
movzx eax, ax
mov dword [esp + 0x14], ecx
mov ecx, dword [ecx + 0x28]
sub ecx, eax
mov edi, dword [esi + 0x38]
lea edx, [edi + eax]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 8]
add eax, edx
mov edx, dword [esi + 4]
mov dword [esp + 0x1c], edx
push ecx
push eax
push dword [esp + 0x48]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x1c], 1
lea eax, [edi + 0x64]
cmovne eax, edi
mov edi, dword [esp + 8]
add edi, dword [esp + 0x10]
movzx ecx, word [ebx + 0x12]
movzx edx, word [ebx + 0x18]
lea ecx, [ecx + edx*2]
push ecx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi], 0
mov ecx, esi
call fcn.10009e00
test eax, eax
jne 0x10142f0c
mov ecx, esi
call fcn.1000fcc0
test eax, eax
mov edi, dword [esp + 0xc]
jne 0x1014258d
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x11], 0
je 0x10142841
mov ecx, esi
call fcn.1000ffa0
mov dword [esp + 0xc0], eax
cmp byte [edi + 0x11], 0
je 0x101425c3
mov edx, dword [esp + 0x158]
mov ecx, edi
lea eax, [esp + 0xc0]
push eax
mov eax, dword [esp + 0x5c]
push dword [eax + 4]
push 5
call fcn.1000f960
add esp, 0xc
mov eax, dword [esp + 0xc0]
test eax, eax
jne 0x10142e1c
lea eax, [esi + 0x1c]
mov ebx, dword [esp + 0x58]
lea ecx, [ebx + 0x1c]
movzx edx, byte [ebx + 0xc]
add edx, edx
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x24]
lea ecx, [ebx + 0x24]
movzx edx, byte [ebx + 0xc]
shl edx, 2
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov al, byte [ebx + 0xc]
mov byte [esi + 0xc], al
mov eax, dword [esi + 0x38]
movzx eax, byte [eax]
and eax, 0xfffffff7
mov dword [esp + 0xc], eax
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 0x38]
movzx edi, byte [ebx + 9]
test byte [ecx + 0x18], 0xc
mov dword [esp + 0x14], edx
je 0x1014264e
mov eax, dword [esp + 0x14]
add eax, edi
mov dword [esp + 8], edi
mov edi, ecx
mov ecx, dword [ecx + 0x28]
sub ecx, dword [esp + 8]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x20]
mov ecx, edi
mov edi, dword [esp + 0x14]
add esp, 0xc
mov dword [esp + 0x10], ecx
mov eax, edi
add edi, edx
add edi, 0xc
mov edx, dword [esp + 0xc]
mov byte [edi - 0xc], dl
add eax, 0xc
mov edx, eax
mov dword [esp + 8], eax
xor eax, eax
mov dword [edi - 0xb], eax
xor eax, eax
mov byte [edi - 5], al
mov al, byte [ecx + 0x29]
mov byte [edi - 7], al
mov al, byte [ecx + 0x28]
mov byte [edi - 6], al
mov eax, dword [ecx + 0x28]
sub eax, edx
movzx eax, ax
mov dword [ebx + 0x14], eax
mov ecx, ebx
mov edx, dword [esp + 0xc]
call fcn.10009ee0
mov eax, dword [esp + 8]
mov word [ebx + 0x12], ax
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x24]
mov ecx, dword [esp + 0x14]
add eax, ecx
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], edi
movzx eax, byte [ebx + 0xa]
add eax, ecx
mov dword [ebx + 0x44], eax
xor eax, eax
mov byte [ebx + 0xc], al
mov eax, dword [edx + 0x24]
dec eax
mov word [ebx + 0x1a], ax
mov word [ebx + 0x18], 0
mov al, 1
mov byte [ebx], al
mov eax, dword [esp + 0x158]
mov ecx, dword [ebx + 0x38]
movzx edx, byte [ebx + 9]
bswap eax
mov dword [edx + ecx + 8], eax
xor eax, eax
mov edi, dword [esp + 0x48]
mov dword [edi + 0x7c], esi
mov cl, 1
mov byte [edi + 0x44], cl
mov dword [edi + 0x46], eax
mov dword [edi + 0x78], ebx
jmp 0x10142367
xor esi, esi
lea edi, [esp + 0xa8]
jmp 0x1014237d
mov eax, dword [esp + 0xa8]
mov edi, dword [esp + 0x14]
jmp 0x10142235
mov ecx, edi
call fcn.1000fcc0
mov edx, dword [esp + 8]
mov dword [esp + 0xa8], eax
test eax, eax
je 0x10140a64
mov dword [esp + 0xa4], esi
push dword [esp + 0xc]
push 0
mov esi, eax
lea eax, [esp + 0x174]
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, esi
jmp 0x10142b30
mov edi, dword [esp + 0x30]
add edx, edi
add edx, 0xfffffffe
jmp 0x101409a4
mov dword [esp + 0x38], 0
jmp 0x101416a9
mov eax, dword [esp + 0x3c]
cmp word [eax + 0x18], 0
jne 0x1014220f
mov eax, dword [esp + 0x3c]
movzx eax, byte [eax + 9]
mov esi, dword [esp + 0x158]
cmp dword [esi + 0x14], eax
jl 0x1014220f
xor edx, edx
dec edx
mov ecx, esi
call fcn.1000b730
mov dword [esp + 0xa8], eax
mov ecx, esi
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0xa8]
push eax
call fcn.10167ec0
add esp, 4
mov eax, dword [esp + 0xa8]
test eax, eax
jne 0x10142235
mov ecx, dword [esi + 0x34]
mov edx, esi
push dword [esi + 4]
call fcn.1000d640
add esp, 4
jmp 0x10142235
lea ecx, [esp + 0x16c]
lea edx, [esp + 0x158]
cmovl ecx, edx
mov edx, dword [esp + 0x40]
mov ecx, dword [ecx + edx*4]
mov eax, dword [eax + 0x38]
mov ecx, dword [ecx + 0x38]
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
jmp 0x101416db
mov ecx, ebx
call fcn.1000fcc0
test eax, eax
je 0x1014090f
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
jmp 0x1014233a
mov ecx, dword [eax + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x10142f49
call fcn.10140100
jmp 0x101422f7
xor eax, eax
jmp 0x10142594
xor eax, eax
jmp 0x10141012
mov esi, edi
test eax, eax
jne 0x1014286a
mov edx, dword [esp + esi*4 + 0x16c]
mov ecx, dword [edx + 0x34]
push dword [edx + 4]
call fcn.1000d640
add esp, 4
inc esi
cmp dword [esp + 0x74], esi
je 0x1014223f
jmp 0x10142851
mov dword [esp + 0x28], 0
jmp 0x101409b1
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0xc]
mov ebx, dword [esi + edx*4 - 4]
mov esi, eax
call dword [section..00cfg]
lea eax, [esp + 0x88]
push eax
push ebx
push esi
call ecx
add esp, 0xc
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
xor edi, edi
mov ecx, 0x7f
cmp ecx, edx
mov ecx, 0
sbb ecx, eax
mov ebx, dword [esp + 0x10]
lea ecx, [ebx + 4]
jb 0x10142fb4
mov byte [ecx], dl
xor eax, eax
inc eax
mov edx, dword [esp + 0xc]
dec edx
add eax, 4
mov dword [esp + 8], ebx
mov dword [esp + 0x10], 0
mov edi, eax
jmp 0x1014192f
cmp byte [esi + 0xc], 1
jne 0x10140921
movzx eax, word [esi + 0x1c]
cmp ax, word [esi + 0x18]
jne 0x10140921
cmp dword [ebx + 4], 1
je 0x10140921
mov ecx, dword [esp + 0x20]
cmp word [ebx + 0x18], cx
jne 0x10140921
test ax, ax
je 0x10142feb
mov eax, dword [esp + 0x58]
mov edi, dword [eax + 0x34]
xor eax, eax
lea esi, [esp + 0x13c]
lea edx, [esp + 0x88]
mov ecx, edi
push eax
push eax
push esi
call fcn.10010080
add esp, 0xc
mov dword [esp + 8], eax
test eax, eax
jne 0x10143011
mov ebx, dword [esp + 0x58]
mov esi, dword [ebx + 0x24]
lea eax, [esp + 0x128]
mov dword [eax], esi
mov ecx, dword [ebx + 0x4c]
call dword [section..00cfg]
push esi
push ebx
call ecx
add esp, 8
lea ecx, [esp + 0x114]
mov word [ecx], ax
mov esi, dword [esp + 0x88]
mov ecx, esi
call fcn.10165a90
xor eax, eax
inc eax
lea ecx, [esp + 0xc0]
mov dword [ecx], eax
mov dword [ecx + 4], ebx
lea edx, [esp + 0x128]
mov dword [ecx + 8], edx
lea edx, [esp + 0x114]
mov dword [ecx + 0xc], edx
mov edx, dword [ebx + 0x3c]
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x28], 2
xor edx, edx
mov dword [esp + 0xc], esi
push esi
push eax
call fcn.1000fdf0
add esp, 8
mov dword [esp + 0x158], eax
mov dword [esp + 8], eax
test eax, eax
je 0x10143022
cmp dword [esp + 0xc], 0
je 0x10143011
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.10157430
jmp 0x10143011
lea ecx, [esp + 0xc0]
call fcn.10143160
lea eax, [esp + 0xc0]
mov ecx, dword [eax + 0xc]
jmp 0x10141179
mov eax, ecx
jmp 0x10141227
lea ecx, [esp + 0xc0]
mov edx, esi
call fcn.10143160
jmp 0x10140fbd
mov eax, 0xb
push 0x101cff9b
push 0x12ac5
push str.database_corruption
push str._s_at_line__d_of___.10s_
push eax
call sym.nss3.dll_sqlite3_log
mov eax, 0xb
add esp, 0x14
mov dword [esp + 0xa8], eax
xor edi, edi
jmp 0x10142246
push 0x101cff9b
push 0x1283d
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
jmp 0x10142163
mov edi, dword [ecx + 0x14]
dec dword [edi + 0x80]
mov eax, dword [edi + 0x90]
mov dword [ecx + 0x10], eax
mov dword [edi + 0x90], ecx
mov eax, dword [ecx + 0x18]
dec eax
mov dword [esp + 0x14], eax
mul dword [edi + 0xa8]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0xac]
imul eax, dword [esp + 0x14]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x14], ecx
add edx, eax
mov dword [esp + 0x10], edx
mov edi, dword [edi + 0x40]
mov eax, dword [edi]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x14]
push edi
mov edi, dword [esp + 0x58]
call ecx
add esp, 0x10
jmp 0x10142321
mov esi, eax
mov edi, dword [esp + 0x14]
mov eax, esi
jmp 0x10142246
mov ebx, dword [esp + 8]
mov dword [esp + 0xa4], esi
mov edi, eax
lea eax, [ebx*4 + 4]
push eax
push 0
lea eax, [esp + 0x174]
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, edi
add esp, 0xc
xor edi, edi
jmp 0x10142246
xor eax, eax
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
jmp 0x10141dcc
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
mov byte [eax + ecx], 0
inc ecx
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xcc]
inc word [ecx + eax*2]
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xcc]
cmp word [ecx + eax*2], 4
jae 0x10140db8
jmp 0x10142b49
mov ecx, esi
mov ebx, esi
mov esi, eax
call fcn.1000fcc0
test eax, eax
mov eax, esi
mov esi, ebx
je 0x101408a2
xor ebx, ebx
jmp 0x10142410
mov eax, 0xb
push 0x101cff9b
push 0x12add
jmp 0x10142a49
mov dword [esp + ebx*4 + 0x114], edi
mov eax, 0xb
push 0x101cff9b
push 0x12b42
jmp 0x10142a49
mov eax, 0xb
push 0x101cff9b
push 0x12b8f
jmp 0x10142a49
movzx ecx, word [edi + 0x1c]
cmp dword [esp + 0x10], ecx
jne 0x10140aa0
mov eax, dword [edi + 0x24]
mov dword [esp + 0x10], eax
mov dword [esp + esi*4 + 0x14c], eax
mov esi, dword [eax]
bswap esi
mov ecx, dword [edi + 0x4c]
call dword [section..00cfg]
push dword [esp + 0x10]
push edi
call ecx
add esp, 8
movzx eax, ax
mov ecx, dword [esp + 8]
mov dword [esp + ecx*4 + 0x110], eax
mov byte [edi + 0xc], 0
xor eax, eax
jmp 0x10140b31
mov eax, dword [esp + 0x70]
sub eax, dword [edi + 0x38]
mov ecx, dword [esp + 0x1c]
add ecx, eax
mov edx, dword [esp + 0x50]
cmp ecx, dword [edx + 0x28]
jg 0x10140b08
add eax, dword [esp + 0x6c]
push dword [esp + 0x1c]
mov edi, dword [esp + 0x74]
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x3c]
sub edi, dword [eax + 0x38]
add edi, dword [esp + 0x6c]
mov eax, dword [esp + 8]
mov dword [esp + eax*4 + 0x14c], edi
mov edi, dword [esp + 0x3c]
jmp 0x10140b08
mov esi, dword [esp + 0x3c]
mov ecx, dword [esi + 0x4c]
call dword [section..00cfg]
push dword [esp + 8]
push esi
call ecx
mov edx, dword [esp + 0x14]
add esp, 8
movzx edi, ax
jmp 0x1014192b
mov esi, 0xb
push 0x101cff9b
push 0x12bb0
push str.database_corruption
push str._s_at_line__d_of___.10s_
push esi
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov dword [esp + 0xa8], esi
jmp 0x10142aff
mov eax, 0xb
push 0x101cff9b
push 0x12b63
jmp 0x10142a49
mov eax, 0xb
push 0x101cff9b
push 0x128af
push str.database_corruption
push str._s_at_line__d_of___.10s_
push eax
call sym.nss3.dll_sqlite3_log
mov eax, 0xb
add esp, 0x14
mov dword [esp + 0xa8], eax
mov edi, dword [esp + 0x14]
jmp 0x10142246
mov eax, 0xb
push 0x101cff9b
push 0x12c78
jmp 0x10142cf7
xor ecx, ecx
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
jmp 0x10142114
mov dword [esp + 8], 7
jmp 0x10142326
mov dword [esp + 0xa8], 7
mov dword [esp + 8], 7
xor ebx, ebx
jmp 0x10142d79
mov ecx, dword [0x101ef044]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov edi, dword [esp + 0x48]
jmp 0x101422e6
call dword [section..00cfg]
push edi
call ecx
add esp, 4
jmp 0x1014228b
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x101422e6
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 + 0xc], 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
mov edi, dword [esp + 0x50]
push dword [esp + 0x14]
push esi
call ecx
add esp, 0x10
jmp 0x10142354
push 0x101cff9b
push 0x12d9a
jmp 0x10142f2b
mov ebx, eax
mov dword [edi + 0x7c], 0
jmp 0x1014240c
mov ebx, eax
mov eax, dword [esp + 0x48]
mov dword [eax + 0x7c], 0
test esi, esi
je 0x1014240c
mov ecx, dword [esi + 0x48]
call fcn.10157430
jmp 0x1014240c
lea ecx, [esp + 0xc0]
mov edx, edi
call fcn.10143160
jmp 0x10141e2c
mov edi, dword [esp + 0x14]
mov esi, eax
jmp 0x10142b03
lea ecx, [esp + 0xc0]
call fcn.10143160
jmp 0x101410c8
mov ecx, dword [eax + 4]
add dword [ecx + 0x20], 1
adc dword [ecx + 0x24], 0
mov eax, dword [esp + 0x24]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
call fcn.10158b30
jmp 0x10141551
mov ecx, esi
mov edx, 3
call fcn.10158b80
jmp 0x10141590
mov ecx, dword [eax + 4]
add dword [ecx + 0x20], 1
adc dword [ecx + 0x24], 0
mov eax, dword [esp + 0x2c]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
call fcn.10158b30
jmp 0x101415cb
mov ecx, esi
mov edx, 3
call fcn.10158b80
jmp 0x1014160a
mov ecx, dword [eax + 4]
add dword [ecx + 0x20], 1
adc dword [ecx + 0x24], 0
mov eax, dword [esp + 0x18]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
call fcn.10158b30
jmp 0x10141645
mov ecx, esi
mov edx, 3
call fcn.10158b80
jmp 0x10141684
mov edi, dword [esp + 0xc]
jmp 0x10142594
mov edi, dword [esp + 0xc]
jmp 0x1014258d
mov ecx, dword [eax + 0x74]
cmp ecx, dword [edi + 0x74]
jne 0x101423d9
push 0x101cff9b
push 0x12d5e
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov ebx, 0xb
jmp 0x1014240c
mov edi, dword [ecx + 0x14]
dec dword [edi + 0x80]
mov eax, dword [edi + 0x90]
mov dword [ecx + 0x10], eax
mov dword [edi + 0x90], ecx
mov eax, dword [ecx + 0x18]
dec eax
mov dword [esp + 0x14], eax
mul dword [edi + 0xa8]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0xac]
imul eax, dword [esp + 0x14]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x14], ecx
add edx, eax
mov dword [esp + 0x10], edx
mov edi, dword [edi + 0x40]
mov eax, dword [edi]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x14]
push edi
mov edi, dword [esp + 0x58]
call ecx
add esp, 0x10
jmp 0x101422f7
mov ebx, 0x3fff
cmp ebx, edx
sbb edi, eax
jb 0x10142fd5
mov eax, edx
shr eax, 7
or al, 0x80
mov byte [ecx], al
and dl, 0x7f
mov byte [ecx + 1], dl
mov eax, 2
jmp 0x10142fde
push eax
call fcn.1004c5c0
add esp, 4
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x10]
jmp 0x101428da
push 0x101cff9b
push 0x12920
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov dword [esp + 8], 0xb
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x58]
jmp 0x1014233a
mov eax, dword [edi + 0x28]
mov esi, dword [esp + 0xc]
movzx ecx, word [esi + 0x12]
movzx edx, word [esp + 0x114]
add edx, ecx
neg edx
add eax, edx
add eax, 0xfffffffe
mov dword [esi + 0x14], eax
cmp byte [edi + 0x11], 0
je 0x10143098
mov edx, dword [esp + 0x13c]
mov ecx, edi
lea eax, [esp + 0x158]
push eax
mov eax, dword [esp + 0x40]
push dword [eax + 4]
push 5
call fcn.1000f960
add esp, 0xc
movzx eax, word [esp + 0x114]
mov ecx, dword [esp + 0xc]
cmp ax, word [ecx + 0x10]
jbe 0x10143098
mov ecx, dword [esp + 0xc]
mov edx, ecx
lea eax, [esp + 0x158]
push eax
push dword [esp + 0x12c]
call fcn.1000f6a0
add esp, 8
mov esi, dword [esp + 0x58]
movzx eax, word [esi + 0x1a]
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x40]
movzx edi, word [esi + 0x18]
movzx edx, word [edx + edi*2 - 2]
rol dx, 8
and edx, eax
lea eax, [ecx + edx]
lea edi, [ecx + edx]
add edi, 2
xor edx, edx
mov ebx, eax
mov ecx, edi
inc eax
mov dword [esp + 0x128], eax
cmp byte [ebx], 0
jns 0x101430de
lea ebx, [edx + 1]
lea edi, [ecx + 1]
cmp edx, 8
mov edx, ebx
jb 0x101430c0
add eax, 9
mov edi, 4
mov dword [esp + 0x128], ecx
mov dl, byte [ecx - 1]
mov byte [esp + edi + 0xb3], dl
inc edi
test dl, dl
jns 0x10143105
lea edx, [ecx + 1]
cmp ecx, eax
mov ecx, edx
jb 0x101430e6
mov eax, dword [esp + 0x158]
mov dword [esp + 8], eax
test eax, eax
jne 0x10143141
mov ecx, dword [esp + 0x3c]
movzx edx, word [ecx + 0x18]
lea eax, [esp + 0xb3]
mov ebx, dword [esp + 0x58]
push dword [ebx + 4]
push 0
push edi
push eax
call fcn.1013acd0
add esp, 0x10
mov dword [esp + 8], eax
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x13c]
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + 0x38]
movzx edx, byte [edx + 9]
bswap eax
mov dword [edx + ecx + 8], eax
jmp 0x101429e9