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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x4534
call fcn.67286330
mov eax, dword [0x674c7008]
xor eax, esp
mov dword [esp + 0x4530], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x58], eax
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x4c], ecx
mov esi, edx
mov edx, dword [ebp + 8]
mov dword [esp + 0x30], esi
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x3c], 1
mov dword [esp + 0x10], ebx
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
test ecx, ecx
je 0x6725436d
mov eax, dword [esp + 0x58]
test eax, eax
je 0x6725436d
mov dword [ecx], 0x64
mov dword [eax], ebx
test edi, edi
jne 0x67253447
mov dword [ecx], 0x74
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4530]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov ecx, edx
or ecx, 0x80000
test edx, 0x4000000
cmove ecx, edx
mov dword [esp + 0x14], ecx
test ecx, 0x18000000
jne 0x67254363
mov edx, dword [esp + 0x14]
and ecx, 0x2000000
je 0x6725349d
test edx, 0x1976fef3
je 0x6725349d
mov eax, dword [esp + 0x4c]
mov dword [eax], 0xc0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4530]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
cmp esi, 0xffffffff
jne 0x672534bd
xor esi, esi
mov eax, edi
mov dword [esp + 0x30], esi
cmp word [edi], bx
je 0x672534bd
nop
lea eax, [eax + 2]
inc esi
cmp word [eax], bx
jne 0x672534b0
mov dword [esp + 0x30], esi
xor eax, eax
mov dword [esp + 0x84], edi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x124], eax
lea eax, [edi + esi*2]
mov dword [esp + 0x88], eax
xor edi, edi
lea eax, [esp + 0x258]
mov dword [esp + 0x6c], 0x673f0cd8
mov dword [esp + 0xec], eax
xor eax, eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x168]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0x658]
mov dword [esp + 0xe4], eax
lea eax, [esp + 0x1658]
mov dword [esp + 0x70], 0x673f0dd8
mov dword [esp + 0x74], 0x673f0ed8
mov dword [esp + 0x78], 0x673f1018
mov dword [esp + 0x68], 0x673d5618
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xd4], edx
mov dword [esp + 0x120], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0xd0], 0x14
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x90], 0xbb8
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x94], 0xffffffff
mov dword [esp + 0x98], 0xffffffff
mov dword [esp + 0x9c], 0xffffffff
mov dword [esp + 0xa0], 0xffffffff
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0xa8], 0xffffffff
mov dword [esp + 0xac], 0xffffffff
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], 0xffffffff
mov dword [esp + 0xb8], 0xffffffff
test ecx, ecx
jne 0x6725369b
cmp esi, 2
jb 0x6725369b
mov edx, dword [esp + 0x18]
cmp word [edx + edi*2], 0x28
jne 0x67253695
cmp word [edx + edi*2 + 2], 0x2a
jne 0x67253695
mov ecx, esi
mov esi, 0x674de050
sub ecx, edi
add ecx, 0xfffffffe
xor eax, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], eax
movzx ebx, word [esi + 4]
cmp ecx, ebx
jb 0x67253680
lea ecx, [edx + 4]
mov edx, dword [esi]
push ebx
lea ecx, [ecx + edi*2]
call fcn.67280d50
add esp, 4
test eax, eax
je 0x672536d7
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
add eax, 0xc
add esi, 0xc
mov dword [esp + 0x28], eax
cmp eax, 0xfc
jb 0x67253657
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
xor ebx, ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x34], ecx
shr dword [esp + 0x34], 0x13
and dword [esp + 0x34], 1
lea eax, [eax + edi*2]
mov dword [esp + 0x28], eax
je 0x67253801
test edx, 0x1000
je 0x672537d2
mov ecx, 0xae
jmp 0x67254249
movzx eax, word [esi + 6]
add ebx, 2
add edi, ebx
mov ebx, eax
cmp eax, 6
ja case.default.0x672536e7
jmp dword [eax*4 + 0x67254384]
mov eax, dword [esp + 0xd4]
or eax, dword [esi + 8]
mov dword [esp + 0xd4], eax
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x30]
mov eax, esi
sub eax, edi
cmp eax, 2
jae 0x67253632
jmp 0x67253695
mov ecx, dword [esp + 0x10]
or ecx, dword [esi + 8]
mov dword [esp + 0x10], ecx
jmp case.default.0x672536e7
mov eax, dword [esi + 8]
or dword [esp + 0x10], 0x8000
mov dword [esp + 0x20], eax
jmp case.default.0x672536e7
mov eax, dword [esi + 8]
or dword [esp + 0x10], 0x4000
mov dword [esp + 0x1c], eax
jmp case.default.0x672536e7
mov eax, dword [esp + 0x18]
xor ecx, ecx
movzx edx, word [eax + edi*2]
lea eax, [eax + edi*2]
mov esi, edx
cmp edx, 0x30
jb 0x672537c8
cmp edx, 0x39
ja 0x672537c8
mov edx, dword [esp + 0x18]
mov eax, esi
cmp ax, 0x39
ja 0x6725378b
cmp ecx, 0x19999998
ja 0x6725378b
movzx eax, ax
lea ecx, [ecx + ecx*4]
inc edi
lea ecx, [ecx - 0x18]
lea ecx, [eax + ecx*2]
movzx eax, word [edx + edi*2]
cmp eax, 0x30
jae 0x67253767
lea eax, [edi + edi]
inc edi
cmp word [edx + eax], 0x29
jne 0x672537bb
cmp ebx, 4
jne 0x672537a4
mov dword [esp + 0x50], ecx
jmp 0x67253703
cmp ebx, 5
jne 0x672537b2
mov dword [esp + 0x54], ecx
jmp 0x67253703
mov dword [esp + 0x40], ecx
jmp 0x67253703
mov ecx, 0xa0
lea eax, [edx + edi*2]
jmp 0x6725424d
mov ecx, 0xa0
jmp 0x67254249
test edx, 0x40000000
jne 0x67253801
push dword [esp + 0x58]
mov ecx, dword [esp + 0x1c]
mov edx, esi
call fcn.67281120
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x67254257
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xd4]
mov edx, ecx
shr edx, 0x11
and edx, 1
mov dword [esp + 0x48], edx
je 0x67253821
test ecx, 0x800
je 0x67253821
mov ecx, 0xaf
jmp 0x67254249
mov ecx, dword [esp + 0x1c]
mov edx, 1
test ecx, ecx
mov dword [esp + 0xf8], 0
cmove ecx, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
test edx, edx
jne 0x67253868
mov dword [esp + 0x20], 2
mov eax, 0xa
mov dword [esp + 0xfc], 1
mov word [esp + 0x108], ax
jmp 0x672538dc
lea ecx, [edx - 1]
cmp ecx, 5
ja case.default.0x67253874
jmp dword [ecx*4 + 0x672543a0]
mov eax, 0xd
mov dword [esp + 0xfc], 1
mov word [esp + 0x108], ax
jmp 0x672538dc
xor eax, eax
mov dword [esp + 0xfc], 1
mov word [esp + 0x108], ax
jmp 0x672538dc
mov dword [esp + 0xfc], 2
mov dword [esp + 0x108], 0xa000d
jmp 0x672538dc
mov dword [esp + 0xf8], 1
jmp 0x672538dc
mov dword [esp + 0xf8], 2
mov eax, esi
sub eax, edi
test byte [esp + 0x14], 4
je 0x672538eb
inc eax
lea eax, [eax + eax*4]
lea edi, [eax*4]
cmp eax, 0x400
jb 0x67253921
lea eax, [edi + 4]
push 0
push eax
call fcn.67280d00
add esp, 8
test eax, eax
jne 0x6725391a
mov eax, dword [esp + 0x4c]
mov dword [eax], 0x79
jmp 0x672542f7
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0xd4]
add eax, 4
mov ecx, dword [esp + 0x28]
add eax, edi
mov dword [esp + 0xe8], eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.6724aae0
mov ecx, eax
add esp, 8
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x6725398f
mov eax, dword [esp + 0xdc]
cmp eax, 0x100
jb 0x672539a9
push ecx
lea eax, [eax*4 + 4]
push eax
call fcn.67280d00
add esp, 8
mov dword [esp + 0xec], eax
test eax, eax
jne 0x672539a2
lea ecx, [eax + 0x79]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0x18]
lea eax, [edx + eax*2]
jmp 0x6725424d
mov eax, dword [esp + 0xdc]
lea eax, [eax*4 + 4]
push eax
push 0
push dword [esp + 0xf4]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp dword [esp + 0x60], 0
je 0x672539eb
mov ecx, dword [esp + 0xe4]
lea eax, [esp + 0x68]
push eax
push 0
xor edx, edx
call fcn.67252fe0
mov ecx, eax
add esp, 8
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x6725398f
mov eax, dword [esp + 0xe4]
lea edx, [esp + 0x24]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x1658]
mov dword [esp + 0x24], eax
mov eax, 0x86
mov word [esp + 0x1658], ax
lea eax, [esp + 0x3c]
push eax
mov ecx, dword [esp + 0xd8]
lea eax, [esp + 0x6c]
push eax
push 0
lea eax, [esp + 0x70]
mov dword [esp + 0xc8], esi
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x50]
push eax
push 0
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.67251910
mov ecx, dword [esp + 0x58]
add esp, 0x28
test ecx, ecx
jne 0x6725398f
mov edx, dword [esp + 0x3c]
cmp edx, 0x10000
jbe 0x67253a84
mov eax, dword [esp + 0xbc]
mov ecx, 0x78
mov edx, dword [esp + 0x18]
lea eax, [edx + eax*2]
jmp 0x6725424d
movzx ecx, word [esp + 0xc0]
movzx eax, word [esp + 0xc2]
imul ecx, eax
push 0
add ecx, edx
lea esi, [ecx*2 + 0x70]
push esi
call fcn.67280d00
mov ebx, eax
add esp, 8
mov dword [esp + 0x5c], ebx
test ebx, ebx
jne 0x67253acb
mov edx, dword [esp + 0x18]
lea ecx, [eax + 0x79]
mov eax, dword [esp + 0xbc]
lea eax, [edx + eax*2]
jmp 0x6725424d
xorps xmm0, xmm0
lea edi, [ebx + 0x70]
movq qword [ebx + 0x68], xmm0
movq xmm0, qword [0x673d5618]
movq qword [ebx], xmm0
xorps xmm0, xmm0
mov eax, dword [0x673d5620]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0xc], 0x673f0cd8
mov dword [ebx + 0x10], 0
movups xmmword [ebx + 0x14], xmm0
movups xmmword [ebx + 0x24], xmm0
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x34], esi
mov dword [ebx + 0x38], 0x50435245
mov eax, dword [esp + 0xd4]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], 0
mov eax, dword [esp + 0xd8]
or eax, dword [esp + 0x10]
or eax, 2
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x4c], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 0x50], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x54], eax
mov eax, dword [esp + 0x1c]
mov word [ebx + 0x60], ax
mov eax, dword [esp + 0x20]
mov word [ebx + 0x62], ax
xor eax, eax
mov dword [ebx + 0x64], eax
mov dword [ebx + 0x68], eax
mov dword [ebx + 0x5c], 0
mov ax, word [esp + 0xc2]
mov word [ebx + 0x6c], ax
movzx edx, ax
mov ax, word [esp + 0xc0]
movzx esi, ax
mov word [ebx + 0x6e], ax
xor eax, eax
imul esi, edx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
add esi, 0x38
mov dword [esp + 0x11c], eax
mov dword [esp + 0xc8], eax
mov ax, word [esp + 0xc0]
mov dword [esp + 0x8c], edi
lea esi, [ebx + esi*2]
mov dword [esp + 0x14], esi
mov dword [esp + 0x80], esi
test ax, ax
je 0x67253d67
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x1c], ecx
cmp dx, ax
jae 0x67253d67
mov ebx, dword [esp + 0xcc]
add ebx, 8
mov eax, dword [ebx - 4]
xor edx, edx
mov esi, dword [ebx - 8]
mov dword [esp + 0x50], eax
movzx eax, word [ebx]
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x24], edx
test ecx, ecx
je 0x67253ccb
lea ecx, [eax + eax]
mov dword [esp + 0x54], ecx
nop dword [eax]
mov edx, esi
lea eax, [edi + 2]
mov esi, ecx
sub esi, 4
jb 0x67253c51
nop dword [eax]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x67253c56
add edx, 4
add eax, 4
sub esi, 4
jae 0x67253c40
cmp esi, 0xfffffffc
je 0x67253c8a
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x67253c83
cmp esi, 0xfffffffd
je 0x67253c8a
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x67253c83
cmp esi, 0xfffffffe
je 0x67253c8a
mov cl, byte [edx + 2]
cmp cl, byte [eax + 2]
jne 0x67253c83
cmp esi, 0xffffffff
je 0x67253c8a
mov cl, byte [edx + 3]
cmp cl, byte [eax + 3]
je 0x67253c8a
sbb eax, eax
or eax, 1
jmp 0x67253c8c
xor eax, eax
test eax, eax
jne 0x67253d2e
mov eax, dword [esp + 0x20]
cmp word [edi + eax*2 + 2], 0
je 0x67253d34
movzx ecx, word [esp + 0xc2]
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x24]
imul eax, ecx
add eax, eax
push eax
lea eax, [edi + ecx*2]
push edi
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
lea esi, [eax + eax]
push esi
push dword [esp + 0x44]
lea eax, [edi + 2]
mov word [edi], cx
push eax
call sub.VCRUNTIME140.dll_memcpy
movzx eax, word [esp + 0xce]
add esp, 0xc
sub eax, dword [esp + 0x20]
lea eax, [eax*2 - 2]
push eax
lea eax, [edi + 2]
add eax, esi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x28]
add esp, 0xc
movzx eax, word [esp + 0xc0]
inc ecx
add ebx, 0xc
mov dword [esp + 0x1c], ecx
cmp ecx, eax
jae 0x67253d5f
mov edi, dword [esp + 0x8c]
jmp 0x67253c02
js 0x67253ca4
mov ecx, dword [esp + 0x24]
movzx eax, word [esp + 0xc2]
inc ecx
mov dword [esp + 0x24], ecx
lea edi, [edi + eax*2]
cmp ecx, dword [esp + 0x1c]
jae 0x67253cc7
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x40]
jmp 0x67253c30
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0xe4]
lea edx, [esp + 0x24]
mov dword [esp + 0x28], eax
mov eax, 0x86
mov word [esi], ax
lea eax, [esp + 0x68]
mov ecx, dword [ebx + 0x40]
push 0
push eax
push 0
lea eax, [esp + 0x70]
mov dword [esp + 0x30], esi
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x50]
push eax
push 0
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.67251910
add esp, 0x28
test eax, eax
jns 0x67253dc1
or dword [ebx + 0x48], 0x2000
movzx eax, word [esp + 0xdc]
mov word [ebx + 0x68], ax
movzx eax, word [esp + 0xf0]
mov word [ebx + 0x6a], ax
movzx eax, word [esp + 0x110]
mov word [ebx + 0x64], ax
cmp dword [esp + 0x118], 0
je 0x67253e02
xor edx, edx
mov dword [esp + 0x20], 0xffffffff
or dword [ebx + 0x48], 0x800000
jmp 0x67253e0e
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov dword [esp + 0x1c], edx
mov word [eax], cx
sub eax, esi
mov ecx, dword [esp + 0x3c]
add eax, 2
sar eax, 1
cmp eax, ecx
jbe 0x67253e42
mov eax, dword [esp + 0xbc]
mov ecx, 0x7b
mov edx, dword [esp + 0x18]
lea eax, [edx + eax*2]
jmp 0x6725424d
sub eax, ecx
mov ecx, dword [esp + 0x30]
add eax, eax
add dword [ebx + 0x34], eax
test ecx, ecx
jne 0x6725398f
cmp dword [esp + 0x120], ecx
je 0x67253f6f
mov edx, dword [esp + 0x34]
xor esi, esi
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 8
call fcn.67252080
mov dword [esp + 0x44], eax
test eax, eax
je 0x67253f6b
nop dword [eax]
movzx edi, word [eax + 2]
test edi, edi
jne 0x67253ea1
mov eax, dword [esp + 0x14]
jmp 0x67253f45
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], ecx
test esi, esi
je 0x67253f05
nop dword [eax]
nop word [eax + eax]
lea ecx, [eax*8]
cmp edi, dword [esp + ecx + 0x12c]
je 0x67253ef2
jle 0x67253edf
mov ecx, dword [esp + ecx + 0x128]
mov dword [esp + 0x3c], ecx
jmp 0x67253ee3
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x24]
inc eax
inc edx
and eax, 7
cmp edx, esi
jb 0x67253ec0
jmp 0x67253f05
mov eax, dword [esp + ecx + 0x128]
mov esi, dword [esp + 0x24]
test eax, eax
jne 0x67253f45
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
push edi
call fcn.67280f40
add esp, 4
test eax, eax
je 0x67253f9f
mov ecx, dword [esp + 0x28]
mov edx, 7
sub ecx, 1
cmovs ecx, edx
mov dword [esp + 0x28], ecx
mov dword [esp + ecx*8 + 0x12c], edi
mov dword [esp + ecx*8 + 0x128], eax
cmp esi, 8
jae 0x67253f45
inc esi
mov dword [esp + 0x24], esi
mov ecx, dword [esp + 0x44]
sub eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
sar eax, 1
mov word [ecx + 2], ax
add ecx, 4
call fcn.67252080
mov dword [esp + 0x44], eax
test eax, eax
jne 0x67253e90
mov esi, dword [esp + 0x14]
test dword [ebx + 0x40], 0x4000
jne 0x67253fb7
lea edx, [esp + 0x68]
mov ecx, esi
call fcn.672825e0
test eax, eax
je 0x67253fb7
mov eax, dword [esp + 0xbc]
mov ecx, 0xb4
mov edx, dword [esp + 0x18]
lea eax, [edx + eax*2]
jmp 0x6725424d
mov eax, dword [esp + 0xbc]
mov ecx, 0x99
mov edx, dword [esp + 0x18]
lea eax, [edx + eax*2]
jmp 0x6725424d
mov edi, dword [ebx + 0x40]
mov esi, edi
mov dword [esp + 0x10], esi
test edi, edi
js 0x67253ff0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x68]
push 0
push 0
push eax
xor edx, edx
mov dword [esp + 0x1c], esi
call fcn.67251cd0
add esp, 0xc
test eax, eax
je 0x67253ff0
or esi, 0x80000000
mov dword [esp + 0x10], esi
mov dword [ebx + 0x40], esi
test esi, 0x10000
jne 0x672542f7
mov eax, dword [esp + 0x2c]
xor edi, edi
test eax, eax
jns 0x6725405e
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x2c]
push edi
call fcn.67252200
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
jns 0x67254062
mov ecx, dword [esp + 0x10]
test ecx, ecx
js 0x6725411b
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x68]
push edi
push edi
push eax
xor edx, edx
call fcn.67251e80
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x2c]
je 0x6725411b
or dword [ebx + 0x48], 0x200
jmp 0x6725411b
mov esi, dword [esp + 0x38]
mov ecx, dword [ebx + 0x48]
mov edi, 1
or ecx, 0x10
mov dword [ebx + 0x58], esi
mov dword [esp + 0x38], ecx
mov dword [ebx + 0x48], ecx
test al, 1
je 0x67254117
cmp esi, 0x80
jb 0x67254101
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x672540a7
cmp dword [esp + 0x48], edx
jne 0x672540a7
cmp esi, 0xff
jb 0x67254101
test edx, edx
jne 0x672540a7
cmp dword [esp + 0x48], edx
je 0x67254117
cmp esi, 0x10ffff
ja 0x67254117
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x673eb940]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x672540d3
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x673da040]
mov ecx, dword [esp + 0x10]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x673d7284]
add eax, esi
cmp eax, esi
je 0x672540fb
mov eax, dword [esp + 0x38]
or eax, 0x20
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0x2c]
jmp 0x6725411b
mov eax, dword [esp + 0x70]
movzx eax, byte [esi + eax]
cmp eax, esi
mov eax, dword [esp + 0x2c]
je 0x67254117
or ecx, 0x20
mov dword [ebx + 0x48], ecx
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x20], 0
jl 0x672541ff
mov edx, dword [esp + 0x1c]
test ecx, 0x80000
je 0x67254152
test eax, eax
js 0x67254152
and esi, 0xf800
cmp esi, 0xd800
jne 0x67254152
mov eax, edx
and eax, 0xfc00
cmp eax, 0xdc00
je 0x67254153
inc edi
mov eax, dword [esp + 0x20]
test ecx, ecx
jns 0x67254163
test al, 2
je 0x672541ff
mov esi, dword [ebx + 0x48]
or esi, 0x80
mov dword [ebx + 0x5c], edx
mov dword [ebx + 0x48], esi
test al, 1
je 0x672541ff
cmp edx, 0x80
jb 0x672541ea
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
test eax, eax
jne 0x672541a2
test ecx, ecx
jne 0x672541a2
cmp edx, 0xff
jb 0x672541ea
test eax, eax
jne 0x672541a2
test ecx, ecx
je 0x672541ff
cmp edx, 0x10ffff
ja 0x672541ff
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 7
movzx ecx, word [eax*2 + 0x673eb940]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x672541d2
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x673da040]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x673d7284]
add eax, edx
jmp 0x672541f2
mov eax, dword [esp + 0x70]
movzx eax, byte [edx + eax]
cmp eax, edx
je 0x672541ff
or esi, 0x100
mov dword [ebx + 0x48], esi
mov ecx, ebx
call fcn.67283b30
test eax, eax
je 0x6725421f
mov eax, dword [esp + 0xbc]
mov ecx, 0x83
mov edx, dword [esp + 0x18]
lea eax, [edx + eax*2]
jmp 0x6725424d
test byte [ebx + 0x48], 0x40
je 0x6725422f
test edi, edi
mov eax, 1
cmove edi, eax
movzx eax, word [ebx + 0x66]
cmp eax, edi
jae 0x672542f7
mov word [ebx + 0x66], di
jmp 0x672542f7
mov ecx, 0x9c
mov edx, dword [esp + 0x18]
sub eax, edx
mov edx, dword [esp + 0x58]
sar eax, 1
mov dword [edx], eax
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x5c]
mov dword [eax], ecx
test edi, edi
je 0x672542f5
mov esi, dword [edi + 0x10]
mov dword [esp + 0x38], esi
test esi, esi
je 0x672542ba
xor ebx, ebx
mov ecx, dword [esi + ebx*4]
test ecx, ecx
je 0x67254282
call fcn.672545d0
mov eax, dword [esi + ebx*4 + 0xc]
test eax, eax
je 0x672542a8
nop word [eax + eax]
push dword [edi + 8]
mov esi, dword [eax]
push eax
mov eax, dword [edi + 4]
call eax
add esp, 8
mov eax, esi
test esi, esi
jne 0x67254290
mov esi, dword [esp + 0x38]
inc ebx
cmp ebx, 3
jl 0x67254276
push dword [edi + 8]
mov eax, dword [edi + 4]
push esi
call eax
add esp, 8
test dword [edi + 0x48], 0x40000
je 0x672542e9
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 0x440]
test eax, eax
je 0x672542e9
add eax, 0xffffffff
mov dword [ecx + 0x440], eax
jne 0x672542e9
push dword [edi + 8]
mov eax, dword [edi + 4]
push dword [edi + 0xc]
call eax
add esp, 8
push dword [edi + 8]
mov eax, dword [edi + 4]
push edi
call eax
add esp, 8
xor ebx, ebx
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0x658]
cmp eax, ecx
je 0x67254314
push 0
push eax
call fcn.67280d10
add esp, 8
cmp dword [esp + 0xd0], 0x14
jbe 0x6725432f
push 0
push dword [esp + 0xd0]
call fcn.67280d10
add esp, 8
mov eax, dword [esp + 0xec]
lea ecx, [esp + 0x258]
cmp eax, ecx
je 0x6725434c
push 0
push eax
call fcn.67280d10
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4530]
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x4c]
mov dword [eax], 0x75
mov ecx, dword [esp + 0x453c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.67284a63
mov esp, ebp
pop ebp
ret