Function at 0x101401b0
Capabilities:
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 [0x101f1014]
xor eax, ebp
mov dword [esp + 0x178], eax
mov esi, dword [ecx + 0x74]
xor eax, eax
mov dword [esp + 0x40], ecx
cmp dword [esi + 0x14], 0
js 0x10142351
mov dword [esp + 0x44], eax
cmp byte [esi + 0xc], 0
jne 0x10140209
mov eax, dword [esi + 0x14]
lea eax, [eax + eax*2]
mov ecx, dword [edi + 0x14]
mov ecx, dword [ecx + 0x28]
add ecx, ecx
xor edx, edx
cmp eax, ecx
jle 0x10141bf1
jmp 0x10141be6
mov cl, byte [edi + 0x44]
test cl, cl
je 0x10141c53
mov eax, dword [esi + 0x48]
cmp dword [eax + 0x20], 2
jge 0x10142599
mov byte [esp + 0x63], cl
movsx eax, cl
mov ebx, dword [edi + eax*4 + 0x74]
movzx eax, word [edi + eax*2 + 0x46]
mov dword [esp + 0x24], eax
mov ecx, dword [ebx + 0x48]
call fcn.1013acd0
test eax, eax
jne 0x10141fe8
cmp dword [ebx + 0x14], 0
js 0x10141fd9
cmp byte [esi + 2], 0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x54], esi
jne 0x1014207b
mov eax, dword [edi + 0x14]
mov ecx, dword [eax + 0x24]
call fcn.1000d890
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 0x101424dd
and ecx, 1
mov dword [esp + 0x10], ecx
movzx ecx, byte [ebx + 0xc]
movzx eax, word [ebx + 0x18]
lea edi, [eax + ecx]
cmp edi, 2
jb 0x10142042
mov edx, dword [esp + 0x24]
test edx, edx
je 0x10141bcf
cmp edi, edx
je 0x10141f32
dec edx
mov dword [esp + 0x58], edx
mov edi, 2
sub edi, dword [esp + 0x10]
mov edx, dword [esp + 0x58]
sub edx, ecx
add edx, edi
cmp edx, eax
je 0x10141bc3
mov eax, dword [ebx + 0x40]
movzx eax, word [eax + edx*2]
rol ax, 8
and ax, word [ebx + 0x1a]
movzx edx, ax
mov ecx, dword [ebx + 0x34]
lea eax, [edi + 1]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x34], edx
mov dword [esp + 0x64], eax
mov ebx, dword [eax + edx]
bswap ebx
lea edx, [edi*4]
mov eax, dword [esp + 0x58]
lea esi, [eax - 1]
mov dword [esp + 0x5c], esi
add eax, eax
mov dword [esp + 0x74], eax
mov eax, edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x14], eax
add eax, esp
add eax, 0x16c
mov edx, ebx
push 0
push eax
call fcn.1013fad0
add esp, 8
mov dword [esp + 0xa8], eax
test eax, eax
jne 0x101422e1
mov edx, dword [esp + 8]
mov edi, dword [esp + edx*4 + 0x16c]
cmp dword [edi + 0x14], 0
js 0x10141eed
movzx eax, word [edi + 0x18]
mov edi, dword [esp + 0xc]
add edi, eax
add edi, 4
mov esi, edx
sub esi, 1
jb 0x1014047e
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x38]
movzx eax, byte [edi + 0xc]
mov ecx, dword [esp + 0x5c]
add ecx, edx
mov dword [esp + 0x18], ecx
test eax, eax
mov ebx, edx
mov dword [esp + 8], edx
jne 0x101423b2
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 + 0x74]
movzx edx, word [edx + ebx*2 - 2]
rol dx, 8
and edx, ecx
lea edi, [eax + edx]
mov dword [esp + ebx*4 + 0x14c], edi
mov ebx, dword [eax + edx]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x4c]
call dword [section..00cfg]
mov dword [esp + 0x28], edi
push edi
mov edi, dword [esp + 0x3c]
push edi
call ecx
add esp, 8
movzx ecx, ax
mov eax, ecx
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 8]
mov dword [esp + eax*4 + 0x110], ecx
mov eax, dword [esp + 0x48]
test byte [eax + 0x18], 0xc
jne 0x101423fe
bswap ebx
movzx eax, byte [edi + 0xc]
mov edx, dword [esp + 0x18]
sub edx, eax
mov ecx, edi
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0x30]
call fcn.1000d710
add esp, 8
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x14]
add eax, 0xfffffffc
mov dword [esp + 8], esi
test edx, edx
mov ecx, dword [esp + 0x48]
je 0x10140359
jmp 0x101422e7
mov dword [esp + 0xa4], ebx
add edi, 3
and edi, 0xfffffffc
lea ecx, [edi + edi*2]
add ecx, ecx
mov eax, dword [esp + 0x48]
add ecx, dword [eax + 0x24]
mov edx, ecx
sar edx, 0x1f
call fcn.10142fa0
mov dword [esp + 0xc8], eax
test eax, eax
je 0x101424ea
lea eax, [eax + edi*4]
mov dword [esp + 0xcc], eax
lea eax, [eax + edi*2]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0xc4], ecx
movzx eax, byte [ecx + 8]
mov dword [esp + 0x74], eax
shl eax, 2
mov dword [esp + 0x50], eax
mov dword [esp + 0x20], ecx
movzx eax, byte [ecx + 2]
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x5c], eax
mov edi, dword [esp + eax*4 + 0x16c]
mov ebx, dword [edi + 0x38]
mov al, byte [ebx]
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 0x38]
cmp al, byte [ecx]
jne 0x1014221e
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 + 0x18], edi
cmp byte [edi + 0xc], 0
jne 0x10140703
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0x18]
movzx ecx, word [edi + 0x12]
lea edx, [ebx + ecx]
movzx edi, word [edi + 0x18]
lea edx, [edx + edi*2]
cmp esi, edx
jae 0x10140642
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
mov dword [esp + 8], ebx
jne 0x101405ca
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 0x101405cc
mov edx, esi
cmp ecx, 2
mov edi, 0xffff
mov ecx, dword [esp + 0x14]
jb 0x10140642
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 0x101405da
mov ebx, dword [esp + 0x5c]
mov dword [esp + ebx*4 + 0x128], eax
mov edi, dword [esp + 0x4c]
cmp ebx, edi
jae 0x101406f3
cmp byte [esp + 0x2c], 0
jne 0x101406f3
mov ecx, dword [esp + ebx*4 + 0x114]
movzx ecx, cx
mov edx, dword [esp + 0xcc]
mov word [edx + eax*2], cx
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
lea esi, [eax + edx]
add edx, ecx
mov dword [esp + 0x28], edx
push ecx
push dword [esp + ebx*4 + 0x154]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x50]
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 + 0x18]
cmp byte [edx + 8], 0
mov eax, dword [esp + 0xc0]
je 0x1014079d
mov ecx, dword [esp + 0xcc]
cmp word [ecx + eax*2], 3
jbe 0x10142313
inc eax
mov dword [esp + 0xc0], eax
lea eax, [ebx + 1]
cmp ebx, edi
jne 0x101404f4
jmp 0x101407bb
mov eax, dword [esp + 0x18]
movzx ecx, word [eax + 0x1c]
cmp word [esp + 0xc], cx
jb 0x1014236f
mov eax, dword [esp + 0xc0]
test ecx, ecx
je 0x10140760
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 0x10140721
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0xc], 0
je 0x10140562
xor ecx, ecx
mov edx, dword [esp + 0x18]
mov edi, dword [edx + ecx*4 + 0x24]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0xc8]
mov edx, dword [esp + 0xc]
mov dword [edi + eax*4], edx
mov eax, dword [esp + 0xc0]
inc eax
mov dword [esp + 0xc0], eax
inc ecx
mov edx, dword [esp + 0x18]
movzx edx, byte [edx + 0xc]
cmp ecx, edx
jb 0x10140762
jmp 0x10140562
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 0x101406eb
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0x50]
add eax, ecx
add eax, 0xfffffff4
mov dword [esp + 0x5c], 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 0x10140808
lea ebx, [eax - 1]
cmp ecx, dword [esp + eax*4 + 0xe4]
cmovne ebx, eax
cmp byte [esp + 0x2c], 0
jne 0x10140828
mov eax, dword [esp + 0x38]
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 + 0x5c]
sub edi, dword [edx + 0x14]
mov dword [esp + esi*4 + 0x114], edi
cmp byte [edx + 0xc], 0
jne 0x10140853
mov dword [esp + esi*4 + 0x13c], ecx
lea ecx, [esi + 1]
inc ebx
mov eax, ebx
cmp esi, dword [esp + 0x4c]
mov esi, ecx
jne 0x101407d3
jmp 0x101408aa
xor eax, eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x18], 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 + 0x20]
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 0x1014083c
jmp 0x1014085d
xor ebx, ebx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + ebx*4 + 0x114]
cmp edi, dword [esp + 0x5c]
jg 0x10140997
mov esi, dword [esp + ebx*4 + 0x13c]
mov dword [esp + ebx*4 + 0x114], edi
mov eax, dword [esp + 0xc0]
cmp esi, eax
jge 0x10140966
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + esi*2]
test ax, ax
je 0x10142207
movzx eax, ax
add edi, eax
add edi, 2
cmp edi, dword [esp + 0x5c]
jg 0x1014095f
inc esi
mov dword [esp + ebx*4 + 0x114], edi
mov dword [esp + ebx*4 + 0x13c], esi
cmp byte [esp + 0x2c], 0
jne 0x10140950
cmp esi, dword [esp + 0xc0]
jge 0x10142013
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + esi*2]
test ax, ax
jne 0x1014094d
lea ecx, [esp + 0xc0]
mov edx, esi
call fcn.10142900
mov ecx, dword [esp + 0x10]
movzx eax, ax
add eax, 2
sub dword [esp + ebx*4 + 0x118], eax
jmp 0x101408d7
mov eax, dword [esp + 0xc0]
cmp esi, eax
jge 0x10140a6a
xor eax, eax
test ebx, ebx
mov edi, dword [esp + 0x4c]
je 0x1014097f
mov eax, dword [esp + ebx*4 + 0x138]
cmp esi, eax
jle 0x101424a7
inc ebx
cmp ebx, dword [esp + 0x18]
jl 0x101408b8
jmp 0x10140a73
lea eax, [ebx + 1]
mov dword [esp + 0xc], eax
lea eax, [ebx + 2]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x18]
jge 0x10140a37
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 0x101409e0
lea ecx, [esp + 0xc0]
mov edx, esi
call fcn.10142900
movzx eax, ax
add eax, 2
sub edi, eax
cmp byte [esp + 0x2c], 0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
jne 0x10140a1a
cmp edx, dword [esp + 0xc0]
jge 0x10140a66
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + edx*2]
test ax, ax
je 0x101425ea
movzx eax, ax
add eax, 2
add dword [esp + ebx*4 + 0x118], eax
mov dword [esp + ebx*4 + 0x13c], esi
cmp edi, dword [esp + 0x5c]
jle 0x101408d0
jmp 0x101409a5
cmp ebx, 4
jae 0x10142383
mov dword [esp + ebx*4 + 0x118], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + ebx*4 + 0x140], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
jmp 0x101409b3
xor eax, eax
jmp 0x10140a1a
inc ebx
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x18]
lea edx, [eax - 1]
mov eax, dword [esp + 0x2c]
add eax, eax
neg eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x68], edx
mov esi, dword [esp + 0x34]
test edx, edx
jle 0x10140bc7
mov ebx, dword [esp + edx*4 + 0x110]
mov eax, dword [esp + edx*4 + 0x114]
mov dword [esp + 8], eax
mov esi, dword [esp + edx*4 + 0x138]
mov edi, edx
mov edx, esi
sub edx, dword [esp + 0x2c]
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
cmp word [eax + edx*2], 0
je 0x1014204f
lea eax, [edi - 1]
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x3c], edi
cmp edi, dword [esp + 0x68]
sete al
add eax, eax
add eax, 0xfffffffe
mov dword [esp + 0x30], eax
lea edi, [esi - 1]
mov edx, dword [esp + 0xc]
movzx eax, word [edx + esi*2 - 2]
test ax, ax
jne 0x10140b14
lea ecx, [esp + 0xc0]
mov edx, edi
call fcn.10142900
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x28], edi
movzx edi, ax
mov eax, dword [esp + 0x1c]
add eax, edx
movzx eax, word [eax + esi*2]
cmp dword [esp + 8], 0
mov dword [esp + 0xc], edx
je 0x10140bc2
test cl, cl
jne 0x101421fc
mov edx, dword [esp + 8]
add eax, edx
add eax, 2
mov ecx, dword [esp + 0x30]
add ecx, ebx
sub ecx, edi
cmp eax, ecx
jg 0x10140b7d
sub ebx, edi
add ebx, 0xfffffffe
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov dword [esp + ecx*4 + 0x13c], edi
mov ecx, edi
inc ecx
mov dword [esp + 8], eax
mov esi, edi
cmp ecx, 1
mov ecx, dword [esp + 0x10]
jg 0x10140aea
jmp 0x10140b85
mov edi, esi
mov eax, edx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov dword [esp + edx*4 + 0x114], eax
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x114], ebx
xor eax, eax
cmp edx, 2
jl 0x10140ba9
mov eax, dword [esp + edx*4 + 0x134]
mov edx, dword [esp + 0x14]
cmp edi, eax
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x34]
jg 0x10140a8e
jmp 0x1014239e
add eax, 2
jmp 0x10140b51
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x38]
mov al, byte [eax]
mov byte [esp + 0xc], al
movzx edx, al
cmp dword [esp + 0x18], 0
jle 0x10141b81
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x58]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov eax, edx
and eax, 8
mov dword [esp + 8], eax
mov dword [esp + 0x14], 0
xor ebx, ebx
cmp ebx, edi
ja 0x10140c6e
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.1013acd0
mov dword [esp + 0xa8], eax
inc dword [esp + 0x14]
mov edx, dword [esi + 0x48]
xor ecx, ecx
cmp dword [esp + 0x24], ebx
sete cl
inc ecx
cmp ecx, dword [edx + 0x20]
je 0x10140c56
test eax, eax
je 0x10142470
test eax, eax
jne 0x1014249e
mov ecx, dword [esp + 0x10]
inc ebx
cmp dword [esp + 0x18], ebx
jne 0x10140c05
jmp 0x10140dba
xor eax, eax
inc eax
test cl, cl
je 0x10141c1a
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x88]
push 0
push eax
lea eax, [esp + 0xac]
push eax
call fcn.1000e3c0
add esp, 0xc
mov dword [esp + 0xa8], eax
test eax, eax
jne 0x1014249e
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 + 0x30], eax
jne 0x10141c26
mov al, byte [esp + 0xc]
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 + 0x1c], ecx
lea ecx, [edx + eax*4 + 8]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x28]
sub eax, ecx
movzx eax, ax
mov dword [edi + 0x14], eax
mov ecx, edi
mov edx, dword [esp + 0x28]
call fcn.10006d00
mov eax, dword [esp + 0x20]
mov word [edi + 0x12], ax
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x24]
add eax, esi
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0x1c]
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 + 0x48]
cmp byte [ecx + 0x11], dl
je 0x10142072
mov edx, dword [edi + 4]
lea eax, [esp + 0xa8]
push eax
mov eax, dword [esp + 0x3c]
push dword [eax + 4]
push 5
call fcn.1000d9f0
add esp, 0xc
mov eax, dword [esp + 0xa8]
test eax, eax
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
je 0x10140c62
jmp 0x1014249e
cmp dword [esp + 0x14], 0
jle 0x101425ff
xor eax, eax
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + eax*4 + 0x158]
mov ecx, dword [ecx + 4]
mov dword [esp + eax*4 + 0x100], ecx
inc eax
cmp edx, eax
jne 0x10140dcf
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
xor ecx, ecx
cmp edx, 2
jl 0x10141f25
mov eax, ecx
inc ecx
cmp ecx, dword [esp + 0x14]
jge 0x10140e39
mov dword [esp + 0x24], 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 0x10140e20
mov edx, esi
inc ecx
mov esi, edx
cmp dword [esp + 0x14], ecx
jne 0x10140e06
cmp edx, eax
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
jne 0x10140e44
cmp ecx, dword [esp + 0x28]
jne 0x10140df7
jmp 0x10141012
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 + 0x18], eax
mov ecx, dword [eax + 0x48]
mov eax, dword [0x101f1688]
xor edx, edx
mov edi, dword [esp + 0x48]
div dword [edi + 0x24]
mov edi, eax
inc edi
movzx eax, word [ecx + 0x1c]
movzx ecx, word [esi + 0x1c]
mov word [esp + 0x20], cx
mov word [esp + 0x1c], ax
mov word [esi + 0x1c], ax
mov eax, dword [esi + 0xc]
mov ecx, dword [0x101f10a0]
mov dword [esp + 0x3c], 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 0x1014260c
mov ecx, dword [0x101f10a8]
mov eax, dword [esi]
mov dword [esp + 0x68], eax
mov ebx, dword [esi + 0x18]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x3c], eax
call dword [section..00cfg]
push edi
push ebx
push dword [esp + 0x70]
push dword [esp + 0x48]
call ecx
add esp, 0x10
mov dword [esi + 0x18], edi
mov eax, dword [esi + 0x1c]
not eax
test al, 0xa
je 0x1014262d
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x48]
movzx eax, word [esp + 0x20]
mov word [esi + 0x1c], ax
mov eax, dword [esi + 0xc]
mov ecx, dword [0x101f10a0]
mov dword [esp + 0x20], 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 0x1014263e
mov ecx, dword [0x101f10a8]
mov eax, dword [esi]
mov dword [esp + 0x3c], eax
mov ebx, dword [esi + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x20], eax
call dword [section..00cfg]
push edi
push ebx
push dword [esp + 0x44]
push dword [esp + 0x2c]
call ecx
add esp, 0x10
mov dword [esi + 0x18], edi
mov eax, dword [esi + 0x1c]
not eax
test al, 0xa
je 0x1014265f
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x48]
movzx eax, word [esp + 0x1c]
mov word [esi + 0x1c], ax
mov eax, dword [esi + 0xc]
mov ecx, dword [0x101f10a0]
mov dword [esp + 0x1c], 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 0x10142670
mov ecx, dword [0x101f10a8]
mov eax, dword [esi]
mov dword [esp + 0x20], eax
mov ebx, dword [esi + 0x18]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x1c], eax
call dword [section..00cfg]
push edi
push ebx
push dword [esp + 0x28]
push dword [esp + 0x28]
call ecx
add esp, 0x10
mov dword [esi + 0x18], edi
mov eax, dword [esi + 0x1c]
not eax
test al, 0xa
je 0x10142691
mov eax, dword [esp + 0xc]
mov dword [eax + 4], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 4], eax
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
jmp 0x10140e39
mov al, 1
mov dword [esp + 0x24], eax
mov al, 1
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x28]
mov eax, dword [esp + eax*4 + 0x158]
mov ecx, dword [eax + 4]
bswap ecx
mov edx, dword [esp + 0x64]
mov dword [edx + esi], ecx
cmp dword [esp + 8], 0
jne 0x1014104a
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x70], ecx
jne 0x10141fb4
mov eax, dword [esp + 0x48]
cmp byte [eax + 0x11], 0
je 0x10141219
mov eax, dword [esp + 0xc0]
test eax, eax
jle 0x10141219
xor ecx, ecx
cmp byte [esp + 0x2c], 0
sete cl
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x158]
movzx ecx, byte [edx + 0xc]
movzx esi, word [edx + 0x18]
add esi, ecx
mov dword [esp + 0x18], esi
xor edi, edi
mov dword [esp + 8], 0
xor ecx, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edx
jmp 0x101410cb
lea esi, [ecx + 1]
mov ecx, dword [esp + ecx*4 + 0x15c]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x2c], 0
jne 0x101410ea
nop word cs:[eax + eax]
inc edi
mov ecx, esi
cmp edi, eax
jge 0x10141219
cmp edi, dword [esp + 0x18]
je 0x10141181
mov edx, dword [esp + 0xc8]
mov ebx, dword [edx + edi*4]
cmp edi, dword [esp + ecx*4 + 0x13c]
je 0x101410a0
mov esi, ecx
mov ecx, dword [esp + 8]
cmp ecx, dword [esp + 0x14]
jge 0x1014111a
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 8]
cmp ecx, dword [esp + edx*4 + 0x100]
jne 0x1014111a
mov ecx, dword [esp + 0xc]
cmp ebx, dword [ecx + 0x38]
jb 0x1014111a
mov ecx, dword [esp + 0xc]
cmp ebx, dword [ecx + 0x3c]
jb 0x101410c0
cmp byte [esp + 0x74], 0
je 0x101411f3
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + edi*2]
test ax, ax
jne 0x10141143
lea ecx, [esp + 0xc0]
mov edx, edi
call fcn.10142900
mov ecx, dword [esp + 0x10]
cmp ax, word [ecx + 0x10]
jbe 0x10141166
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
lea eax, [esp + 0xa8]
push eax
push ebx
call fcn.10142ba0
add esp, 8
mov eax, dword [esp + 0xa8]
test eax, eax
jne 0x1014249e
mov eax, dword [esp + 0xc0]
jmp 0x101410c0
mov edx, dword [esp + 0x20]
add edx, edi
mov dword [esp + 0x34], 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 + 0x1c], 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 + 0x1c]
mov edx, dword [esi]
movzx esi, word [edx + 0x18]
add esi, dword [esp + 0x34]
mov dword [esp + 0xc], edx
movzx edx, byte [edx + 0xc]
add edx, esi
add ebx, 4
mov dword [esp + 0x30], ebx
add dword [esp + 0x1c], 4
mov dword [esp + 0x18], edx
cmp edi, edx
jne 0x101410d5
jmp 0x101411ab
mov edx, dword [ebx]
bswap edx
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0xa8]
push eax
mov eax, dword [esp + 0x14]
push dword [eax + 4]
push 5
call fcn.1000d9f0
add esp, 0xc
jmp 0x10141125
cmp byte [esp + 0x24], 0
je 0x1014132f
xor esi, esi
xor eax, eax
mov edx, dword [esp + esi*4 + 0x158]
mov dword [esp + 0x30], 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 + 0x1c], edx
cmp byte [edx + 8], 0
mov edx, dword [esp + 0x50]
lea edi, [ecx + edx]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
lea eax, [edx + eax]
mov dword [esp + 0x10], eax
je 0x10141316
cmp byte [esp + 0x2c], 0
jne 0x1014218b
add dword [esp + 8], 0xfffffffc
cmp cx, 4
mov edx, dword [esp + 0xc]
je 0x1014244d
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc], edi
xor eax, eax
lea ecx, [eax + 1]
cmp dword [esp + eax*4 + 0xe8], edx
jg 0x101412b6
cmp eax, 6
mov eax, ecx
jb 0x101412a3
mov ebx, esi
mov eax, dword [esp + ecx*4 + 0xcc]
mov edx, dword [esp + 8]
cmp eax, edx
jb 0x101412d5
mov ecx, dword [esp + 0xc]
add ecx, edx
cmp eax, ecx
jb 0x101424cc
mov eax, dword [esp + 0x58]
mov edi, edx
mov esi, dword [esp + 0x30]
lea edx, [esi + eax]
mov ecx, dword [esp + 0x38]
push dword [ebx + 4]
push dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
push ebx
push edi
call fcn.1000dd50
add esp, 0x10
test eax, eax
jne 0x10142497
mov eax, dword [esp + 0x18]
add eax, ebx
inc esi
cmp esi, dword [esp + 0x28]
jne 0x10141228
jmp 0x1014132f
mov esi, dword [esp + 0x1c]
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 0x1014129d
mov dword [esp + 0xa8], 0
xor edx, edx
inc edx
mov eax, dword [esp + 0x14]
sub edx, eax
cmp edx, eax
jge 0x101419d6
xor eax, eax
cmp byte [esp + 0x2c], 0
sete al
mov dword [esp + 0x68], eax
mov esi, edx
neg esi
cmovs esi, edx
cmp byte [esp + esi + 0xac], 0
jne 0x101414e6
test edx, edx
mov dword [esp + 0x2c], edx
jns 0x101415fc
mov eax, dword [esp + esi*4 + 0x124]
cmp eax, dword [esp + esi*4 + 0x138]
jl 0x101414e6
cmp esi, dword [esp + 0x4c]
jg 0x10141926
lea eax, [esi - 1]
mov edx, dword [esp + esi*4 + 0x124]
mov ecx, dword [esp + 0x68]
add edx, ecx
mov edi, dword [esp + eax*4 + 0x13c]
add edi, ecx
mov eax, dword [esp + esi*4 + 0x13c]
sub eax, edi
mov dword [esp + 0x50], esi
mov ecx, dword [esp + esi*4 + 0x158]
mov esi, dword [ecx + 0x38]
mov dword [esp + 0x30], esi
movzx esi, byte [ecx + 9]
mov dword [esp + 0x1c], esi
lea esi, [eax + eax]
add esi, dword [ecx + 0x40]
mov dword [esp + 0x28], esi
movzx esi, word [ecx + 0x18]
movzx ebx, byte [ecx + 0xc]
mov dword [esp + 0x10], ebx
mov ebx, edx
mov dword [esp + 0x18], esi
sub ebx, edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x34], edx
jl 0x101418d6
add esi, edx
add esi, dword [esp + 0x10]
lea edx, [eax + edi]
sub esi, edx
mov ebx, edi
mov dword [esp + 8], ecx
mov dword [esp + 0x58], edx
jle 0x1014143c
mov ecx, dword [esp + 8]
lea eax, [esp + 0xc0]
push eax
push esi
call fcn.101431a0
mov ecx, dword [esp + 0x10]
add esp, 8
sub dword [esp + 0x18], eax
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + edx + 5]
rol ax, 8
movzx esi, ax
add esi, edx
cmp esi, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
jb 0x1014193d
cmp esi, dword [ecx + 0x3c]
ja 0x1014193d
mov dword [esp + 0x10], esi
cmp ebx, dword [esp + 0x34]
jl 0x10141627
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x18]
mov al, byte [ecx + 0xc]
test al, al
jne 0x10141668
mov eax, dword [esp + 0xc]
cmp eax, ebx
jg 0x101414f6
mov word [ecx + 0x18], ax
mov byte [ecx + 0xc], 0
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x1c]
mov byte [edi + ebx + 3], ah
mov al, byte [ecx + 0x18]
mov byte [edi + ebx + 4], al
mov eax, dword [esp + 0x10]
sub eax, edi
mov byte [edi + ebx + 5], ah
mov byte [edi + ebx + 6], al
mov dword [esp + 0xa8], 0
inc byte [esp + esi + 0xac]
mov eax, dword [esp + 0x5c]
sub eax, dword [esp + esi*4 + 0x114]
mov ecx, dword [esp + esi*4 + 0x158]
mov dword [ecx + 0x14], eax
inc edx
cmp edx, dword [esp + 0x14]
jne 0x10141359
jmp 0x101419d6
lea eax, [ebx + ebx]
add eax, dword [ecx + 0x40]
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x3c]
lea eax, [ebx + edx]
mov ecx, dword [ecx + 0x38]
mov dword [esp + 0x18], ecx
xor esi, esi
dec esi
mov ecx, esi
inc esi
cmp dword [esp + ecx*4 + 0xec], eax
jg 0x10141522
cmp esi, 6
jb 0x10141511
mov eax, dword [esp + esi*4 + 0xd0]
mov dword [esp + 0x34], eax
lea ecx, [ebx + edx]
inc ecx
mov eax, dword [esp + 0xcc]
movzx edi, word [eax + ecx*2 - 2]
mov eax, dword [esp + 0x18]
cmp byte [eax + 1], 0
jne 0x101415c5
mov eax, dword [esp + 0x18]
cmp byte [eax + 2], 0
jne 0x101415c5
mov ebx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esp + 0x28]
cmp eax, edi
jl 0x10141939
sub ebx, edi
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x20], ecx
mov eax, dword [eax + ecx*4 - 4]
cmp eax, dword [esp + 0x34]
jae 0x1014158b
lea ecx, [eax + edi]
cmp ecx, dword [esp + 0x34]
ja 0x10142253
push edi
push eax
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
sub ebx, dword [esp + 0x18]
rol bx, 8
mov eax, dword [esp + 0x24]
mov word [eax], bx
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x58]
jge 0x10141612
cmp dword [esp + esi*4 + 0xe8], ecx
jle 0x101415ee
inc ecx
add eax, 2
mov dword [esp + 0x24], eax
jmp 0x10141531
mov ebx, ecx
mov ecx, dword [esp + 8]
mov edx, edi
lea eax, [esp + 0x88]
push eax
call fcn.10142a90
mov ecx, ebx
add esp, 4
test eax, eax
je 0x10141551
mov ebx, eax
jmp 0x10141569
mov edx, dword [esp + esi*4 + 0xd4]
mov dword [esp + 0x34], edx
inc esi
jmp 0x101415b8
jne 0x1014138e
xor edi, edi
mov eax, dword [esp + 0x13c]
xor edx, edx
jmp 0x101413ba
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
jmp 0x10141496
mov esi, dword [esp + 0x24]
cmp esi, eax
cmovge esi, eax
mov edi, dword [ecx + 0x40]
lea eax, [edi + esi*2]
mov ecx, dword [esp + 0x18]
add ecx, ecx
push ecx
push edi
push eax
call sub.VCRUNTIME140.dll_memmove
mov eax, esi
add esp, 0xc
test esi, esi
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x50]
jg 0x101417ad
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x18]
add ebx, eax
jmp 0x10141483
xor edi, edi
mov dword [esp + 0x24], edi
movzx edi, word [ecx + edi*2 + 0x1c]
add edi, dword [esp + 0x34]
mov ecx, edi
sub ecx, dword [esp + 0x3c]
js 0x1014176b
cmp ecx, dword [esp + 0xc]
jge 0x1014176b
lea esi, [ecx + ecx]
mov eax, dword [esp + 8]
add esi, dword [eax + 0x40]
mov eax, ebx
sub eax, ecx
jle 0x101416ad
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 0x101425d7
inc ebx
mov dword [esp + 0x18], 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 0x101416e0
cmp eax, 6
mov eax, ecx
jb 0x101416cd
mov eax, dword [esp + ecx*4 + 0xcc]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xcc]
movzx ecx, word [eax + edi*2]
cmp byte [edx + 1], 0
mov dword [esp + 0x20], edx
jne 0x10141784
cmp byte [edx + 2], 0
jne 0x10141784
mov ebx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esp + 0x28]
cmp eax, ecx
jl 0x10141939
sub ebx, ecx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + edi*4]
mov edi, dword [esp + 0x64]
cmp eax, edi
jae 0x10141742
mov edx, ecx
add ecx, eax
cmp ecx, edi
mov ecx, edx
ja 0x10142253
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
sub ebx, dword [esp + 0x20]
rol bx, 8
mov word [esi], bx
mov eax, dword [esp + 8]
mov al, byte [eax + 0xc]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
inc edi
movzx ecx, al
cmp edi, ecx
mov ecx, dword [esp + 8]
jae 0x1014148e
jmp 0x1014166a
mov ebx, ecx
mov ecx, dword [esp + 8]
mov edx, ebx
lea eax, [esp + 0x88]
push eax
call fcn.10142a90
mov ecx, ebx
add esp, 4
test eax, eax
je 0x1014170a
mov ebx, eax
jmp 0x10141722
mov dword [esp + 0x64], edi
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x38]
mov dword [esp + 0x24], eax
add eax, ebx
mov dword [esp + 0x7c], eax
xor esi, esi
dec esi
mov eax, esi
inc esi
cmp dword [esp + eax*4 + 0xec], ebx
jg 0x101417d6
cmp esi, 6
jb 0x101417c5
mov eax, dword [esp + esi*4 + 0xd0]
mov dword [esp + 0x20], eax
lea edx, [ebx + 1]
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0xcc]
movzx edi, word [eax + edx*2 - 2]
cmp byte [ecx + 1], 0
jne 0x10141886
cmp byte [ecx + 2], 0
jne 0x10141886
mov ebx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esp + 0x28]
cmp eax, edi
jl 0x10141939
sub ebx, edi
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x84], edx
mov eax, dword [eax + edx*4 - 4]
cmp eax, dword [esp + 0x20]
jae 0x10141844
lea ecx, [eax + edi]
cmp ecx, dword [esp + 0x20]
ja 0x10142253
push edi
push eax
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov ecx, dword [esp + 0x80]
sub ebx, ecx
rol bx, 8
mov eax, dword [esp + 0x64]
mov word [eax], bx
mov edx, dword [esp + 0x84]
cmp edx, dword [esp + 0x7c]
jge 0x101418bd
cmp dword [esp + esi*4 + 0xe8], edx
jle 0x101418af
inc edx
add eax, 2
mov dword [esp + 0x64], eax
jmp 0x101417eb
mov ecx, dword [esp + 8]
mov ebx, edx
mov edx, edi
lea eax, [esp + 0x88]
push eax
call fcn.10142a90
mov edx, ebx
add esp, 4
test eax, eax
je 0x10141807
mov ebx, eax
jmp 0x1014181f
mov edi, dword [esp + esi*4 + 0xd4]
mov dword [esp + 0x20], edi
inc esi
jmp 0x10141879
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
jmp 0x10141661
mov eax, edi
sub eax, edx
mov ebx, ecx
lea edi, [esp + 0xc0]
push edi
push eax
call fcn.101431a0
add esp, 8
cmp eax, esi
jg 0x101424bb
mov edi, eax
mov eax, dword [ebx + 0x40]
lea ecx, [eax + edi*2]
lea edx, [esi + esi]
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, esi
sub eax, edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x3c]
mov ecx, ebx
mov edx, dword [esp + 0x34]
jmp 0x10141408
mov edx, dword [esp + 0xc0]
lea eax, [esi - 1]
mov ecx, dword [esp + 0x68]
jmp 0x101413a8
mov eax, dword [esp + 0xc]
test eax, eax
jle 0x101419a2
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0xcc]
lea ebx, [eax + 1]
mov ecx, dword [esp + 0x3c]
lea esi, [ecx + ecx]
mov dword [esp + 0x28], edx
cmp word [edx + esi], 0
jne 0x10141999
mov edi, dword [esp + 0x18]
mov ecx, dword [edi + 0x4c]
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + esi*2]
mov dword [esp + 0x10], eax
call dword [section..00cfg]
push dword [esp + 0x10]
push edi
call ecx
mov edx, dword [esp + 0x30]
add esp, 8
mov word [edx + esi], ax
mov eax, dword [esp + 0xc]
dec ebx
add esi, 2
cmp ebx, 1
jg 0x10141961
lea ecx, [esp + 0xc0]
mov edx, dword [esp + 0x3c]
push dword [esp + 8]
push eax
call fcn.1000e130
add esp, 8
mov dword [esp + 0xa8], eax
test eax, eax
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x50]
je 0x101414ca
jmp 0x1014249e
cmp byte [esp + 0x63], 1
je 0x10141f40
mov ebx, dword [esp + 0x48]
cmp byte [ebx + 0x11], 0
setne al
cmp byte [esp + 0x74], 0
sete cl
mov edx, dword [esp + 0x78]
and dl, cl
and dl, al
xor eax, eax
cmp dl, 1
je 0x10141eda
mov ebx, dword [esp + 0x14]
cmp ebx, dword [esp + 0x4c]
jle 0x1014201a
mov dword [esp + 0xa8], eax
mov esi, dword [esp + 0xc8]
test esi, esi
mov dword [esp + 8], eax
je 0x10142513
cmp dword [0x101f1020], 0
je 0x10142501
mov edi, dword [0x101f4170]
test edi, edi
je 0x10141a5f
mov ecx, dword [0x101f1070]
cmp ecx, 0x10137970
jne 0x1014251c
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 0x10142513
mov ecx, dword [0x101f1078]
cmp ecx, 0x10129ee0
mov edi, dword [esp + 0x40]
jne 0x1014252d
push esi
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
xor esi, esi
mov eax, dword [esp + esi*4 + 0x16c]
test eax, eax
jne 0x10141ffc
inc esi
cmp dword [esp + 0x70], esi
jne 0x10141abc
test ebx, ebx
jle 0x10141afa
xor esi, esi
mov eax, dword [esp + esi*4 + 0x158]
test eax, eax
je 0x10141af5
mov ecx, dword [eax + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x10142276
call fcn.1013f960
inc esi
cmp ebx, esi
jne 0x10141ad8
mov ecx, dword [esp + 0x44]
test ecx, ecx
mov esi, dword [esp + 0x54]
jne 0x10141bdc
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x44], eax
mov byte [esi + 0xc], 0
mov ecx, dword [esi + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x1014253e
call fcn.1013f960
mov al, byte [edi + 0x44]
dec al
mov byte [edi + 0x44], al
movsx eax, al
mov esi, dword [edi + eax*4 + 0x78]
mov edx, dword [esp + 8]
mov dword [edi + 0x74], esi
test edx, edx
mov eax, dword [esp + 0x44]
je 0x101401d8
jmp 0x10141bf5
mov eax, dword [esp + esi*4 + 0x158]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx + 8]
bswap edx
mov ecx, ebx
lea edi, [esp + 0xa8]
push edi
push dword [eax + 4]
push 5
call fcn.1000d9f0
add esp, 0xc
inc esi
cmp dword [esp + 0x14], esi
jne 0x10141b4f
jmp 0x10141ee1
and edx, 8
xor eax, eax
mov dword [esp + 8], edx
mov dword [esp + 0x14], eax
dec eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x78], 0
jmp 0x1014101e
test eax, eax
je 0x10141c5e
cmp eax, edi
jne 0x10141bb9
mov eax, dword [eax + 0x18]
jmp 0x10141ba8
cmp byte [eax], 0
jne 0x10141bb4
jmp 0x101426b4
movzx edx, byte [ebx + 9]
add edx, 8
jmp 0x10140311
mov dword [esp + 0x58], 0
jmp 0x101402e6
call fcn.1000dbc0
jmp 0x10141b0a
mov cl, byte [edi + 0x44]
test cl, cl
jne 0x10140214
mov eax, dword [esp + 0x44]
mov esi, edx
test eax, eax
je 0x10141c02
mov ecx, eax
call fcn.1000dbc0
mov ecx, dword [esp + 0x178]
xor ecx, ebp
call fcn.10157a00
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0xa4]
jmp 0x10140c79
lea eax, [esi + edx]
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + 0x28]
sub ecx, edx
push ecx
push 0
push eax
mov dword [esp + 0x28], esi
mov esi, edx
call sub.VCRUNTIME140.dll_memset
mov edx, esi
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
add esp, 0xc
jmp 0x10140cc7
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 8]
jmp 0x10141ba8
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.1013acd0
test eax, eax
jne 0x101425a8
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.1000e3c0
add esp, 0xc
mov dword [esp + 0xc0], eax
mov ebx, esi
mov esi, dword [esp + 0x88]
test eax, eax
mov dword [esp + 0x54], ebx
jne 0x101426a2
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 + 0x2c], edx
mov edx, dword [esp + 8]
add eax, edx
mov edx, dword [esi + 4]
mov dword [esp + 0x18], edx
push ecx
push eax
push dword [esp + 0x34]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x18], 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.10006c20
test eax, eax
jne 0x101426ab
mov ecx, esi
call fcn.1000e000
test eax, eax
mov edi, dword [esp + 0xc]
jne 0x10141d6a
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x11], 0
je 0x10141ff5
mov ecx, esi
call fcn.1000e2e0
mov dword [esp + 0xc0], eax
cmp byte [edi + 0x11], 0
je 0x10141da0
mov edx, dword [esp + 0x158]
mov ecx, edi
lea eax, [esp + 0xc0]
push eax
mov eax, dword [esp + 0x58]
push dword [eax + 4]
push 5
call fcn.1000d9f0
add esp, 0xc
mov eax, dword [esp + 0xc0]
test eax, eax
jne 0x101425bc
lea eax, [esi + 0x1c]
mov ebx, dword [esp + 0x54]
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 0x10141e2b
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.10006d00
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 edx, edx
mov edi, dword [esp + 0x40]
mov dword [edi + 0x7c], esi
mov al, 1
mov byte [edi + 0x44], al
mov dword [edi + 0x46], edx
mov dword [edi + 0x78], ebx
jmp 0x10141b3b
xor esi, esi
jmp 0x10141b4f
mov eax, dword [esp + 0xa8]
jmp 0x10141a07
mov ecx, edi
call fcn.1000e000
mov edx, dword [esp + 8]
mov dword [esp + 0xa8], eax
test eax, eax
je 0x10140395
mov ecx, eax
mov dword [esp + 0xa4], ebx
push dword [esp + 0x14]
push 0
lea eax, [esp + 0x174]
push eax
mov esi, ecx
jmp 0x10142302
mov dword [esp + 0x24], 0
jmp 0x10141018
mov edi, dword [esp + 0x10]
add edx, edi
add edx, 0xfffffffe
jmp 0x101402e2
mov eax, dword [esp + 0x38]
cmp word [eax + 0x18], 0
jne 0x101419e1
mov eax, dword [esp + 0x38]
movzx eax, byte [eax + 9]
mov esi, dword [esp + 0x158]
cmp dword [esi + 0x14], eax
jl 0x101419e1
xor edx, edx
dec edx
mov ecx, esi
call fcn.10008580
mov dword [esp + 0xa8], eax
mov ecx, esi
mov edx, dword [esp + 0x38]
lea eax, [esp + 0xa8]
push eax
call fcn.10168780
add esp, 4
mov ecx, dword [esp + 0xa8]
mov eax, ecx
test ecx, ecx
jne 0x10141a07
mov ecx, dword [esi + 0x34]
mov edx, esi
push dword [esi + 4]
call fcn.1000a490
add esp, 4
jmp 0x10141a07
lea ecx, [esp + 0x16c]
lea edx, [esp + 0x158]
cmovl ecx, edx
mov ecx, dword [ecx + edi*4]
mov eax, dword [eax + 0x38]
mov ecx, dword [ecx + 0x38]
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
jmp 0x1014104a
mov ecx, ebx
call fcn.1000e000
test eax, eax
je 0x1014024f
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
jmp 0x10141b0e
xor eax, eax
jmp 0x10141d71
mov ecx, dword [eax + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x101426e8
call fcn.1013f960
jmp 0x10141acb
xor eax, eax
jmp 0x10140953
mov esi, ebx
test eax, eax
jne 0x10142035
mov edx, dword [esp + esi*4 + 0x16c]
mov ecx, dword [edx + 0x34]
push dword [edx + 4]
call fcn.1000a490
add esp, 4
inc esi
cmp dword [esp + 0x70], esi
je 0x10141a15
jmp 0x1014201c
mov dword [esp + 0x58], 0
jmp 0x101402ef
lea ecx, [esp + 0xc0]
call fcn.10142900
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xc0]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], eax
jmp 0x10140acd
mov edi, dword [esp + 0x4c]
jmp 0x10140c5e
cmp byte [esi + 0xc], 1
jne 0x10140261
movzx eax, word [esi + 0x1c]
cmp ax, word [esi + 0x18]
jne 0x10140261
cmp dword [ebx + 4], 1
je 0x10140261
mov ecx, dword [esp + 0x24]
cmp word [ebx + 0x18], cx
jne 0x10140261
test ax, ax
je 0x1014278a
mov eax, dword [esp + 0x54]
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.1000e3c0
add esp, 0xc
mov dword [esp + 8], eax
test eax, eax
jne 0x101427b0
mov ebx, dword [esp + 0x54]
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.10166530
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.1000e130
add esp, 8
mov dword [esp + 0x158], eax
mov dword [esp + 8], eax
test eax, eax
je 0x101427c1
cmp dword [esp + 0xc], 0
je 0x101427b0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.10157e40
jmp 0x101427b0
mov eax, dword [esp + 0x1c]
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 0x10142753
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 0x1014129d
mov edi, esi
mov eax, dword [esp + 8]
jmp 0x10140b81
lea ecx, [esp + 0xc0]
mov edx, esi
call fcn.10142900
mov ecx, dword [esp + 0x10]
jmp 0x101408fa
mov eax, 0xb
push 0x101db30a
push 0x12c8b
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 ebx, ebx
jmp 0x10141a1c
push 0x101db30a
push 0x129fb
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
jmp 0x10141939
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 + 0x50]
call ecx
add esp, 0x10
jmp 0x10141af5
mov edx, eax
mov esi, dword [esp + 8]
mov dword [esp + 0xa4], ebx
lea eax, [esi*4 + 4]
push eax
push 0
lea eax, [esp + 0x174]
push eax
mov esi, edx
call sub.VCRUNTIME140.dll_memset
mov eax, esi
add esp, 0xc
xor ebx, ebx
jmp 0x10141a1c
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov byte [eax + ecx], 0
inc ecx
mov dword [esp + 0x28], 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 0x101406eb
jmp 0x10142313
mov ecx, esi
mov ebx, esi
mov esi, eax
call fcn.1000e000
test eax, eax
mov eax, esi
mov esi, ebx
je 0x101401e2
xor edx, edx
jmp 0x10141bf5
mov eax, 0xb
push 0x101db30a
push 0x12ca3
jmp 0x1014222d
mov dword [esp + ebx*4 + 0x114], edi
mov eax, 0xb
push 0x101db30a
push 0x12d08
jmp 0x1014222d
mov eax, 0xb
push 0x101db30a
push 0x12d55
jmp 0x1014222d
movzx ecx, word [edi + 0x1c]
cmp dword [esp + 0x18], ecx
jne 0x101403d1
mov eax, dword [edi + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + ebx*4 + 0x14c], eax
mov ebx, dword [eax]
bswap ebx
mov ecx, dword [edi + 0x4c]
call dword [section..00cfg]
push dword [esp + 0x18]
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 edx, edx
jmp 0x10140462
mov eax, dword [esp + 0x28]
sub eax, dword [edi + 0x38]
mov ecx, dword [esp + 0x2c]
add ecx, eax
mov edx, dword [esp + 0x48]
cmp ecx, dword [edx + 0x28]
jg 0x10140439
add eax, dword [esp + 0x6c]
push dword [esp + 0x2c]
mov edi, dword [esp + 0x2c]
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x38]
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 + 0x38]
jmp 0x10140439
mov esi, dword [esp + 0x38]
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 0x10141299
mov eax, 0xb
push 0x101db30a
push 0x12d76
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 ebx, dword [esp + 0x14]
jmp 0x10141a1c
mov eax, 0xb
push 0x101db30a
push 0x12d29
jmp 0x1014222d
mov eax, 0xb
push 0x101db30a
push 0x12a75
jmp 0x1014247f
mov eax, 0xb
push 0x101db30a
push 0x12e3e
jmp 0x1014247f
mov dword [esp + 8], 7
jmp 0x10141afa
mov dword [esp + 0xa8], 7
mov dword [esp + 8], 7
xor ebx, ebx
jmp 0x10142513
mov ecx, dword [0x101f1044]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov edi, dword [esp + 0x40]
jmp 0x10141aba
call dword [section..00cfg]
push edi
call ecx
add esp, 4
jmp 0x10141a5f
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x10141aba
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 + 0x48]
push dword [esp + 0x14]
push esi
call ecx
add esp, 0x10
jmp 0x10141b28
push 0x101db30a
push 0x12f60
jmp 0x101426ca
mov ebx, eax
mov dword [edi + 0x7c], 0
mov eax, dword [esp + 0x44]
mov edx, ebx
jmp 0x10141bf5
mov ebx, eax
mov eax, dword [esp + 0x40]
mov dword [eax + 0x7c], 0
test esi, esi
je 0x101425b1
mov ecx, dword [esi + 0x48]
call fcn.10157e40
jmp 0x101425b1
lea ecx, [esp + 0xc0]
mov edx, edi
call fcn.10142900
jmp 0x101416bf
lea ecx, [esp + 0xc0]
call fcn.10142900
mov ecx, dword [esp + 0x10]
jmp 0x10140a14
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x34]
jmp 0x10141b8a
mov ecx, dword [eax + 4]
add dword [ecx + 0x20], 1
adc dword [ecx + 0x24], 0
mov eax, dword [esp + 0x3c]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
call fcn.10158c50
jmp 0x10140ebc
mov ecx, esi
mov edx, 3
call fcn.10158ca0
jmp 0x10140efb
mov ecx, dword [eax + 4]
add dword [ecx + 0x20], 1
adc dword [ecx + 0x24], 0
mov eax, dword [esp + 0x20]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
call fcn.10158c50
jmp 0x10140f36
mov ecx, esi
mov edx, 3
call fcn.10158ca0
jmp 0x10140f75
mov ecx, dword [eax + 4]
add dword [ecx + 0x20], 1
adc dword [ecx + 0x24], 0
mov eax, dword [esp + 0x1c]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
call fcn.10158c50
jmp 0x10140fb0
mov ecx, esi
mov edx, 3
call fcn.10158ca0
jmp 0x10140fef
mov edi, dword [esp + 0xc]
jmp 0x10141d71
mov edi, dword [esp + 0xc]
jmp 0x10141d6a
mov ecx, dword [eax + 0x74]
cmp ecx, dword [edi + 0x74]
jne 0x10141bb4
push 0x101db30a
push 0x12f24
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov edx, 0xb
jmp 0x10141bf1
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 + 0x50]
call ecx
add esp, 0x10
jmp 0x10141acb
mov ebx, 0x3fff
cmp ebx, edx
sbb edi, eax
jb 0x10142774
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 0x1014277d
push eax
call fcn.1001a390
add esp, 4
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x101421e1
push 0x101db30a
push 0x12ae6
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 + 0x44]
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x54]
jmp 0x10141b0e
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 0x10142837
mov edx, dword [esp + 0x13c]
mov ecx, edi
lea eax, [esp + 0x158]
push eax
mov eax, dword [esp + 0x3c]
push dword [eax + 4]
push 5
call fcn.1000d9f0
add esp, 0xc
movzx eax, word [esp + 0x114]
mov ecx, dword [esp + 0xc]
cmp ax, word [ecx + 0x10]
jbe 0x10142837
mov ecx, dword [esp + 0xc]
mov edx, ecx
lea eax, [esp + 0x158]
push eax
push dword [esp + 0x12c]
call fcn.10142ba0
add esp, 8
mov esi, dword [esp + 0x54]
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 0x1014287d
lea ebx, [edx + 1]
lea edi, [ecx + 1]
cmp edx, 8
mov edx, ebx
jb 0x1014285f
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 0x101428a4
lea edx, [ecx + 1]
cmp ecx, eax
mov ecx, edx
jb 0x10142885
mov eax, dword [esp + 0x158]
mov dword [esp + 8], eax
test eax, eax
jne 0x101428e0
mov ecx, dword [esp + 0x38]
movzx edx, word [ecx + 0x18]
lea eax, [esp + 0xb3]
mov ebx, dword [esp + 0x54]
push dword [ebx + 4]
push 0
push edi
push eax
call fcn.1000dd50
add esp, 0x10
mov dword [esp + 8], eax
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x13c]
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 0x38]
movzx edx, byte [edx + 9]
bswap eax
mov dword [edx + ecx + 8], eax
jmp 0x1014216f