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

Disassembly:
mov eax, 0x452c
call fcn.672686c0
mov eax, dword [0x674c412c]
xor eax, esp
mov dword [esp + 0x4528], eax
mov edx, dword [esp + 0x453c]
xor ecx, ecx
mov eax, dword [esp + 0x4544]
push ebx
mov ebx, dword [esp + 0x4538]
push ebp
push esi
mov esi, dword [esp + 0x454c]
xor ebp, ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x30], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 1
mov dword [esp + 0x10], ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc], ecx
push edi
mov edi, dword [esp + 0x4540]
mov dword [esp + 0x20], edi
test edx, edx
je 0x67235fab
test esi, esi
je 0x67235fab
mov dword [edx], 0x64
mov dword [esi], ecx
test edi, edi
jne 0x672350ca
mov dword [edx], 0x74
jmp 0x67235fab
mov ecx, dword [esp + 0x4548]
test eax, eax
mov esi, 0x673e860c
mov edx, ecx
cmovne esi, eax
or edx, 0x80000
mov eax, ecx
mov dword [esp + 0x30], esi
and eax, 0x4000000
cmove edx, ecx
mov dword [esp + 0x18], edx
test edx, 0x18000000
jne 0x67235fa1
mov eax, dword [esi + 0x24]
test eax, 0xffffff80
jne 0x67235fa1
mov esi, edx
and esi, 0x2000000
je 0x67235137
test edx, 0x1976fef3
jne 0x67235128
test eax, 0xfffffff3
je 0x67235137
mov eax, dword [esp + 0x3c]
mov dword [eax], 0xc0
jmp 0x67235fab
cmp ebx, 0xffffffff
jne 0x6723514f
push edi
call fcn.67263b80
mov edx, dword [esp + 0x1c]
mov ebx, eax
add esp, 4
mov dword [esp + 0x1c], ebx
mov edi, dword [esp + 0x30]
cmp ebx, dword [edi + 0x18]
jbe 0x67235167
mov eax, dword [esp + 0x3c]
mov dword [eax], 0xbc
jmp 0x67235fab
mov eax, dword [edi + 0x14]
mov ecx, 0x67403740
test eax, eax
mov dword [esp + 0x68], edi
mov dword [esp + 0xbc], ebp
cmovne ecx, eax
mov dword [esp + 0xd8], ebp
mov dword [esp + 0x60], ecx
xor edi, edi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0xd4], edx
lea eax, [ecx + 0x100]
mov dword [esp + 0x120], ebp
mov dword [esp + 0x70], eax
lea eax, [ecx + 0x200]
mov dword [esp + 0x74], eax
lea eax, [ecx + 0x340]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x78], eax
xor eax, eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x124], eax
lea eax, [ecx + ebx*2]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x258]
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 + 0xe0], ebp
mov dword [esp + 0x110], ebp
mov dword [esp + 0xd0], 0x14
mov dword [esp + 0xc8], ebp
mov dword [esp + 0x114], ebp
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x90], 0xbb8
mov dword [esp + 0xf0], ebp
mov dword [esp + 0xf4], ebp
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 esi, esi
jne 0x6723534c
cmp ebx, 2
jb 0x6723534c
nop dword [eax + eax]
cmp word [ecx + edi*2], 0x28
jne 0x67235348
cmp word [ecx + edi*2 + 2], 0x2a
jne 0x67235348
mov ebp, ebx
mov esi, 0x674c4018
sub ebp, edi
add ebp, 0xfffffffe
xor ebx, ebx
nop dword [eax]
movzx eax, word [esi + 4]
cmp ebp, eax
jb 0x67235332
push eax
push dword [esi]
lea eax, [ecx + 4]
lea eax, [eax + edi*2]
push eax
call fcn.67263be0
add esp, 0xc
test eax, eax
je 0x67235382
mov ecx, dword [esp + 0x20]
add ebx, 0xc
add esi, 0xc
cmp ebx, 0xfc
jb 0x67235310
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xd4]
mov eax, dword [esp + 0x20]
shr ecx, 0x13
and ecx, 1
mov dword [esp + 0x38], ecx
lea esi, [eax + edi*2]
je 0x672354bf
test edx, 0x1000
je 0x67235483
mov ecx, 0xae
mov ebx, eax
jmp 0x67235ed7
movzx eax, word [esi + 4]
movzx edx, word [esi + 6]
add eax, 2
add edi, eax
mov eax, edx
cmp eax, 6
ja case.default.0x6723539a
jmp dword [eax*4 + 0x67235fc8]
mov eax, dword [esi + 8]
or dword [esp + 0xd4], eax
jmp case.default.0x6723539a
mov ebp, dword [esp + 0x14]
or ebp, dword [esi + 8]
mov dword [esp + 0x14], ebp
jmp 0x67235452
mov ebp, dword [esp + 0x14]
mov ecx, dword [esi + 8]
or ebp, 0x8000
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], ebp
jmp 0x67235452
mov ebp, dword [esp + 0x14]
mov eax, dword [esi + 8]
or ebp, 0x4000
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ebp
jmp 0x67235452
mov ebx, dword [esp + 0x20]
xor ecx, ecx
movzx eax, word [ebx + edi*2]
lea esi, [ebx + edi*2]
cmp eax, 0x30
jb 0x67235479
cmp eax, 0x39
ja 0x67235479
cmp ax, 0x39
ja 0x67235429
cmp ecx, 0x19999998
ja 0x67235429
movzx eax, ax
lea ecx, [ecx + ecx*4]
inc edi
lea ecx, [ecx - 0x18]
lea ecx, [eax + ecx*2]
movzx eax, word [ebx + edi*2]
cmp eax, 0x30
jae 0x67235405
lea eax, [edi + edi]
inc edi
cmp word [eax + ebx], 0x29
jne 0x6723546c
cmp edx, 4
jne 0x6723543f
mov dword [esp + 0x40], ecx
jmp case.default.0x6723539a
cmp edx, 5
jne 0x6723544a
mov dword [esp + 0x44], ecx
jmp case.default.0x6723539a
mov dword [esp + 0x48], ecx
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, ebx
sub eax, edi
cmp eax, 2
jb 0x67235348
mov ecx, dword [esp + 0x20]
jmp 0x672352f0
mov ecx, 0xa0
lea esi, [ebx + edi*2]
jmp 0x67235ed7
mov ecx, 0xa0
jmp 0x67235ed7
test edx, 0x40000000
jne 0x672354ab
push dword [esp + 0x64]
push ebx
push eax
call fcn.67266ee0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x67235ee5
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
test byte [ecx + 0x24], 1
je 0x672354c3
mov ecx, 0xbf
jmp 0x67235ed3
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x2c], eax
shr dword [esp + 0x2c], 0x11
and dword [esp + 0x2c], 1
je 0x672354eb
test eax, 0x800
je 0x672354eb
mov ecx, 0xaf
jmp 0x67235ed3
cmp dword [esp + 0x24], 0
jne 0x672354fa
movzx eax, word [ecx + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x6723550a
movzx eax, word [ecx + 0x1e]
mov dword [esp + 0x28], eax
dec eax
mov dword [esp + 0xf8], 0
cmp eax, 5
ja case.default.0x6723551f
jmp dword [eax*4 + 0x67235fe4]
mov eax, 0xd
mov dword [esp + 0xfc], 1
mov word [esp + 0x108], ax
jmp 0x672355a1
mov eax, 0xa
mov dword [esp + 0xfc], 1
mov word [esp + 0x108], ax
jmp 0x672355a1
xor eax, eax
mov dword [esp + 0xfc], 1
mov word [esp + 0x108], ax
jmp 0x672355a1
mov dword [esp + 0xfc], 2
mov dword [esp + 0x108], 0xa000d
jmp 0x672355a1
mov dword [esp + 0xf8], 1
jmp 0x672355a1
mov dword [esp + 0xf8], 2
mov eax, ebx
sub eax, edi
test byte [ecx + 0x24], 0xc
lea edi, [eax + 4]
cmove edi, eax
test dl, 4
je 0x672355ba
lea eax, [edi + 1]
lea edi, [eax + eax*4]
cmp edi, 0x400
jb 0x672355ee
push dword [ecx + 8]
lea eax, [edi*4 + 4]
push eax
mov eax, dword [ecx]
call eax
add esp, 8
test eax, eax
jne 0x672355e7
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x79
jmp 0x67235f3f
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe4]
lea eax, [eax + edi*4]
add eax, 4
mov dword [esp + 0xe8], eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0xdc]
push esi
call fcn.67232010
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x67235665
mov eax, dword [esp + 0xdc]
mov edi, dword [esp + 0x30]
cmp eax, 0x100
jb 0x6723567f
push dword [edi + 8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [edi]
call eax
add esp, 8
mov dword [esp + 0xec], eax
test eax, eax
jne 0x67235678
mov ecx, 0x79
mov dword [esp + 0xbc], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0xbc]
mov ebx, dword [esp + 0x20]
lea esi, [ebx + eax*2]
jmp 0x67235edb
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 + 0x34], 0
je 0x672356ce
lea eax, [esp + 0x58]
mov dword [esp + 0x58], 0
push eax
lea eax, [esp + 0x6c]
push eax
push 0
push 0
push dword [esp + 0xf4]
call fcn.6722ce40
mov ecx, eax
add esp, 0x14
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x67235665
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x1658]
mov dword [esp + 0x1c], eax
mov eax, 0x86
mov word [esp + 0x1658], ax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0xc0], ebx
push eax
push 0
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x70]
push eax
push 0
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x100]
call fcn.67230800
mov ecx, dword [esp + 0x40]
add esp, 0x30
test ecx, ecx
jne 0x67235665
mov edx, dword [esp + 0x5c]
cmp edx, 0x10000
jbe 0x6723576c
mov eax, dword [esp + 0xbc]
mov ecx, 0x78
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
lea esi, [ebx + eax*2]
jmp 0x67235edb
movzx eax, word [esp + 0xc2]
movzx ecx, word [esp + 0xc0]
push dword [edi + 8]
imul ecx, eax
mov eax, dword [edi]
add ecx, edx
lea esi, [ecx*2 + 0x70]
push esi
call eax
mov ecx, eax
add esp, 8
mov dword [esp + 0x54], ecx
test ecx, ecx
jne 0x672357b9
mov eax, dword [esp + 0xbc]
mov ecx, 0x79
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
lea esi, [ebx + eax*2]
jmp 0x67235edb
xorps xmm0, xmm0
movq qword [ecx + 0x68], xmm0
movq xmm0, qword [edi]
movq qword [ecx], xmm0
xorps xmm0, xmm0
mov eax, dword [edi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x60]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x10], 0
movups xmmword [ecx + 0x14], xmm0
movups xmmword [ecx + 0x24], xmm0
mov dword [ecx + 0x3c], eax
mov dword [ecx + 0x34], esi
mov dword [ecx + 0x38], 0x50435245
mov eax, dword [esp + 0xd4]
mov dword [ecx + 0x40], eax
mov eax, dword [edi + 0x24]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x28]
or eax, ebp
mov ebp, dword [esp + 0x54]
or eax, 2
mov dword [ebp + 0x48], eax
lea ebx, [ebp + 0x70]
mov eax, dword [esp + 0x40]
lea edi, [ebp + 0x70]
mov dword [ebp + 0x4c], eax
mov eax, dword [esp + 0x44]
mov dword [ebp + 0x50], eax
mov eax, dword [esp + 0x48]
mov dword [ebp + 0x54], eax
mov eax, dword [esp + 0x24]
mov word [ebp + 0x60], ax
xor eax, eax
mov word [ebp + 0x62], cx
mov dword [ebp + 0x64], eax
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x58], 0
mov dword [ebp + 0x5c], 0
mov ax, word [esp + 0xc2]
mov word [ebp + 0x6c], ax
movzx edx, ax
mov ax, word [esp + 0xc0]
mov word [ebp + 0x6e], ax
movzx ecx, ax
xor eax, eax
imul ecx, edx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0xc8], eax
mov ax, word [esp + 0xc0]
mov dword [esp + 0x8c], edi
lea ebx, [ebx + ecx*2]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x80], ebx
test ax, ax
je 0x67235a3f
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x28], ecx
cmp dx, ax
jae 0x67235a3f
mov edx, dword [esp + 0xcc]
add edx, 8
mov dword [esp + 0x40], edx
nop
mov eax, dword [edx - 4]
xor ebx, ebx
mov esi, dword [edx - 8]
mov dword [esp + 0x60], eax
movzx eax, word [edx]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x44], esi
test ecx, ecx
je 0x672359aa
lea ecx, [eax + eax]
mov dword [esp + 0x48], ecx
mov edx, esi
lea eax, [edi + 2]
mov esi, ecx
sub esi, 4
jb 0x67235933
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x67235938
add edx, 4
add eax, 4
sub esi, 4
jae 0x67235922
cmp esi, 0xfffffffc
je 0x6723596c
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x67235965
cmp esi, 0xfffffffd
je 0x6723596c
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x67235965
cmp esi, 0xfffffffe
je 0x6723596c
mov cl, byte [edx + 2]
cmp cl, byte [eax + 2]
jne 0x67235965
cmp esi, 0xffffffff
je 0x6723596c
mov cl, byte [edx + 3]
cmp cl, byte [eax + 3]
je 0x6723596c
sbb eax, eax
or eax, 1
jmp 0x6723596e
xor eax, eax
test eax, eax
jne 0x67235a12
mov ecx, dword [esp + 0x48]
cmp word [ecx + edi + 2], ax
je 0x67235a1c
movzx ecx, word [esp + 0xc2]
mov eax, dword [esp + 0x28]
sub eax, ebx
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 + 0x1c]
mov ecx, dword [esp + 0x60]
lea esi, [eax + eax]
push esi
push dword [esp + 0x48]
lea eax, [edi + 2]
mov word [edi], cx
push eax
call sub.VCRUNTIME140.dll_memcpy
movzx eax, word [esp + 0xce]
sub eax, dword [esp + 0x28]
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 + 0x40]
add esp, 0x18
mov edx, dword [esp + 0x40]
inc ecx
movzx eax, word [esp + 0xc0]
add edx, 0xc
mov dword [esp + 0x28], ecx
mov dword [esp + 0x40], edx
cmp ecx, eax
jae 0x67235a3b
mov edi, dword [esp + 0x8c]
jmp 0x672358f0
js 0x67235985
mov ecx, dword [esp + 0x48]
movzx eax, word [esp + 0xc2]
inc ebx
lea edi, [edi + eax*2]
cmp ebx, dword [esp + 0x28]
jae 0x672359a6
mov esi, dword [esp + 0x44]
jmp 0x67235916
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x34], eax
mov eax, 0x86
mov word [ebx], ax
lea eax, [esp + 0x68]
push 0
push eax
push 0
lea eax, [esp + 0x58]
mov dword [esp + 0x28], ebx
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x70]
push eax
push 0
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x44]
push eax
push dword [ebp + 0x40]
call fcn.67230800
add esp, 0x30
test eax, eax
jns 0x67235a9a
or dword [ebp + 0x48], 0x2000
movzx eax, word [esp + 0xdc]
mov word [ebp + 0x68], ax
movzx eax, word [esp + 0xf0]
mov word [ebp + 0x6a], ax
movzx eax, word [esp + 0x110]
mov word [ebp + 0x64], ax
cmp dword [esp + 0x118], 0
je 0x67235adb
xor eax, eax
mov dword [esp + 0x4c], 0xffffffff
or dword [ebp + 0x48], 0x800000
jmp 0x67235ae7
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x24], eax
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov word [eax], cx
sub eax, ebx
mov ecx, dword [esp + 0x5c]
add eax, 2
sar eax, 1
cmp eax, ecx
jbe 0x67235b1f
mov eax, dword [esp + 0xbc]
mov ecx, 0x7b
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
lea esi, [ebx + eax*2]
jmp 0x67235edb
sub eax, ecx
add eax, eax
add dword [ebp + 0x34], eax
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x67235665
cmp dword [esp + 0x120], ecx
je 0x67235c1b
push dword [esp + 0x38]
xor edi, edi
lea ebx, [ecx + 8]
push dword [esp + 0x1c]
call fcn.67230e60
add esp, 8
mov dword [esp + 0x50], eax
test eax, eax
je 0x67235c17
movzx esi, word [eax + 2]
test esi, esi
jne 0x67235b6e
mov eax, dword [esp + 0x18]
jmp 0x67235bdd
mov ebp, dword [esp + 0x18]
xor edx, edx
mov eax, ebx
test edi, edi
je 0x67235ba8
nop word [eax + eax]
cmp esi, dword [esp + eax*8 + 0x12c]
je 0x67235b9d
jle 0x67235b92
mov ebp, dword [esp + eax*8 + 0x128]
inc eax
inc edx
and eax, 7
cmp edx, edi
jb 0x67235b80
jmp 0x67235ba8
mov eax, dword [esp + eax*8 + 0x128]
test eax, eax
jne 0x67235bdd
push esi
push dword [esp + 0x3c]
push ebp
call fcn.672653e0
add esp, 0xc
test eax, eax
je 0x67235c52
sub ebx, 1
mov ecx, 7
cmovs ebx, ecx
mov dword [esp + ebx*8 + 0x12c], esi
mov dword [esp + ebx*8 + 0x128], eax
cmp edi, 8
jae 0x67235bdd
inc edi
mov ecx, dword [esp + 0x50]
sub eax, dword [esp + 0x18]
push dword [esp + 0x38]
sar eax, 1
mov word [ecx + 2], ax
lea eax, [ecx + 4]
push eax
call fcn.67230e60
add esp, 8
mov dword [esp + 0x50], eax
test eax, eax
jne 0x67235b60
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x67235665
mov ebp, dword [esp + 0x54]
mov ebx, dword [esp + 0x18]
test dword [ebp + 0x40], 0x4000
jne 0x67235c7a
lea eax, [esp + 0x68]
push eax
push ebx
call fcn.67263c20
add esp, 8
test eax, eax
je 0x67235c6e
mov eax, dword [esp + 0xbc]
mov ecx, 0xb4
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
lea esi, [ebx + eax*2]
jmp 0x67235edb
mov eax, dword [esp + 0xbc]
mov ecx, 0x99
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
lea esi, [ebx + eax*2]
jmp 0x67235edb
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x67235665
mov edi, dword [ebp + 0x40]
mov esi, edi
test edi, edi
js 0x67235ca4
push 0
push 0
lea eax, [esp + 0x70]
push eax
push 0
push ebx
call fcn.67231ba0
add esp, 0x14
test eax, eax
je 0x67235ca4
or esi, 0x80000000
mov dword [ebp + 0x40], esi
test esi, 0x10000
jne 0x67235f41
mov eax, dword [esp + 0x14]
xor edi, edi
test eax, eax
jns 0x67235d05
push edi
lea eax, [esp + 0x18]
push eax
push ebx
call fcn.67230c90
mov esi, eax
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
jns 0x67235d09
cmp dword [ebp + 0x40], edi
jl 0x67235da4
push edi
push edi
lea eax, [esp + 0x70]
push eax
push edi
push ebx
call fcn.67231d90
add esp, 0x14
test eax, eax
mov eax, dword [esp + 0x14]
je 0x67235da4
or dword [ebp + 0x48], 0x200
jmp 0x67235da4
mov esi, dword [esp + 0x58]
mov ebx, dword [ebp + 0x48]
mov edi, 1
or ebx, 0x10
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x48], ebx
test al, 1
je 0x67235da4
cmp esi, 0x80
jb 0x67235d8e
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
test ecx, ecx
jne 0x67235d4a
test edx, edx
jne 0x67235d4a
cmp esi, 0xff
jb 0x67235d8e
test ecx, ecx
jne 0x67235d4a
test edx, edx
je 0x67235da4
cmp esi, 0x10ffff
ja 0x67235da4
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x673eda38]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x67235d76
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x673f1e38]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x673eac84]
add eax, esi
jmp 0x67235d96
mov eax, dword [esp + 0x70]
movzx eax, byte [esi + eax]
cmp eax, esi
mov eax, dword [esp + 0x14]
je 0x67235da4
or ebx, 0x20
mov dword [ebp + 0x48], ebx
mov edx, dword [esp + 0x4c]
test edx, edx
js 0x67235e86
mov ecx, dword [ebp + 0x40]
mov ebx, dword [esp + 0x24]
test ecx, 0x80000
je 0x67235ddf
test eax, eax
js 0x67235ddf
and esi, 0xf800
cmp esi, 0xd800
jne 0x67235ddf
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xdc00
je 0x67235de0
inc edi
test ecx, ecx
jns 0x67235ded
test dl, 2
je 0x67235e86
mov esi, dword [ebp + 0x48]
or esi, 0x80
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x48], esi
test dl, 1
je 0x67235e86
cmp ebx, 0x80
jb 0x67235e71
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
test eax, eax
jne 0x67235e2d
test ecx, ecx
jne 0x67235e2d
cmp ebx, 0xff
jb 0x67235e71
test eax, eax
jne 0x67235e2d
test ecx, ecx
je 0x67235e86
cmp ebx, 0x10ffff
ja 0x67235e86
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, word [eax*2 + 0x673eda38]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x67235e59
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x673f1e38]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x673eac84]
add eax, ebx
jmp 0x67235e79
mov eax, dword [esp + 0x70]
movzx eax, byte [ebx + eax]
cmp eax, ebx
je 0x67235e86
or esi, 0x100
mov dword [ebp + 0x48], esi
push ebp
call fcn.672657d0
add esp, 4
test eax, eax
je 0x67235eac
mov eax, dword [esp + 0xbc]
mov ecx, 0x83
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
lea esi, [ebx + eax*2]
jmp 0x67235edb
test byte [ebp + 0x48], 0x40
je 0x67235ebc
test edi, edi
mov eax, 1
cmove edi, eax
movzx eax, word [ebp + 0x66]
cmp eax, edi
jae 0x67235f41
mov word [ebp + 0x66], di
jmp 0x67235f41
mov ecx, 0x9c
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x64]
sub esi, ebx
sar esi, 1
mov dword [eax], esi
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x54]
mov dword [eax], ecx
test ebx, ebx
je 0x67235f3f
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x67235f04
push ebx
push eax
call fcn.67242a60
add esp, 8
test dword [ebx + 0x48], 0x40000
je 0x67235f33
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx + 0x440]
test eax, eax
je 0x67235f33
add eax, 0xffffffff
mov dword [ecx + 0x440], eax
jne 0x67235f33
push dword [ebx + 8]
mov eax, dword [ebx + 4]
push dword [ebx + 0xc]
call eax
add esp, 8
push dword [ebx + 8]
mov eax, dword [ebx + 4]
push ebx
call eax
add esp, 8
xor ebp, ebp
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0x658]
mov ebx, dword [esp + 0x30]
cmp eax, ecx
je 0x67235f63
push dword [ebx + 8]
push eax
mov eax, dword [ebx + 4]
call eax
add esp, 8
cmp dword [esp + 0xd0], 0x14
jbe 0x67235f7f
push dword [ebx + 8]
mov eax, dword [ebx + 4]
push dword [esp + 0xd0]
call eax
add esp, 8
mov eax, dword [esp + 0xec]
lea ecx, [esp + 0x258]
cmp eax, ecx
je 0x67235f9d
push dword [ebx + 8]
push eax
mov eax, dword [ebx + 4]
call eax
add esp, 8
mov eax, ebp
jmp 0x67235fad
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x75
xor eax, eax
mov ecx, dword [esp + 0x4538]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.67267c3b
add esp, 0x452c
ret