Function at 0x67185fc1
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x516c
call fcn.671a3700
mov eax, dword [0x6753165c]
xor eax, esp
mov dword [esp + 0x5168], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [esp + 0x5198]
xor edx, edx
mov ecx, dword [esp + 0x5188]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x5180]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x5184]
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x518c]
mov dword [esp + 0x44], ebx
mov ebp, dword [esp + 0x5194]
mov dword [esp + 0x7c], ebp
lea ebx, [eax + ebx*2]
mov dword [esp + 0x80], ebx
mov esi, ecx
lea edi, [ebx - 2]
mov dword [esp + 0x64], edi
lea edi, [esp + 0x178]
mov dword [esp + 0xdc], edi
mov edi, edx
cmp ecx, 0xffffffff
jne 0x6718607c
push eax
call fcn.6719f8cc
pop ecx
mov ecx, eax
xor edx, edx
mov dword [esp + 0x34], ecx
xor eax, eax
cmp esi, 0xffffffff
sete al
test dword [esp + 0x5190], 0x1fff9fc0
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x24]
lea ecx, [eax + ecx*2]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x50], ecx
jne 0x671871f9
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x671871f5
test eax, eax
je 0x671871f5
test ebp, ebp
je 0x671871f5
mov eax, dword [esp + 0x44]
cmp eax, dword [esp + 0x34]
jbe 0x671860d5
push 0xffffffffffffffdf
jmp 0x671871fb
cmp dword [esi + 0x38], 0x50435245
je 0x671860e5
push 0xffffffffffffffe1
jmp 0x671871fb
mov ecx, dword [esi + 0x48]
mov eax, ecx
and al, 7
cmp al, 2
je 0x671860f7
push 0xffffffffffffffe0
jmp 0x671871fb
mov eax, dword [esp + 0x5190]
shr ecx, 0xe
and ecx, 0xc
or eax, ecx
mov dword [esp + 0x5190], eax
cmp dword [esi + 0x10], edx
je 0x6718611e
test eax, 0xbfffbfc0
jne 0x6718611e
xor esi, esi
inc esi
jmp 0x67186120
mov esi, edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], 2
mov edx, dword [eax + 0x40]
mov eax, edx
shr eax, 0x13
and eax, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x5190]
mov ecx, eax
shr eax, 4
and eax, 1
and cl, 0x20
cmovne eax, dword [esp + 0x18]
movzx eax, ax
mov word [esp + 0x110], ax
test ax, ax
je 0x6718617a
mov eax, edx
or eax, dword [esp + 0x5190]
test eax, 0x20000000
jne 0x671871f9
mov eax, dword [esp + 0x40]
test eax, eax
je 0x67186197
cmp dword [eax + 0x24], 0xffffffff
je 0x67186197
test edx, 0x800000
jne 0x67186197
push 0xffffffffffffffc8
jmp 0x671871fb
test byte [ebp + 0x25], 1
je 0x671861b0
push dword [ebp + 8]
push dword [ebp + 0x10]
call dword [ebp + 4]
and byte [ebp + 0x25], 0xfe
mov edx, dword [esp + 0x28]
pop ecx
pop ecx
xor eax, eax
mov dword [esp + 0x30], 0xdc00
mov ecx, 0xfc00
mov dword [ebp + 0x10], eax
test esi, esi
mov dword [ebp + 0x20], eax
mov esi, dword [esp + 0x5190]
mov dword [esp + 0x54], ecx
je 0x671862fb
cmp dword [esp + 0x14], eax
je 0x67186288
test esi, 0x40000000
jne 0x67186288
test edx, 0x4000000
jne 0x67186288
cmp ebx, dword [esp + 0x10]
jae 0x67186216
mov ax, word [ebx]
and ax, cx
cmp ax, word [esp + 0x30]
jne 0x67186216
cmp dword [esp + 0x44], edi
jmp 0x671863a1
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
movzx ecx, word [eax + 0x64]
test ecx, ecx
je 0x67186251
mov esi, dword [esp + 0x18]
cmp ebx, edx
jbe 0x67186251
sub ebx, esi
cmp ebx, edx
jbe 0x6718624c
mov edi, 0xfc00
mov ax, word [ebx]
and ax, di
cmp ax, word [esp + 0x30]
jne 0x6718624c
sub ebx, esi
cmp ebx, edx
ja 0x67186239
sub ecx, 1
jne 0x6718622a
mov eax, dword [esp + 0x34]
lea edi, [ebp + 0x20]
mov esi, ebx
sub esi, edx
sar esi, 1
push edi
sub eax, esi
push eax
push ebx
call fcn.671a1f24
add esp, 0xc
mov dword [ebp + 0x28], eax
test eax, eax
je 0x67186279
add dword [edi], esi
jmp 0x671871fc
mov esi, dword [esp + 0x5190]
mov dword [esp + 0x3c], 1
mov eax, dword [esp + 0x40]
push eax
push ebp
push esi
push dword [esp + 0x50]
push dword [esp + 0x44]
push dword [esp + 0x38]
push dword [esp + 0x34]
call fcn.6719c58f
mov edi, eax
add esp, 0x1c
cmp edi, 0xffffffd3
je 0x671862f5
test edi, edi
js 0x671862ee
test esi, 0x4000
je 0x671862ee
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x74]
push dword [ebp + 8]
lea esi, [esi + eax]
add esi, esi
push esi
call dword [ebp]
mov dword [ebp + 0x10], eax
pop ecx
pop ecx
test eax, eax
je 0x671871f1
mov ecx, dword [esp + 0x24]
push esi
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
or byte [ebp + 0x25], 1
mov eax, edi
jmp 0x671871fc
mov edi, dword [esp + 0x3c]
xor eax, eax
cmp dword [esp + 0x14], 0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x124], ecx
je 0x6718646b
test edi, edi
jne 0x6718646b
test esi, 0x40000000
mov esi, dword [esp + 0x20]
je 0x67186331
test esi, 0x4000000
je 0x6718646b
mov edx, dword [esp + 0x10]
mov ecx, eax
mov eax, esi
and eax, 0x4000000
cmp ebx, edx
jae 0x67186363
test eax, eax
je 0x6718638a
mov edi, 0xfc00
mov ax, word [ebx]
and ax, di
cmp ax, word [esp + 0x30]
jne 0x67186363
add ebx, dword [esp + 0x18]
xor ecx, ecx
inc ecx
cmp ebx, edx
jb 0x6718634b
mov edi, dword [esp + 0x24]
mov edx, ebx
mov dword [esp + 0x124], edx
test ecx, ecx
jne 0x671863d6
mov eax, dword [esp + 0x1c]
movzx ecx, word [eax + 0x64]
test ecx, ecx
je 0x671863d6
mov esi, dword [esp + 0x18]
cmp edx, edi
jbe 0x671863d2
jmp 0x671863c0
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
cmp ax, word [esp + 0x30]
jne 0x67186363
cmp dword [esp + 0x44], 0
jbe 0x671863aa
push 0xffffffffffffffdc
jmp 0x671871fb
push 0xffffffffffffffe6
jmp 0x671871fb
mov ax, word [edx]
and ax, word [esp + 0x54]
cmp ax, word [esp + 0x30]
jne 0x671863cd
sub edx, esi
mov dword [esp + 0x124], edx
cmp edx, edi
ja 0x671863b1
sub ecx, 1
jne 0x67186384
mov esi, dword [esp + 0x20]
lea eax, [ebp + 0x20]
push eax
jmp 0x6718644a
mov ecx, dword [esp + 0x124]
mov eax, dword [ebp + 0x20]
sub ecx, edi
sar ecx, 1
add eax, ecx
lea ecx, [ebp + 0x20]
mov dword [ecx], eax
test esi, 0x4000000
je 0x671864d5
xor edx, edx
cmp dword [ebp + 0x28], edx
jg 0x671864d5
lea eax, [edi + eax*2]
mov dword [esp + 0x10], eax
cmp eax, ebx
jae 0x671864cb
lea edx, [eax + 2]
mov dword [esp + 0x124], edx
cmp edx, ebx
jae 0x67186449
mov esi, dword [esp + 0x18]
mov ax, word [edx]
and ax, word [esp + 0x54]
cmp ax, word [esp + 0x30]
jne 0x67186445
add edx, esi
mov dword [esp + 0x124], edx
cmp edx, ebx
jb 0x67186429
mov esi, dword [esp + 0x20]
push ecx
mov eax, dword [esp + 0x38]
mov ecx, edx
sub ecx, edi
sar ecx, 1
sub eax, ecx
push eax
push edx
call fcn.671a1f24
add esp, 0xc
mov dword [ebp + 0x28], eax
test eax, eax
jne 0x671863dc
xor edx, edx
mov eax, dword [esp + 0x40]
lea edi, [esp + 0xc4]
mov esi, dword [esp + 0x1c]
test eax, eax
je 0x67186482
mov esi, eax
movsd dword es:[edi], dword [esi]
test eax, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, 0x6747a800
cmovne edi, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x40]
mov esi, ecx
or esi, dword [esp + 0x5190]
mov eax, dword [eax + 0x48]
shr esi, 0x1f
mov dword [esp + 0x20], esi
mov esi, ecx
shr esi, 8
and esi, 1
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x24]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x24]
cmp eax, 0xffffffff
jne 0x671864dd
mov eax, dword [esp + 0x50]
jmp 0x671864e0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
jmp 0x6718646d
mov eax, dword [ebp + 0x28]
jmp 0x671871fc
lea eax, [esi + eax*2]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x84]
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x10]
sub eax, esi
mov dword [esp + 0x9c], esi
sar eax, 1
mov dword [esp + 0xa0], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x174], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x128], eax
mov dword [esp + 0x120], esi
mov esi, dword [esp + 0x40]
mov eax, esi
shr eax, 0xc
and eax, 1
mov dword [esp + 0xc0], edx
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x1c]
cmp word [eax + 0x64], dx
ja 0x67186574
test esi, 0x2000
jne 0x67186574
mov eax, edx
jmp 0x67186577
xor eax, eax
inc eax
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x1c]
and dword [esp + 0x15c], 0
mov dword [esp + 0x158], edx
mov dword [esp + 0x13c], edx
lea esi, [eax + 0x70]
mov dword [esp + 0x138], edx
movzx edx, word [eax + 0x6e]
movzx eax, word [eax + 0x6c]
mov word [esp + 0x116], ax
imul eax, edx
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x1c]
push 0xd
mov dword [esp + 0x11c], esi
mov word [esp + 0x118], dx
lea eax, [esi + eax*2]
mov dword [esp + 0x120], eax
mov ax, word [ecx + 0x60]
mov word [esp + 0x116], ax
movzx eax, word [ecx + 0x62]
pop esi
push 0xa
pop edx
sub eax, 1
je 0x67186661
sub eax, 1
je 0x67186657
sub eax, 1
je 0x6718663a
sub eax, 1
je 0x6718662d
sub eax, 1
je 0x67186620
sub eax, 1
je 0x67186614
push 0xffffffffffffffd4
jmp 0x671871fb
xor eax, eax
mov word [esp + 0x164], ax
jmp 0x67186669
mov eax, dword [esp + 0x18]
mov dword [esp + 0x15c], eax
jmp 0x67186674
mov dword [esp + 0x15c], 1
jmp 0x67186674
mov eax, dword [esp + 0x18]
mov dword [esp + 0x160], eax
mov word [esp + 0x164], si
mov word [esp + 0x166], dx
jmp 0x67186674
mov word [esp + 0x164], dx
jmp 0x67186669
mov word [esp + 0x164], si
mov dword [esp + 0x160], 1
movzx eax, word [ecx + 0x68]
mov edx, dword [edi + 0x28]
cmp edx, dword [ecx + 0x4c]
cmovae edx, dword [ecx + 0x4c]
lea esi, [eax*8 + 0x54]
mov eax, dword [edi + 0x2c]
cmp eax, dword [ecx + 0x50]
mov dword [esp + 0x6c], esi
cmovae eax, dword [ecx + 0x50]
mov dword [esp + 0xe4], eax
mov eax, dword [edi + 0x30]
mov edi, ecx
mov dword [esp + 0xe0], edx
cmp eax, dword [edi + 0x54]
cmovae eax, dword [edi + 0x54]
mov dword [esp + 0xe8], eax
cmp esi, 0x800
ja 0x671866e6
mov ecx, 0x5000
mov esi, dword [esp + 0xdc]
mov eax, ecx
mov dword [esp + 0xd4], esi
xor edx, edx
div dword [esp + 0x6c]
sub ecx, edx
mov dword [esp + 0xd0], ecx
jmp 0x67186741
imul ecx, esi, 0xa
mov eax, ecx
mov dword [esp + 0xd0], ecx
shr eax, 0xa
cmp eax, edx
jbe 0x67186718
mov ecx, edx
shl ecx, 0xa
cmp esi, ecx
jbe 0x67186709
push 0xffffffffffffffc1
jmp 0x671871fb
mov eax, ecx
xor edx, edx
div esi
sub ecx, edx
mov dword [esp + 0xd0], ecx
push dword [esp + 0xcc]
push ecx
call dword [esp + 0xcc]
mov esi, eax
mov dword [esp + 0xdc], esi
pop ecx
pop ecx
test esi, esi
je 0x671871f1
mov ecx, dword [esp + 0xd0]
movzx eax, word [edi + 0x68]
add ecx, esi
shl eax, 3
push eax
mov eax, 0xff
mov dword [esp + 0xdc], ecx
push eax
lea eax, [esi + 0x54]
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi + 0xc]
add esp, 0xc
mov dword [esp + 0xfc], eax
lea esi, [eax + 0x100]
add eax, 0x340
test byte [edi + 0x48], 0x10
mov dword [esp + 0x100], esi
mov dword [esp + 0x104], eax
je 0x6718680c
test byte [edi + 0x48], 0x20
movzx eax, word [edi + 0x58]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
movzx edx, cx
mov dword [esp + 0x58], 1
movzx eax, ax
mov dword [esp + 0x38], edx
je 0x67186823
mov ecx, eax
mov eax, 0xff
mov edx, ecx
cmp word [esp + 0x28], ax
ja 0x671867c9
movzx eax, byte [ecx + esi]
mov dword [esp + 0x28], eax
push 0x7f
pop eax
and edx, eax
cmp dword [esp + 0x14], 0
je 0x67186823
cmp word [esp + 0x38], ax
jbe 0x67186823
shr ecx, 7
movzx eax, word [ecx*2 + 0x6747fac0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
mov ax, word [eax + 0x6747cdcc]
add ax, word [esp + 0x38]
movzx ecx, ax
mov dword [esp + 0x28], ecx
jmp 0x67186823
test dword [esp + 0x40], 0x200
jne 0x67186823
test byte [edi + 0x48], 0x40
je 0x67186823
lea eax, [edi + 0x14]
mov dword [esp + 0x48], eax
test byte [edi + 0x48], 0x80
je 0x671868ad
test dword [edi + 0x48], 0x100
movzx eax, word [edi + 0x5c]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
movzx edx, cx
mov dword [esp + 0x60], 1
movzx eax, ax
mov dword [esp + 0x4c], edx
je 0x671868ad
mov ecx, eax
mov eax, 0xff
mov edx, ecx
cmp word [esp + 0x2c], ax
ja 0x6718686c
movzx eax, byte [ecx + esi]
mov dword [esp + 0x2c], eax
push 0x7f
pop eax
and edx, eax
cmp dword [esp + 0x14], 0
je 0x671868ad
cmp word [esp + 0x4c], ax
jbe 0x671868ad
shr ecx, 7
movzx eax, word [ecx*2 + 0x6747fac0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x67483ec0]
imul eax, eax, 0xc
mov ax, word [eax + 0x6747cdcc]
add ax, word [esp + 0x4c]
movzx ecx, ax
mov dword [esp + 0x2c], ecx
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
xor eax, eax
and dword [esp + 0x3c], eax
and dword [esp + 0xf0], eax
mov dword [esp + 0x78], eax
test dword [ecx + 0x40], 0x10000
jne 0x67186e6e
cmp dword [esp + 0x70], 0
je 0x67186a0c
mov esi, ebx
cmp ebx, edi
jae 0x67186a06
mov edx, dword [esp + 0x14]
test edx, edx
je 0x67186993
mov eax, dword [esp + 0x15c]
mov edi, esi
mov ecx, dword [esp + 0x128]
test eax, eax
je 0x6718692a
cmp esi, ecx
jae 0x67186966
push edx
lea edx, [esp + 0x164]
push edx
push ecx
push eax
push esi
call fcn.671a0c6f
add esp, 0x14
test eax, eax
jne 0x67186a06
jmp 0x67186962
mov edx, dword [esp + 0x160]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x67186962
mov ax, word [esi]
cmp ax, word [esp + 0x164]
jne 0x67186962
cmp edx, 1
je 0x67186a06
mov ax, word [esi + 2]
cmp ax, word [esp + 0x166]
je 0x67186a06
mov edx, dword [esp + 0x14]
add esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
cmp esi, ecx
jae 0x67186a06
mov ax, word [esi]
and ax, word [esp + 0x54]
cmp ax, word [esp + 0x30]
cmovne esi, edi
add esi, dword [esp + 0x18]
cmp esi, ecx
jae 0x67186a06
jmp 0x671868f4
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x128]
test eax, eax
je 0x671869c3
cmp esi, ecx
jae 0x671869fe
push edx
lea edx, [esp + 0x164]
push edx
push ecx
push eax
push esi
call fcn.671a0c6f
add esp, 0x14
test eax, eax
jne 0x67186a06
jmp 0x671869f3
mov edx, dword [esp + 0x160]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x671869f3
mov ax, word [esi]
cmp ax, word [esp + 0x164]
jne 0x671869f3
cmp edx, 1
je 0x67186a06
mov ax, word [esi + 2]
cmp ax, word [esp + 0x166]
je 0x67186a06
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x15c]
add esi, dword [esp + 0x18]
cmp esi, edi
jb 0x6718699a
mov edi, esi
mov dword [esp + 0x10], edi
mov esi, dword [esp + 0x20]
test esi, esi
je 0x67186b37
mov ecx, dword [esp + 0x58]
test ecx, ecx
jne 0x67186a2a
cmp dword [esp + 0x48], ecx
je 0x67186da6
cmp ebx, edi
sbb eax, eax
neg eax
cmp ebx, edi
jae 0x67186a84
movzx eax, word [ebx]
test ecx, ecx
je 0x67186a55
mov ecx, dword [esp + 0x38]
cmp ax, cx
je 0x67186da6
mov edx, dword [esp + 0x28]
cmp ax, dx
je 0x67186da6
cmp dword [esp + 0x48], 0
je 0x67186a8c
mov ecx, 0xff
cmp ax, cx
push 0
cmova eax, ecx
movzx edx, ax
xor eax, eax
mov ecx, edx
inc eax
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x4c]
test byte [edx + ecx], al
pop eax
setne al
test eax, eax
jne 0x67186da6
xor esi, esi
cmp dword [esp + 0x14], 0
je 0x671870c5
mov ecx, dword [esp + 0x50]
cmp edi, ecx
je 0x671870c5
test esi, esi
je 0x67186ab2
cmp esi, 0xfffffffe
jne 0x671870c5
lea esi, [ebp + 0x20]
lea ebx, [edi + 2]
cmp ebx, ecx
jae 0x671870c3
mov edi, dword [esp + 0x18]
mov edx, 0xfc00
mov ax, word [ebx]
and ax, dx
cmp ax, word [esp + 0x30]
jne 0x67186adc
add ebx, edi
cmp ebx, ecx
jb 0x67186ac9
mov edi, dword [esp + 0x10]
cmp ebx, ecx
jae 0x671870c3
mov eax, dword [esp + 0x34]
mov ecx, ebx
sub ecx, dword [esp + 0x24]
sar ecx, 1
push esi
sub eax, ecx
mov dword [esp + 0x128], ebx
push eax
push ebx
call fcn.671a1f24
add esp, 0xc
test eax, eax
je 0x671870a5
mov ecx, dword [esp + 0x50]
jns 0x67186ab5
mov eax, dword [esi]
lea edi, [ebx + eax*2]
mov dword [esp + 0x10], edi
mov dword [esp + 0x128], edi
cmp edi, ebx
jbe 0x67186ab5
mov dword [esp + 0x5c], 3
jmp 0x671868b1
cmp dword [esp + 0x58], 0
je 0x67186ba8
cmp ebx, edi
jae 0x67186b81
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
cmp si, dx
mov esi, dword [esp + 0x20]
je 0x67186b6e
mov ecx, dword [esp + 0x38]
movzx eax, word [ebx]
cmp ax, cx
je 0x67186b81
cmp ax, dx
je 0x67186b81
add ebx, dword [esp + 0x18]
cmp ebx, edi
jb 0x67186b57
jmp 0x67186b81
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
cmp word [ebx], ax
je 0x67186b81
add ebx, ecx
cmp ebx, edi
jb 0x67186b76
cmp word [esp + 0x110], 0
mov edi, dword [esp + 0x128]
jne 0x67186dad
cmp ebx, edi
jb 0x67186dad
mov edi, dword [esp + 0x10]
jmp 0x67186a8c
test dword [esp + 0x40], 0x200
je 0x67186d59
mov esi, dword [esp + 0x120]
mov eax, dword [esp + 0x44]
lea eax, [esi + eax*2]
cmp ebx, eax
jbe 0x67186da2
cmp ebx, edi
jae 0x67186d17
mov edx, dword [esp + 0x14]
test edx, edx
je 0x67186c95
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x15c]
mov edi, ebx
test eax, eax
je 0x67186c1e
cmp ebx, esi
jbe 0x67186c68
push edx
lea ecx, [esp + 0x164]
push ecx
push esi
push eax
push ebx
call fcn.671a0d23
mov ecx, dword [esp + 0x24]
add esp, 0x14
test eax, eax
jne 0x67186d1b
mov esi, dword [esp + 0x120]
jmp 0x67186c64
mov eax, dword [esp + 0x160]
lea edx, [eax + eax]
lea eax, [esi + edx]
cmp ebx, eax
jb 0x67186c64
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [esp + 0x164]
jne 0x67186c60
cmp dword [esp + 0x160], 1
je 0x67186d17
mov ax, word [ecx + 2]
cmp ax, word [esp + 0x166]
je 0x67186d17
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
add ebx, dword [esp + 0x18]
cmp ebx, ecx
jae 0x67186d1b
mov ax, word [ebx]
and ax, word [esp + 0x54]
cmp ax, word [esp + 0x30]
cmovne ebx, edi
add ebx, dword [esp + 0x18]
cmp ebx, ecx
jae 0x67186d1b
jmp 0x67186be4
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x67186cc9
cmp ebx, esi
jbe 0x67186d11
push edx
lea ecx, [esp + 0x164]
push ecx
push esi
push eax
push ebx
call fcn.671a0d23
add esp, 0x14
test eax, eax
jne 0x67186d17
mov esi, dword [esp + 0x120]
jmp 0x67186d02
mov edi, dword [esp + 0x160]
lea edx, [edi + edi]
lea eax, [esi + edx]
cmp ebx, eax
jb 0x67186d53
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [esp + 0x164]
jne 0x67186cfe
cmp edi, 1
je 0x67186d17
mov ax, word [ecx + 2]
cmp ax, word [esp + 0x166]
je 0x67186d17
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x15c]
add ebx, ecx
cmp ebx, edi
jb 0x67186ca0
mov ecx, dword [esp + 0x10]
push 0xd
pop eax
cmp word [ebx - 2], ax
jne 0x67186da2
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x18]
cmp eax, 1
je 0x67186d38
cmp eax, edx
jne 0x67186da2
cmp ebx, ecx
jae 0x67186da2
mov edi, dword [esp + 0x128]
mov esi, dword [esp + 0x20]
push 0xa
pop eax
cmp word [ebx], ax
jne 0x67186dad
add ebx, edx
jmp 0x67186dad
mov edi, dword [esp + 0x10]
jmp 0x67186d06
cmp dword [esp + 0x48], 0
je 0x67186da6
cmp ebx, edi
jae 0x67186b81
mov esi, dword [esp + 0x48]
mov ebp, dword [esp + 0x18]
movzx edx, word [ebx]
mov eax, 0xff
cmp edx, eax
cmova edx, eax
xor eax, eax
mov ecx, edx
inc eax
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + esi], al
jne 0x67186d95
add ebx, ebp
cmp ebx, edi
jb 0x67186d70
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x20]
jmp 0x67186b81
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x128]
cmp word [esp + 0x110], 0
mov dword [esp + 0x10], edi
jne 0x67186e6a
mov eax, dword [esp + 0x1c]
mov edx, edi
sub edx, ebx
sar edx, 1
movzx eax, word [eax + 0x66]
cmp edx, eax
jl 0x67186a8c
cmp dword [esp + 0x60], 0
mov eax, dword [esp + 0x58]
lea ecx, [ebx + eax*2]
je 0x67186e6a
cmp ecx, dword [esp + 0x64]
jbe 0x67186e6a
cmp edx, 0x7d0
jb 0x67186e02
test esi, esi
jne 0x67186e6a
cmp edx, 0x1e8480
jae 0x67186e6a
cmp ecx, dword [esp + 0x128]
jae 0x67186a8c
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x4c]
cmp si, di
mov edi, dword [esp + 0x128]
je 0x67186e45
movzx eax, word [ecx]
mov esi, ecx
add ecx, 2
mov edx, eax
cmp ax, word [esp + 0x4c]
je 0x67186e41
cmp dx, word [esp + 0x2c]
je 0x67186e41
cmp ecx, edi
jb 0x67186e23
jmp 0x67186e5a
mov ecx, esi
jmp 0x67186e5a
movzx eax, word [ecx]
mov edx, ecx
add ecx, 2
cmp ax, si
je 0x67186e58
cmp ecx, edi
jb 0x67186e45
jmp 0x67186e5a
mov ecx, edx
cmp ecx, edi
mov edi, dword [esp + 0x10]
jae 0x67186a8c
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x68]
ja 0x67186a8c
or dword [esp + 0xc0], 1
mov eax, ebx
sub eax, dword [esp + 0x24]
sar eax, 1
and dword [esp + 0xec], 0
and dword [esp + 0x10c], 0
and dword [esp + 0x154], 0
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x5c]
or eax, dword [esp + 0x5190]
mov dword [esp + 0x14c], eax
lea eax, [esp + 0xc4]
push eax
push dword [esp + 0x70]
movzx eax, word [ecx + 0x68]
push eax
movzx eax, word [ebp + 0x26]
push eax
lea eax, [ebp + 0x2c]
mov dword [esp + 0x140], ebx
push eax
push dword [esp + 0x130]
mov dword [esp + 0x14c], ebx
push ebx
call fcn.6717d084
add esp, 0x1c
mov esi, eax
cmp dword [esp + 0xf0], 0
je 0x67186f13
cmp dword [esp + 0x3c], 0
jne 0x67186f13
mov eax, dword [esp + 0x130]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x78], ebx
cmp esi, 0xfffffc1b
je 0x67186a8c
cmp esi, 0xfffffc1c
je 0x67186f6d
cmp esi, 0xfffffc1d
je 0x67186f62
cmp esi, 0xfffffc1e
je 0x67186f4c
cmp esi, 0xfffffc1f
je 0x67186f6d
test esi, esi
je 0x67186f6d
mov edi, dword [esp + 0x10]
jmp 0x67186a8e
mov eax, dword [esp + 0x154]
mov edi, ebx
mov dword [esp + 0x158], eax
mov edx, dword [esp + 0x14]
jmp 0x67186f9c
mov edi, dword [esp + 0x144]
cmp edi, ebx
ja 0x67186f5c
and dword [esp + 0x158], 0
lea edi, [ebx + 2]
mov edx, dword [esp + 0x14]
test edx, edx
je 0x67186f9c
cmp edi, dword [esp + 0x10]
jae 0x67186f9c
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
cmp ax, word [esp + 0x30]
jne 0x67186f9c
add edi, dword [esp + 0x18]
mov eax, dword [esp + 0x15c]
xor esi, esi
cmp dword [esp + 0x70], esi
je 0x67186fe1
test eax, eax
je 0x67187045
mov ecx, dword [esp + 0x128]
cmp ebx, ecx
jae 0x67186fe1
push edx
lea edx, [esp + 0x164]
push edx
push ecx
push eax
push ebx
call fcn.671a0c6f
add esp, 0x14
test eax, eax
jne 0x67186f43
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
mov ebx, edi
cmp dword [esp + 0x20], esi
jne 0x67186f43
mov ecx, dword [esp + 0x10]
cmp edi, ecx
ja 0x67186f43
cmp edi, dword [esp + 0x80]
jbe 0x67187090
push 0xd
pop esi
cmp word [edi - 2], si
jne 0x67187090
cmp edi, ecx
jae 0x67187090
push 0xa
pop ecx
cmp word [edi], cx
mov ecx, dword [esp + 0x1c]
jne 0x67187094
test dword [ecx + 0x48], 0x800
jne 0x67187094
cmp eax, 1
je 0x67187040
mov esi, dword [esp + 0x18]
cmp eax, esi
je 0x67187040
cmp edx, esi
jne 0x67187094
lea ebx, [edi + 2]
jmp 0x67187094
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x128]
lea ecx, [edx + edx]
sub eax, ecx
cmp ebx, eax
ja 0x67187084
mov ax, word [ebx]
cmp ax, word [esp + 0x164]
jne 0x67187084
cmp edx, 1
je 0x67186f43
mov ax, word [ebx + 2]
cmp ax, word [esp + 0x166]
je 0x67186f43
mov eax, dword [esp + 0x15c]
jmp 0x67186fe8
mov ecx, dword [esp + 0x1c]
and dword [esp + 0x138], 0
mov edi, dword [esp + 0x10]
jmp 0x671868c6
mov eax, dword [esp + 0x50]
mov edi, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x128], eax
mov dword [esp + 0x5c], 1
jmp 0x671868b1
xor esi, esi
mov eax, dword [esp + 0xd4]
cmp eax, dword [esp + 0xdc]
je 0x671870e6
push dword [esp + 0xcc]
push eax
call dword [esp + 0xd0]
pop ecx
pop ecx
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x138]
mov dword [ebp + 0x14], eax
mov byte [ebp + 0x24], cl
cmp esi, 1
jne 0x671871a1
movzx eax, word [ebp + 0x26]
add eax, eax
cmp dword [esp + 0x10c], eax
jge 0x67187123
mov eax, dword [esp + 0x10c]
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
inc ecx
mov edi, dword [esp + 0x24]
sub ebx, edi
mov eax, dword [esp + 0x130]
sub eax, edi
sar ebx, 1
sar eax, 1
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0x12c]
cmp dword [esp + 0x134], eax
mov dword [ebp + 0x28], ecx
cmova eax, dword [esp + 0x134]
sub eax, edi
mov dword [ebp + 0x20], ebx
sar eax, 1
test dword [esp + 0x5190], 0x4000
mov dword [ebp + 0x1c], eax
je 0x6718719a
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x74]
push dword [ebp + 8]
lea esi, [esi + eax]
add esi, esi
push esi
call dword [ebp]
mov dword [ebp + 0x10], eax
pop ecx
pop ecx
test eax, eax
je 0x671871f1
push esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp + 0x28]
add esp, 0xc
or byte [ebp + 0x25], 1
jmp 0x6718719d
mov dword [ebp + 0x10], edi
mov eax, ecx
jmp 0x671871fc
mov eax, dword [esp + 0x13c]
mov dword [ebp + 0x14], eax
test esi, esi
je 0x671871b4
cmp esi, 0xfffffffe
jne 0x671871ea
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x671871e7
mov eax, dword [esp + 0x24]
sub ecx, eax
sar ecx, 1
sub edi, eax
sar edi, 1
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 0x30], edi
mov dword [ebp + 0x20], ecx
mov ecx, dword [esp + 0x3c]
sub ecx, eax
mov dword [ebp + 0x1c], edi
sar ecx, 1
push 0xfffffffffffffffe
mov dword [ebp + 0x18], ecx
pop esi
jmp 0x671871ea
or esi, 0xffffffff
mov dword [ebp + 0x28], esi
mov eax, esi
jmp 0x671871fc
push 0xffffffffffffffd0
jmp 0x671871fb
push 0xffffffffffffffcd
jmp 0x671871fb
push 0xffffffffffffffde
pop eax
mov ecx, dword [esp + 0x5178]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.671a2acb
add esp, 0x516c
ret