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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x5184
call fcn.67286330
mov eax, dword [0x674c7008]
xor eax, esp
mov dword [esp + 0x5180], eax
push ebx
push esi
push edi
mov esi, edx
mov dword [esp + 0x20], esi
mov dword [esp + 0xc], ecx
mov eax, dword [ebp + 8]
mov dword [esp + 0x30], eax
mov edx, dword [ebp + 0x18]
xor eax, eax
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], eax
lea eax, [edi + edi]
mov dword [esp + 0x88], eax
add eax, esi
mov dword [esp + 0x8c], eax
mov dword [esp + 0x1c], eax
add eax, 0xfffffffe
mov dword [esp + 0x68], eax
lea eax, [esp + 0x188]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x18], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x48], edi
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
cmp eax, 0xffffffff
jne 0x6727f748
mov eax, esi
mov dword [esp + 0x30], ebx
cmp word [esi], bx
je 0x6727f73c
nop word [eax + eax]
inc dword [esp + 0x30]
lea eax, [eax + 2]
cmp word [eax], bx
jne 0x6727f730
mov eax, dword [esp + 0x30]
mov dword [esp + 0x58], 1
test dword [ebp + 0x10], 0x1fff9fc0
lea eax, [esi + eax*2]
mov dword [esp + 0x10], eax
mov dword [esp + 0x74], eax
jne 0x67280c7f
mov eax, dword [esp + 0xc]
test eax, eax
je 0x67280c65
test esi, esi
je 0x67280c65
test ecx, ecx
je 0x67280c65
cmp edi, dword [esp + 0x30]
jbe 0x6727f79c
mov eax, 0xffffffdf
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
cmp dword [eax + 0x38], 0x50435245
je 0x6727f7bf
mov eax, 0xffffffe1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax + 0x48]
mov eax, ecx
and al, 7
cmp al, 2
je 0x6727f7e4
mov eax, 0xffffffe0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0xc]
mov esi, dword [ebp + 0x10]
shr ecx, 0xe
and ecx, 0xc
or esi, ecx
mov dword [ebp + 0x10], esi
cmp dword [eax + 0x10], ebx
je 0x6727f80a
test esi, 0xbfffbfc0
jne 0x6727f80a
mov esi, 1
jmp 0x6727f80c
xor esi, esi
mov ecx, dword [eax + 0x40]
mov eax, ecx
shr eax, 0x13
and eax, 1
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x10]
test al, 0x20
je 0x6727f82d
mov eax, 2
jmp 0x6727f833
shr eax, 4
and eax, 1
movzx eax, ax
mov word [esp + 0x11c], ax
test ax, ax
je 0x6727f853
mov eax, ecx
or eax, dword [ebp + 0x10]
test eax, 0x20000000
jne 0x67280c7f
test edx, edx
je 0x6727f87f
cmp dword [edx + 0x24], 0xffffffff
je 0x6727f87f
test ecx, 0x800000
jne 0x6727f87f
mov eax, 0xffffffc8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x28]
test byte [edx + 0x25], 1
je 0x6727f8a3
push dword [edx + 8]
mov eax, dword [edx + 4]
push dword [edx + 0x10]
call eax
mov edx, dword [esp + 0x30]
add esp, 8
mov ecx, dword [esp + 0x2c]
and byte [edx + 0x25], 0xfe
mov dword [edx + 0x10], ebx
lea eax, [edx + 0x20]
mov dword [esp + 0x50], eax
mov dword [eax], ebx
mov dword [esp + 0x5c], 0xfc00
mov dword [esp + 0x40], 0xdc00
test esi, esi
je 0x6727fa37
cmp dword [esp + 0x14], ebx
je 0x6727f9af
test dword [ebp + 0x10], 0x40000000
jne 0x6727f9af
test ecx, 0x4000000
jne 0x6727f9af
mov ebx, dword [esp + 0x1c]
mov esi, 0xfc00
cmp ebx, dword [esp + 0x10]
jae 0x6727f92a
mov ax, word [ebx]
mov ecx, 0xdc00
and ax, si
cmp ax, cx
jne 0x6727f92a
xor eax, eax
cmp eax, edi
sbb eax, eax
and eax, 0xfffffff6
add eax, 0xffffffe6
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
movzx ecx, word [eax + 0x64]
test ecx, ecx
je 0x6727f96d
nop word [eax + eax]
cmp ebx, edx
jbe 0x6727f969
sub ebx, 2
cmp ebx, edx
jbe 0x6727f964
nop dword [eax + eax]
mov ax, word [ebx]
and ax, si
cmp ax, word [esp + 0x40]
jne 0x6727f964
sub ebx, 2
cmp ebx, edx
ja 0x6727f950
sub ecx, 1
jne 0x6727f940
mov dword [esp + 0x1c], ebx
push dword [esp + 0x50]
mov esi, ebx
mov ecx, ebx
sub esi, edx
mov edx, dword [esp + 0x34]
sar esi, 1
sub edx, esi
call fcn.67281120
mov edx, dword [esp + 0x2c]
add esp, 4
mov dword [edx + 0x28], eax
test eax, eax
je 0x6727f9aa
add dword [edx + 0x20], esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov ebx, 1
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
push esi
push edx
push dword [ebp + 0x10]
mov edx, dword [esp + 0x2c]
push edi
push dword [esp + 0x40]
call fcn.67274b00
mov edi, eax
add esp, 0x14
cmp edi, 0xffffffd3
je 0x6727fa31
test edi, edi
js 0x6727fa1a
test dword [ebp + 0x10], 0x4000
je 0x6727fa1a
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
lea esi, [esi + ecx]
push dword [ebx + 8]
mov eax, dword [ebx]
add esi, esi
push esi
call eax
add esp, 8
mov dword [ebx + 0x10], eax
test eax, eax
je 0x67280c31
push esi
push dword [esp + 0x24]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
or byte [ebx + 0x25], 1
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0x48]
jmp 0x6727fa3b
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x14], 0
mov eax, dword [esp + 0x20]
mov dword [esp + 0x130], eax
je 0x6727fbe4
test ebx, ebx
jne 0x6727fbe4
test dword [ebp + 0x10], 0x40000000
mov ebx, dword [esp + 0x2c]
je 0x6727fa72
test ebx, 0x4000000
je 0x6727fbe4
mov ecx, dword [esp + 0x1c]
mov eax, ebx
xor edx, edx
and eax, 0x4000000
cmp ecx, dword [esp + 0x10]
jae 0x6727faca
test eax, eax
je 0x6727fab1
mov edi, ecx
mov ecx, 0xfc00
mov ax, word [edi]
and ax, cx
cmp ax, word [esp + 0x40]
jne 0x6727face
add edi, 2
mov edx, 1
mov dword [esp + 0x1c], edi
cmp edi, dword [esp + 0x10]
jb 0x6727fa90
jmp 0x6727face
mov ax, word [ecx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
je 0x6727f909
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov dword [esp + 0x130], ecx
test edx, edx
jne 0x6727fb28
mov eax, dword [esp + 0xc]
movzx edx, word [eax + 0x64]
test edx, edx
je 0x6727fb28
mov esi, dword [esp + 0x20]
nop dword [eax + eax]
cmp ecx, esi
jbe 0x6727fb24
sub ecx, 2
mov dword [esp + 0x130], ecx
cmp ecx, esi
jbe 0x6727fb1f
mov ax, word [ecx]
and ax, word [esp + 0x5c]
cmp ax, word [esp + 0x40]
jne 0x6727fb1f
sub ecx, 2
mov dword [esp + 0x130], ecx
cmp ecx, esi
ja 0x6727fb02
sub edx, 1
jne 0x6727faf0
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov eax, ecx
sub eax, dword [esp + 0x20]
push dword [esp + 0x50]
sar eax, 1
sub edx, eax
call fcn.67281120
mov ecx, dword [esp + 0x2c]
add esp, 4
mov dword [ecx + 0x28], eax
test eax, eax
je 0x6727fbe4
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x20]
sub ecx, edx
sar ecx, 1
mov eax, dword [eax + 0x20]
add eax, ecx
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x20], eax
test ebx, 0x4000000
je 0x6727fbff
cmp dword [ecx + 0x28], 0
jg 0x6727fbff
lea eax, [edx + eax*2]
mov dword [esp + 0x10], eax
cmp eax, edi
jae 0x6727fbf5
lea ecx, [eax + 2]
mov dword [esp + 0x130], ecx
cmp ecx, edi
jae 0x6727fbbd
nop
mov ax, word [ecx]
and ax, word [esp + 0x5c]
cmp ax, word [esp + 0x40]
jne 0x6727fbbd
add ecx, 2
mov dword [esp + 0x130], ecx
cmp ecx, edi
jb 0x6727fba0
push dword [esp + 0x50]
mov eax, ecx
sub eax, edx
mov edx, dword [esp + 0x34]
sar eax, 1
sub edx, eax
call fcn.67281120
mov ecx, dword [esp + 0x2c]
add esp, 4
mov dword [ecx + 0x28], eax
test eax, eax
jne 0x6727fb51
mov ecx, dword [esp + 0xc]
test esi, esi
jne 0x6727fc17
movq xmm0, qword [ecx]
mov ebx, dword [ecx + 8]
jmp 0x6727fc1e
mov dword [esp + 0x54], 2
jmp 0x6727fbe4
mov eax, dword [ecx + 0x28]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
movq xmm0, qword [esi]
mov ebx, dword [esi + 8]
mov edx, dword [ecx + 0x40]
test esi, esi
mov ecx, dword [ecx + 0x48]
mov edi, 0x673d43ec
cmovne edi, esi
mov dword [esp + 0xd8], ebx
mov eax, edx
movq qword [esp + 0xd0], xmm0
or eax, dword [ebp + 0x10]
shr eax, 0x1f
mov dword [esp + 0x18], eax
mov eax, edx
shr eax, 8
and eax, 1
mov dword [esp + 0x70], eax
mov eax, ecx
shr eax, 9
and eax, 1
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0x24]
cmp eax, 0xffffffff
jne 0x6727fc70
mov eax, dword [esp + 0x74]
jmp 0x6727fc77
mov esi, dword [esp + 0x20]
lea eax, [esi + eax*2]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xa8], eax
mov eax, esi
sub eax, dword [esp + 0x20]
sar eax, 1
mov dword [esp + 0xac], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x180], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x114], eax
mov eax, ecx
shr eax, 0xc
and eax, 1
mov dword [esp + 0x90], 2
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xcc], 0
mov dword [esp + 0x134], esi
cmp word [eax + 0x64], 0
ja 0x6727fd14
test ecx, 0x2000
jne 0x6727fd14
xor eax, eax
jmp 0x6727fd19
mov eax, 1
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x15c], edx
mov dword [esp + 0x164], 0
mov dword [esp + 0x148], 0
movzx edx, word [eax + 0x6e]
lea esi, [eax + 0x70]
movzx eax, word [eax + 0x6c]
mov word [esp + 0x122], ax
imul eax, edx
mov dword [esp + 0x124], esi
mov dword [esp + 0x144], 0
mov word [esp + 0x120], dx
mov dword [esp + 0x168], 0
lea eax, [esi + eax*2]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x128], eax
mov ax, word [esi + 0x60]
mov word [esp + 0x11e], ax
movzx eax, word [esi + 0x62]
dec eax
cmp eax, 5
ja case.default.0x6727fda4
jmp dword [eax*4 + 0x67280c9c]
mov eax, 0xd
mov dword [esp + 0x16c], 1
mov word [esp + 0x170], ax
jmp 0x6727fe26
mov eax, 0xa
mov dword [esp + 0x16c], 1
mov word [esp + 0x170], ax
jmp 0x6727fe26
xor eax, eax
mov dword [esp + 0x16c], 1
mov word [esp + 0x170], ax
jmp 0x6727fe26
mov dword [esp + 0x16c], 2
mov dword [esp + 0x170], 0xa000d
jmp 0x6727fe26
mov dword [esp + 0x168], 1
jmp 0x6727fe26
mov dword [esp + 0x168], 2
mov edx, dword [edi + 0x28]
cmp edx, dword [esi + 0x4c]
mov ecx, dword [edi + 0x2c]
cmovae edx, dword [esi + 0x4c]
cmp ecx, dword [esi + 0x50]
movzx eax, word [esi + 0x68]
cmovae ecx, dword [esi + 0x50]
mov dword [esp + 0xf0], ecx
mov ecx, dword [edi + 0x30]
cmp ecx, dword [esi + 0x54]
lea eax, [eax*8 + 0x54]
mov edi, eax
mov dword [esp + 0x48], eax
cmovae ecx, dword [esi + 0x54]
mov dword [esp + 0xec], edx
mov dword [esp + 0xf4], ecx
cmp edi, 0x800
ja 0x6727fe96
mov ecx, 0x5000
mov esi, dword [esp + 0xe8]
mov eax, ecx
mov dword [esp + 0xe0], esi
xor edx, edx
div edi
sub ecx, edx
mov dword [esp + 0xdc], ecx
jmp 0x6727ff01
lea ecx, [edi + edi*4]
add ecx, ecx
mov eax, ecx
mov dword [esp + 0xdc], ecx
shr eax, 0xa
cmp eax, edx
jbe 0x6727fedd
mov ecx, edx
shl ecx, 0xa
cmp edi, ecx
jbe 0x6727fece
mov eax, 0xffffffc1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov eax, ecx
xor edx, edx
div edi
sub ecx, edx
mov dword [esp + 0xdc], ecx
push ebx
push ecx
call dword [esp + 0xd8]
mov esi, eax
add esp, 8
mov dword [esp + 0xe0], esi
test esi, esi
je 0x67280c31
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xc]
add ecx, esi
mov dword [esp + 0xe4], ecx
movzx eax, word [eax + 0x68]
shl eax, 3
push eax
lea eax, [esi + 0x54]
push 0xff
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x48]
mov dword [esp + 0x108], eax
lea esi, [eax + 0x100]
add eax, 0x340
mov dword [esp + 0x10c], esi
mov dword [esp + 0x110], eax
test bl, 0x10
je 0x6727ffe8
movzx edi, word [ecx + 0x58]
movzx ecx, di
mov dword [esp + 0x24], 1
mov dword [esp + 0x34], edi
movzx eax, di
mov dword [esp + 0x38], ecx
test bl, 0x20
je 0x67280003
mov edx, eax
mov eax, 0xff
cmp di, ax
ja 0x6727ffa1
movzx ecx, byte [edx + esi]
mov eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x60], eax
mov dword [esp + 0x34], eax
cmp cx, 0x7f
jbe 0x67280003
cmp dword [esp + 0x14], 0
mov edi, dword [esp + 0x2c]
jne 0x6727ffb4
test edi, 0x20000
je 0x67280007
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x673eb940]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x673da040]
lea eax, [eax + eax*2]
mov ax, word [eax*4 + 0x673d7284]
add ax, cx
movzx eax, ax
mov dword [esp + 0x34], eax
jmp 0x6728000b
cmp dword [esp + 0x7c], 0
mov edi, dword [esp + 0x2c]
jne 0x6727ffff
test bl, 0x40
je 0x6727ffff
lea eax, [ecx + 0x14]
mov dword [esp + 0x4c], eax
xor eax, eax
jmp 0x6728000f
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xc]
movzx edx, ax
mov eax, dword [esp + 0x38]
movzx eax, ax
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
test bl, bl
jns 0x672800b9
movzx ecx, word [ecx + 0x5c]
mov dword [esp + 0x3c], ecx
movzx eax, cx
movzx ecx, cx
mov dword [esp + 0x64], 1
mov dword [esp + 0x44], ecx
test ebx, 0x100
je 0x672800b9
mov edx, eax
mov eax, 0xff
cmp word [esp + 0x3c], ax
ja 0x67280077
movzx ecx, byte [esi + edx]
mov eax, ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x60], eax
mov dword [esp + 0x3c], eax
cmp cx, 0x7f
jbe 0x672800b9
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x67280087
test edi, 0x20000
je 0x672800bd
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x673eb940]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x673da040]
lea eax, [eax + eax*2]
mov ax, word [eax*4 + 0x673d7284]
add ax, cx
movzx eax, ax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
movzx ecx, cx
mov dword [esp + 0x60], ecx
nop dword [eax]
mov edi, dword [esp + 0x16c]
xor esi, esi
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0xfc], esi
nop dword [eax]
test dword [ecx + 0x40], 0x10000
mov ebx, dword [esp + 0x1c]
jne 0x672807ab
cmp dword [esp + 0x70], 0
je 0x67280308
mov esi, dword [esp + 0x10]
mov edx, ebx
cmp ebx, esi
jae 0x67280304
test eax, eax
je 0x67280247
cmp dword [esp + 0x168], 0
je 0x672801db
mov esi, dword [esp + 0x134]
cmp edx, esi
jae case.default.0x672801a5
movzx eax, word [edx]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x6728016b
movzx ecx, word [edx + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
cmp dword [esp + 0x168], 2
jne 0x67280194
cmp eax, 0xa
je case.0x672801a5.10
cmp eax, 0xd
jne case.default.0x672801a5
lea eax, [esi - 2]
cmp edx, eax
jae case.0x672801a5.10
cmp word [edx + 2], 0xa
mov edi, 2
je 0x672801bd
jmp case.0x672801a5.10
cmp eax, 0x85
ja 0x672801ac
je case.0x672801a5.10
add eax, 0xfffffff6
cmp eax, 3
ja case.default.0x672801a5
jmp dword [eax*4 + 0x67280cb4]
sub eax, 0x2028
je case.0x672801a5.10
sub eax, 1
jne case.default.0x672801a5
mov edi, 1
mov dword [esp + 0x16c], edi
mov eax, 1
jmp 0x672801cd
xor eax, eax
test eax, eax
jne 0x67280304
mov esi, dword [esp + 0x10]
jmp 0x67280213
mov ecx, dword [esp + 0x134]
lea eax, [edi + edi]
sub ecx, eax
cmp edx, ecx
ja 0x67280213
mov ax, word [edx]
cmp ax, word [esp + 0x170]
jne 0x67280213
cmp edi, 1
je 0x67280304
mov ax, word [edx + 2]
cmp ax, word [esp + 0x172]
je 0x67280304
add edx, 2
cmp edx, esi
jae 0x67280304
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x67280122
add edx, 2
cmp edx, esi
jb 0x67280122
jmp 0x67280304
mov ebx, dword [esp + 0x134]
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x672802c3
cmp edx, ebx
jae case.default.0x67280295
movzx eax, word [edx]
cmp ecx, 2
jne 0x67280284
cmp eax, 0xa
je case.0x67280295.10
cmp eax, 0xd
jne case.default.0x67280295
lea eax, [ebx - 2]
cmp edx, eax
jae case.0x67280295.10
cmp word [edx + 2], 0xa
mov edi, 2
je 0x672802ad
jmp case.0x67280295.10
cmp eax, 0x85
ja 0x6728029c
je case.0x67280295.10
add eax, 0xfffffff6
cmp eax, 3
ja case.default.0x67280295
jmp dword [eax*4 + 0x67280cc4]
sub eax, 0x2028
je case.0x67280295.10
sub eax, 1
jne case.default.0x67280295
mov edi, 1
mov dword [esp + 0x16c], edi
mov eax, 1
jmp 0x672802bd
xor eax, eax
test eax, eax
jne 0x67280300
jmp 0x672802f5
lea eax, [edi + edi]
mov ecx, ebx
sub ecx, eax
cmp edx, ecx
ja 0x672802ee
mov ax, word [edx]
cmp ax, word [esp + 0x170]
jne 0x672802ee
cmp edi, 1
je 0x67280300
mov ax, word [edx + 2]
cmp ax, word [esp + 0x172]
je 0x67280300
mov ecx, dword [esp + 0x168]
add edx, 2
cmp edx, esi
jb 0x67280255
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
mov esi, dword [esp + 0x18]
test esi, esi
je 0x67280383
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x4c]
test edi, edi
jne 0x67280320
test esi, esi
je 0x67280377
cmp ebx, edx
sbb eax, eax
neg eax
cmp ebx, edx
jae 0x6728036f
movzx eax, word [ebx]
test edi, edi
je 0x6728033f
cmp ax, word [esp + 0x38]
je 0x67280377
cmp ax, word [esp + 0x34]
je 0x67280377
test esi, esi
je case.0x67280873.997
mov ecx, 0xff
cmp ax, cx
cmova eax, ecx
movzx edx, ax
mov eax, 1
mov ecx, edx
shr edx, 3
and ecx, 7
shl eax, cl
test byte [edx + esi], al
mov eax, 0
setne al
test eax, eax
je case.0x67280873.997
mov eax, dword [esp + 0x134]
jmp 0x672806ec
cmp dword [esp + 0x24], 0
je 0x672803f0
cmp ebx, edx
jae 0x672803cd
mov eax, dword [esp + 0x80]
cmp ax, word [esp + 0x84]
je 0x672803bd
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
movzx eax, word [ebx]
cmp ax, cx
je 0x672803cd
cmp ax, di
je 0x672803cd
add ebx, 2
cmp ebx, edx
jb 0x672803a7
jmp 0x672803cd
mov eax, dword [esp + 0x38]
cmp word [ebx], ax
je 0x672803cd
add ebx, 2
cmp ebx, edx
jb 0x672803c1
cmp word [esp + 0x11c], 0
mov eax, dword [esp + 0x134]
jne 0x672803e7
cmp ebx, eax
jae case.0x67280873.997
mov edi, dword [esp + 0x24]
jmp 0x672806f0
cmp dword [esp + 0x7c], 0
je 0x672805c8
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x12c]
add eax, esi
cmp ebx, eax
jbe 0x672806e1
cmp ebx, edx
jae 0x67280480
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x67280530
nop dword [eax]
nop word [eax + eax]
mov eax, dword [esp + 0x168]
test eax, eax
je 0x672804c9
cmp ebx, esi
jbe 0x67280472
push ecx
lea ecx, [esp + 0x170]
mov edx, eax
push ecx
push esi
mov ecx, ebx
call fcn.67280e50
mov edi, dword [esp + 0x178]
add esp, 0xc
mov esi, dword [esp + 0x12c]
test eax, eax
je 0x67280472
mov eax, 1
jmp 0x67280474
xor eax, eax
test eax, eax
je 0x672804f7
mov edx, dword [esp + 0x10]
cmp word [ebx - 2], 0xd
jne 0x672806e1
mov eax, dword [esp + 0x168]
cmp eax, 1
je 0x672804a0
cmp eax, 2
jne 0x672806e1
cmp ebx, edx
jae 0x672806e1
cmp word [ebx], 0xa
mov eax, dword [esp + 0x134]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
jne 0x672806f0
add ebx, 2
jmp 0x672806f0
lea edx, [edi + edi]
lea eax, [esi + edx]
cmp ebx, eax
jb 0x672804fb
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [esp + 0x170]
jne 0x672804f7
cmp edi, 1
je 0x6728047c
mov ax, word [ecx + 2]
cmp ax, word [esp + 0x172]
je 0x6728047c
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add ebx, 2
cmp ebx, edx
jae 0x67280480
mov ax, word [ebx]
and ax, word [esp + 0x5c]
cmp ax, word [esp + 0x40]
jne 0x67280430
add ebx, 2
cmp ebx, edx
jb 0x67280430
jmp 0x67280480
mov eax, dword [esp + 0x168]
test eax, eax
je 0x6728057a
cmp ebx, esi
jbe 0x6728056e
push ecx
lea ecx, [esp + 0x170]
mov edx, eax
push ecx
push esi
mov ecx, ebx
call fcn.67280e50
mov edi, dword [esp + 0x178]
add esp, 0xc
mov esi, dword [esp + 0x12c]
test eax, eax
je 0x6728056e
mov eax, 1
jmp 0x67280570
xor eax, eax
test eax, eax
jne 0x6728047c
jmp 0x672805b0
lea edx, [edi + edi]
lea eax, [esi + edx]
cmp ebx, eax
jb 0x672805b4
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [esp + 0x170]
jne 0x672805b0
cmp edi, 1
je 0x6728047c
mov ax, word [ecx + 2]
cmp ax, word [esp + 0x172]
je 0x6728047c
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add ebx, 2
cmp ebx, edx
jb 0x67280530
jmp 0x67280480
mov esi, dword [esp + 0x4c]
test esi, esi
je 0x672806e1
cmp ebx, edx
jae 0x6728060e
nop dword [eax + eax]
movzx edx, word [ebx]
mov eax, 0xff
cmp edx, 0xff
cmova edx, eax
mov eax, 1
mov ecx, edx
shr edx, 3
and ecx, 7
shl eax, cl
test byte [edx + esi], al
jne 0x6728060e
add ebx, 2
cmp ebx, dword [esp + 0x10]
jb 0x672805e0
cmp word [esp + 0x11c], 0
mov eax, dword [esp + 0x134]
jne 0x672806e8
cmp ebx, eax
jb 0x672806e8
xor esi, esi
cmp dword [esp + 0x14], 0
je 0x67280681
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x74]
cmp edx, edi
je 0x67280681
test esi, esi
je 0x67280650
cmp esi, 0xfffffffe
jne 0x67280681
nop word [eax + eax]
lea ebx, [edx + 2]
mov dword [esp + 0x1c], ebx
cmp ebx, edi
jae 0x6728067f
mov ecx, 0xfc00
mov edx, 0xdc00
mov ax, word [ebx]
and ax, cx
cmp ax, dx
jne 0x67280a78
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, edi
jb 0x67280665
xor esi, esi
mov eax, dword [esp + 0xe0]
cmp eax, dword [esp + 0xe8]
je 0x672806a3
push dword [esp + 0xd8]
push eax
call dword [esp + 0xdc]
add esp, 8
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x144]
mov dword [edx + 0x14], eax
mov byte [edx + 0x24], 0
cmp esi, 1
jne 0x67280bb0
movzx eax, word [edx + 0x26]
mov ecx, dword [esp + 0x118]
add eax, eax
cmp ecx, eax
jl 0x67280af5
xor eax, eax
jmp 0x67280b01
mov eax, dword [esp + 0x134]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
cmp word [esp + 0x11c], 0
mov edx, eax
mov dword [esp + 0x10], edx
jne 0x672807a7
mov eax, dword [esp + 0xc]
sub edx, ebx
sar edx, 1
movzx eax, word [eax + 0x66]
cmp edx, eax
jl case.0x67280873.997
cmp dword [esp + 0x64], 0
lea ecx, [ebx + edi*2]
je 0x672807a7
cmp ecx, dword [esp + 0x68]
jbe 0x672807a7
cmp edx, 0x7d0
jb 0x67280745
test esi, esi
jne 0x672807a7
cmp edx, 0x1e8480
jae 0x672807a7
mov edx, dword [esp + 0x134]
cmp ecx, edx
jae case.0x67280873.997
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x44]
movzx eax, si
cmp word [esp + 0x60], ax
je 0x67280880
nop word [eax + eax]
movzx eax, word [ecx]
mov esi, ecx
add ecx, 2
mov edx, eax
cmp ax, di
je 0x67280794
cmp dx, word [esp + 0x3c]
je 0x67280794
cmp ecx, dword [esp + 0x134]
jb 0x67280770
jmp case.0x67280873.997
mov edx, dword [esp + 0x134]
cmp esi, edx
jae case.0x67280873.997
mov dword [esp + 0x68], esi
mov ecx, dword [esp + 0xc]
cmp ebx, dword [esp + 0x6c]
ja case.0x67280873.997
mov edx, dword [esp + 0x128]
mov eax, ebx
sub eax, dword [esp + 0x20]
or dword [esp + 0xcc], 1
sar eax, 1
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x54]
or eax, dword [ebp + 0x10]
mov dword [esp + 0x158], eax
lea eax, [esp + 0xd0]
push eax
movzx eax, word [ecx + 0x68]
mov ecx, dword [esp + 0x2c]
push dword [esp + 0x4c]
mov dword [esp + 0x144], ebx
push eax
movzx eax, word [ecx + 0x26]
push eax
lea eax, [ecx + 0x2c]
mov dword [esp + 0x150], ebx
push eax
mov ecx, ebx
mov dword [esp + 0x10c], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x174], 0
call fcn.67275240
add esp, 0x14
mov esi, eax
cmp dword [esp + 0xfc], 0
je 0x6728085a
cmp dword [esp + 0x2c], 0
jne 0x6728085a
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x78], ebx
test esi, esi
jg case.default.0x67280873
je case.0x67280873.996
lea eax, [esi + 0x3e5]
cmp eax, 4
ja case.default.0x67280873
jmp dword [eax*4 + 0x67280cd4]
mov ax, word [ecx]
mov esi, ecx
add ecx, 2
cmp ax, di
je 0x6728079b
cmp ecx, edx
jb 0x67280880
jmp case.0x67280873.997
mov eax, dword [esp + 0x160]
mov edx, ebx
mov dword [esp + 0x164], eax
jmp 0x672808ea
mov edx, dword [esp + 0x150]
cmp edx, ebx
ja 0x672808ea
cmp dword [esp + 0x14], 0
lea edx, [ebx + 2]
mov dword [esp + 0x164], 0
je 0x672808ea
cmp edx, dword [esp + 0x10]
jae 0x672808ea
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x672808ea
add edx, 2
xor esi, esi
cmp dword [esp + 0x70], esi
je 0x672809fd
mov edi, dword [esp + 0x168]
test edi, edi
je 0x672809bc
mov eax, dword [esp + 0x134]
cmp ebx, eax
jae case.default.0x67280982
movzx ecx, word [ebx]
cmp dword [esp + 0x14], esi
je 0x6728094c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x67280945
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, dword [esp + 0x134]
cmp edi, 2
jne 0x67280970
cmp ecx, 0xa
je case.0x67280982.10
cmp ecx, 0xd
jne case.default.0x67280982
add eax, 0xfffffffe
cmp ebx, eax
jae case.0x67280982.10
cmp word [ebx + 2], 0xa
mov edi, 2
je 0x6728099b
jmp case.0x67280982.10
cmp ecx, 0x85
ja 0x67280989
je case.0x67280982.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x67280982
jmp dword [ecx*4 + 0x67280ce8]
sub ecx, 0x2028
je case.0x67280982.10
sub ecx, 1
jne case.default.0x67280982
mov edi, 1
mov dword [esp + 0x16c], edi
mov eax, 1
jmp 0x672809b2
mov edi, dword [esp + 0x16c]
xor eax, eax
test eax, eax
jne case.default.0x67280873
jmp 0x67280a04
mov edi, dword [esp + 0x16c]
mov ecx, dword [esp + 0x134]
lea eax, [edi + edi]
sub ecx, eax
cmp ebx, ecx
ja 0x67280a04
mov ax, word [ebx]
cmp ax, word [esp + 0x170]
jne 0x67280a04
cmp edi, 1
je case.default.0x67280873
mov ax, word [ebx + 2]
cmp ax, word [esp + 0x172]
je case.default.0x67280873
jmp 0x67280a04
mov edi, dword [esp + 0x16c]
mov ebx, edx
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x18], esi
jne case.default.0x67280873
mov eax, dword [esp + 0x10]
cmp edx, eax
ja case.default.0x67280873
mov ecx, dword [esp + 0xc]
cmp edx, dword [esp + 0x8c]
jbe 0x67280a64
cmp word [edx - 2], 0xd
jne 0x67280a64
cmp edx, eax
jae 0x67280a64
cmp word [edx], 0xa
jne 0x67280a64
test dword [ecx + 0x48], 0x800
jne 0x67280a64
mov eax, dword [esp + 0x168]
cmp eax, 1
je 0x67280a5d
cmp eax, 2
je 0x67280a5d
cmp edi, 2
jne 0x67280a64
lea eax, [edx + 2]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x144], esi
jmp 0x672800f0
mov edx, dword [esp + 0x30]
mov eax, ebx
sub eax, dword [esp + 0x20]
mov ecx, ebx
push dword [esp + 0x50]
sar eax, 1
sub edx, eax
mov dword [esp + 0x134], ebx
call fcn.67281120
add esp, 4
test eax, eax
je 0x67280ad7
mov edx, dword [esp + 0x10]
jns 0x67280650
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
lea edx, [ebx + eax*2]
mov dword [esp + 0x10], edx
mov dword [esp + 0x134], edx
cmp edx, ebx
jbe 0x67280650
mov eax, dword [esp + 0x14]
mov dword [esp + 0x54], 3
jmp 0x672800d0
mov eax, dword [esp + 0x14]
mov edx, edi
mov dword [esp + 0x10], edx
mov dword [esp + 0x134], edi
mov dword [esp + 0x54], 1
jmp 0x672800d0
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x28]
sar eax, 1
inc eax
mov edi, dword [esp + 0x20]
sub ebx, edi
mov ecx, dword [esp + 0x138]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x13c]
sub eax, edi
sar ebx, 1
sar eax, 1
cmp dword [esp + 0x140], ecx
mov dword [edx + 0x20], ebx
cmova ecx, dword [esp + 0x140]
sub ecx, edi
mov dword [edx + 0x18], eax
sar ecx, 1
test dword [ebp + 0x10], 0x4000
mov dword [edx + 0x1c], ecx
je 0x67280b95
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x30]
push dword [edx + 8]
mov eax, dword [edx]
lea esi, [esi + ecx]
add esi, esi
push esi
call eax
mov ecx, dword [esp + 0x30]
add esp, 8
mov dword [ecx + 0x10], eax
test eax, eax
je 0x67280c31
push esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x34]
add esp, 0xc
or byte [edx + 0x25], 1
mov eax, dword [edx + 0x28]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 0x28]
mov dword [edx + 0x10], edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x148]
mov dword [edx + 0x14], eax
test esi, esi
je 0x67280bc3
cmp esi, 0xfffffffe
jne 0x67280c17
mov esi, dword [esp + 0x78]
test esi, esi
je 0x67280c14
mov ecx, dword [esp + 0x20]
sub esi, ecx
mov eax, dword [esp + 0x10]
sar esi, 1
sub eax, ecx
mov dword [edx + 0x2c], esi
mov dword [edx + 0x20], esi
mov esi, dword [esp + 0x2c]
sar eax, 1
sub esi, ecx
sar esi, 1
mov dword [edx + 0x18], esi
mov esi, 0xfffffffe
mov dword [edx + 0x30], eax
mov dword [edx + 0x1c], eax
mov eax, esi
mov dword [edx + 0x10], ecx
mov dword [edx + 0x28], esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
or esi, 0xffffffff
mov dword [edx + 0x28], esi
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffd0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffd4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffcd
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5180]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x518c]
mov eax, 0xffffffde
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret