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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x330
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea ebx, [esp + 0x170]
mov esi, dword [eax]
push dword [ebp + 0x18]
push esi
push ebx
call fcn.0042c2b0
add esp, 0xc
mov al, byte [esp + 0x188]
cmp al, 0x14
jne 0x44a953
push dword [ebp + 0x18]
push esi
push ebx
call fcn.0042b480
add esp, 0xc
mov dl, byte [esp + 0x188]
cmp dl, 0x14
jne 0x44c4dd
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 1
mov dword [esp + 0xac], ecx
jne 0x44b4cf
mov ecx, dword [esi + 0xb8]
test ecx, ecx
je 0x44f151
mov edi, dword [esi + 0xb0]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
imul esi, ecx, 0x110
add edi, 0x10c
mov dword [esp + 4], edx
mov dword [esp], eax
jmp 0x44a8b2
add edi, 0x110
add esi, 0xfffffef0
je 0x44f151
cmp dword [edi - 0x70], eax
jne 0x44a8a0
mov ebx, dword [edi - 0x74]
push eax
push dword [esp + 8]
push ebx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esp]
jne 0x44a8a0
mov eax, dword [edi - 0x5c]
mov dword [esp + 0x10], ebx
mov esi, dword [edi - 0x6c]
mov ecx, dword [edi - 0x68]
mov edx, dword [edi - 0x64]
mov ebx, dword [edi - 0x60]
mov dword [esp + 4], 0
test eax, eax
mov dword [esp + 0x80], esi
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x160], ebx
je 0x44a99c
mov dword [esp + 8], eax
mov eax, dword [edi - 0x54]
test eax, eax
mov dword [esp + 0x50], eax
je 0x44a9a6
mov ecx, 8
mul ecx
jo 0x44f1a1
mov esi, eax
test eax, eax
js 0x44f1a1
push 4
push esi
call fcn.00406c70
add esp, 8
mov ecx, eax
test eax, eax
jne 0x44a9ab
push 4
push esi
call fcn.004804a0
add esp, 8
ud2
movq xmm0, qword [esp + 0x180]
movsd xmm2, qword [esp + 0x170]
movq xmm1, qword [esp + 0x178]
movzx ecx, word [esp + 0x189]
mov dl, byte [esp + 0x18b]
movq qword [edi + 0x10], xmm0
movq qword [edi + 8], xmm1
movsd qword [edi], xmm2
mov word [edi + 0x19], cx
mov byte [edi + 0x1b], dl
mov byte [edi + 0x18], al
mov eax, edi
jmp 0x44efcb
mov dword [esp + 0x24], 0
jmp 0x44a9c8
mov ecx, 4
mov eax, dword [esp + 0x50]
lea eax, [eax*8]
push eax
push dword [esp + 0xc]
mov dword [esp + 0x2c], ecx
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, dword [edi - 0x4c]
mov eax, dword [edi - 0x50]
test esi, esi
mov dword [esp + 0xec], eax
je 0x44aa22
mov edx, dword [edi - 0x44]
test edx, edx
je 0x44aa6d
mov ecx, 8
mov eax, edx
mov ebx, edx
mul ecx
jo 0x44f1a1
test eax, eax
js 0x44f1a1
push 4
mov dword [esp + 8], eax
push eax
call fcn.00406c70
add esp, 8
test eax, eax
mov edx, ebx
jne 0x44aa72
push 4
push dword [esp + 8]
call fcn.004804a0
add esp, 8
ud2
mov esi, dword [edi - 0x40]
test esi, esi
jne 0x44aa96
mov dword [esp + 0xe8], 0
mov esi, dword [edi - 0x34]
test esi, esi
jne 0x44aafd
mov dword [esp + 0xd0], 0
mov esi, dword [edi - 0x28]
mov dword [esp + 8], 0
test esi, esi
jne 0x44ab7a
mov dword [esp + 0x100], 0
jmp 0x44abe6
mov eax, 4
lea ecx, [edx*8]
mov dword [esp + 0x2dc], edx
push ecx
push esi
mov dword [esp + 0xc], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, dword [edi - 0x40]
test esi, esi
je 0x44aa29
mov eax, dword [edi - 0x38]
test eax, eax
je 0x44aacd
mov ecx, 8
mov ebx, eax
mul ecx
jo 0x44f1a1
test eax, eax
js 0x44f1a1
push 4
mov dword [esp + 0xc], eax
push eax
call fcn.00406c70
add esp, 8
mov ecx, eax
test eax, eax
mov eax, ebx
jne 0x44aad2
jmp 0x44ab32
mov ecx, 4
mov dword [esp + 0x2d8], eax
lea eax, [eax*8]
push eax
push esi
mov dword [esp + 0xf0], ecx
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, dword [edi - 0x34]
test esi, esi
je 0x44aa3f
mov edx, dword [edi - 0x2c]
test edx, edx
je 0x44ab42
mov ecx, 8
mov eax, edx
mov ebx, edx
mul ecx
jo 0x44f1a1
test eax, eax
js 0x44f1a1
push 4
mov dword [esp + 0xc], eax
push eax
call fcn.00406c70
add esp, 8
test eax, eax
mov edx, ebx
jne 0x44ab47
push 4
push dword [esp + 0xc]
call fcn.004804a0
add esp, 8
ud2
mov eax, 4
lea ecx, [edx*8]
mov dword [esp + 0x2d4], edx
push ecx
push esi
mov dword [esp + 0xd8], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, dword [edi - 0x28]
mov dword [esp + 8], 0
test esi, esi
je 0x44aa5d
mov eax, dword [edi - 0x20]
test eax, eax
je 0x44abc5
mov ecx, 0x10
mov ebx, eax
mul ecx
jo 0x44f1a1
test eax, eax
js 0x44f1a1
push 4
mov dword [esp + 0xf4], eax
push eax
call fcn.00406c70
add esp, 8
mov ecx, eax
test eax, eax
mov eax, ebx
jne 0x44abca
push 4
push dword [esp + 0xf4]
call fcn.004804a0
add esp, 8
ud2
mov ecx, 4
mov dword [esp + 0x2cc], eax
shl eax, 4
push eax
push esi
mov dword [esp + 0x108], ecx
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, dword [edi - 0x10]
mov eax, dword [edi - 0x1c]
mov edx, dword [edi - 0x18]
mov ecx, dword [edi - 0x14]
test esi, esi
mov dword [esp + 0xf0], eax
mov dword [esp + 0xe4], edx
mov dword [esp + 0x110], ecx
je 0x44ac44
mov eax, dword [edi - 8]
test eax, eax
mov dword [esp + 0x2d0], eax
je 0x44ac46
mov ecx, 0xc
mul ecx
jo 0x44f1a1
mov ebx, eax
test eax, eax
js 0x44f1a1
push 4
push ebx
call fcn.00406c70
add esp, 8
test eax, eax
jne 0x44ac4d
jmp 0x44aef4
jmp 0x44ac5c
mov eax, 4
xor ebx, ebx
push ebx
push esi
mov dword [esp + 0x10], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, dword [edi - 0xdc]
mov eax, dword [edi - 4]
mov ecx, dword [edi]
test esi, esi
mov dword [esp + 0x130], eax
mov dword [esp + 0xc], ecx
je 0x44acc4
mov eax, dword [edi - 0xd4]
test eax, eax
je 0x44ace6
mov ecx, 8
mov ebx, eax
mul ecx
jo 0x44f1a1
test eax, eax
js 0x44f1a1
push 4
mov dword [esp + 0x124], eax
push eax
call fcn.00406c70
add esp, 8
mov ecx, eax
test eax, eax
mov eax, ebx
jne 0x44aceb
push 4
push dword [esp + 0x124]
call fcn.004804a0
add esp, 8
ud2
mov dword [esp + 0x120], 0
mov esi, dword [edi - 0xcc]
test esi, esi
jne 0x44ad15
mov dword [esp + 0x20], 0
jmp 0x44ad8c
mov ecx, 4
mov dword [esp + 0x2c4], eax
lea eax, [eax*8]
push eax
push esi
mov dword [esp + 0x128], ecx
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, dword [edi - 0xcc]
test esi, esi
je 0x44acd9
mov edx, dword [edi - 0xc4]
mov eax, dword [edi - 0xd0]
test edx, edx
mov dword [esp + 0x2c8], eax
je 0x44ad6a
mov ecx, 8
mov eax, edx
mov ebx, edx
mul ecx
jo 0x44f1a1
test eax, eax
js 0x44f1a1
push 4
mov dword [esp + 0x24], eax
push eax
call fcn.00406c70
add esp, 8
test eax, eax
mov edx, ebx
jne 0x44ad6f
push 4
push dword [esp + 0x24]
call fcn.004804a0
add esp, 8
ud2
mov eax, 4
lea ecx, [edx*8]
mov dword [esp + 0x2bc], edx
push ecx
push esi
mov dword [esp + 0x28], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, dword [edi - 0xf8]
mov ebx, dword [edi - 0x104]
mov ecx, dword [edi - 0x108]
mov eax, dword [edi - 0x10c]
mov edx, dword [edi - 0x100]
mov dword [esp + 0x308], esi
mov esi, dword [edi - 0xf0]
mov dword [esp + 0x310], ebx
mov ebx, dword [edi - 0xfc]
mov dword [esp + 0x30c], ecx
mov ecx, dword [edi - 0xc0]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x314], esi
mov esi, dword [edi - 0xe8]
mov dword [esp + 0x304], ebx
mov ebx, dword [edi - 0xf4]
test ecx, ecx
mov dword [esp + 0x300], esi
mov esi, dword [edi - 0xe0]
mov dword [esp + 0x150], ebx
mov ebx, dword [edi - 0xec]
mov dword [esp + 0x290], esi
mov esi, dword [edi - 0xe4]
mov dword [esp + 0x2fc], ebx
je 0x44ae37
mov eax, dword [edi - 0xbc]
inc dword [ecx]
mov dword [esp + 0x2c0], eax
jne 0x44ae39
jmp 0x44ae70
xor ecx, ecx
mov eax, dword [edi - 0xb8]
mov dword [esp + 0x2f8], ecx
mov dword [esp + 0x2f4], edx
mov dword [esp + 0x2f0], esi
test eax, eax
je 0x44ae74
mov ecx, dword [edi - 0xb4]
inc dword [eax]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x2b8], ecx
jne 0x44ae7f
ud2
mov dword [esp + 0x28c], 0
mov esi, dword [edi - 0xa0]
mov eax, dword [edi - 0xb0]
mov edx, dword [edi - 0xac]
mov ecx, dword [edi - 0xa8]
test esi, esi
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x2e8], edx
mov dword [esp + 0x2e4], ecx
je 0x44af01
mov eax, dword [edi - 0x98]
mov ecx, dword [edi - 0xa4]
test eax, eax
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b0], ecx
je 0x44af22
mov ecx, 0x18
mul ecx
jo 0x44f1a1
mov ebx, eax
test eax, eax
js 0x44f1a1
push 4
push ebx
call fcn.00406c70
add esp, 8
test eax, eax
jne 0x44af29
push 4
push ebx
call fcn.004804a0
add esp, 8
ud2
mov dword [esp + 0x288], 0
mov eax, dword [edi - 0x94]
test eax, eax
mov dword [esp + 0x2e0], eax
jne 0x44af4c
jmp 0x44afb3
mov eax, 4
xor ebx, ebx
push ebx
push esi
mov dword [esp + 0x290], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi - 0x94]
test eax, eax
mov dword [esp + 0x2e0], eax
je 0x44af1d
mov ebx, dword [edi - 0x8c]
mov ecx, dword [edi - 0x90]
test ebx, ebx
mov dword [esp + 0x2ac], ecx
je 0x44af8f
mov esi, dword [edi - 0x84]
test esi, esi
je 0x44af9c
js 0x44f1a1
push 1
push esi
call fcn.00406c70
add esp, 8
test eax, eax
jne 0x44afa1
push 1
push esi
call fcn.004804a0
add esp, 8
ud2
mov dword [esp + 0x284], 0
jmp 0x44afb3
mov eax, 1
push esi
push ebx
mov dword [esp + 0x28c], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x2fc]
xor edx, edx
mov ecx, dword [esp + 0x304]
mov ebx, dword [esp + 0x30c]
or eax, dword [esp + 0x300]
setne dl
xor eax, eax
or ecx, dword [esp + 0x308]
setne al
xor ecx, ecx
or dword [esp + 0x14c], ebx
mov ebx, dword [edi - 0x80]
mov edi, dword [edi - 0x7c]
mov dword [esp + 0x14c], ebx
mov ebx, dword [esp + 0x120]
setne cl
mov dword [esp + 0x1a0], ebx
mov ebx, dword [esp + 0x2c4]
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1a8], ebx
mov ebx, dword [esp + 0x2ac]
mov dword [esp + 0x1ec], ebx
mov ebx, dword [esp + 0x284]
mov dword [esp + 0x1f0], ebx
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f8], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x208], esi
mov esi, dword [esp]
mov dword [esp + 0x20c], esi
mov esi, dword [esp + 0x80]
mov dword [esp + 0x210], esi
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x214], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x218], esi
mov esi, dword [esp + 0x160]
mov dword [esp + 0x21c], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x220], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x224], esi
mov dword [esp + 0x228], esi
mov esi, dword [esp + 0xec]
mov dword [esp + 0x22c], esi
mov esi, dword [esp + 4]
mov dword [esp + 0x230], esi
mov esi, dword [esp + 0x2dc]
mov dword [esp + 0x234], esi
mov dword [esp + 0x238], esi
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x23c], esi
mov esi, dword [esp + 0x2d8]
mov dword [esp + 0x240], esi
mov dword [esp + 0x244], esi
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x248], esi
mov esi, dword [esp + 0x2d4]
mov dword [esp + 0x24c], esi
mov dword [esp + 0x250], esi
mov esi, dword [esp + 0x100]
mov dword [esp + 0x254], esi
mov esi, dword [esp + 0x2cc]
mov dword [esp + 0x258], esi
mov dword [esp + 0x25c], esi
mov esi, dword [esp + 0xf0]
mov dword [esp + 0x260], esi
mov esi, dword [esp + 0xe4]
mov dword [esp + 0x264], esi
mov esi, dword [esp + 0x110]
mov dword [esp + 0x268], esi
mov esi, dword [esp + 8]
mov dword [esp + 0x26c], esi
mov esi, dword [esp + 0x2d0]
mov dword [esp + 0x270], esi
mov dword [esp + 0x274], esi
mov esi, dword [esp + 0x130]
mov dword [esp + 0x278], esi
mov esi, dword [esp + 0xc]
mov dword [esp + 0x27c], esi
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0x2f4]
mov dword [esp + 0x174], 0
mov esi, dword [esp + 0x150]
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0x310]
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x314]
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], esi
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0x290]
mov dword [esp + 0x190], edx
mov edx, dword [esp + 0x2f0]
mov dword [esp + 0x194], 0
mov dword [esp + 0x19c], ecx
mov ecx, dword [esp + 0x2c8]
mov dword [esp + 0x198], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x1ac], ecx
mov ecx, dword [esp + 0x2bc]
mov dword [esp + 0x1b0], edx
mov edx, dword [esp + 0x2f8]
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1b4], ecx
mov ecx, dword [esp + 0x2c0]
mov dword [esp + 0x1bc], edx
mov edx, dword [esp + 0x28c]
mov dword [esp + 0x1c0], ecx
mov ecx, dword [esp + 0x2b8]
mov dword [esp + 0x1c4], edx
mov edx, dword [esp + 0x2ec]
mov dword [esp + 0x1c8], ecx
mov ecx, dword [esp + 0x2e8]
mov dword [esp + 0x1cc], edx
mov edx, dword [esp + 0x2e4]
mov dword [esp + 0x1d0], ecx
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 0x1d4], edx
mov edx, dword [esp + 0x288]
mov dword [esp + 0x1d8], ecx
mov ecx, dword [esp + 0x2b4]
mov dword [esp + 0x1dc], edx
mov edx, dword [esp + 0x2e0]
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1e0], ecx
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x1e8], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], edi
lea ecx, [esp + 0x90]
push esi
call fcn.0044fdc0
add esp, 4
mov al, byte [esp + 0xa8]
cmp al, 0x14
jne 0x44bf80
cmp dword [esi + 0x1c], 0
mov ecx, esi
je 0x44c5a4
mov edi, dword [esp + 0x20c]
mov eax, dword [esp + 0x208]
push edi
mov dword [esp + 0xc], eax
push eax
mov esi, dword [ebp + 0x18]
push esi
call fcn.00403710
mov ecx, edi
add esp, 0xc
shld edx, eax, 7
mov edi, dword [esi + 0x10]
mov ebx, eax
mov esi, dword [esi + 0x14]
mov dword [esp + 0x80], 0
mov dword [esp + 0x50], ecx
and dl, 0x7f
movzx eax, dl
movd xmm0, eax
punpcklbw xmm0, xmm0
lea eax, [esi - 0x28]
and ebx, edi
mov edx, edi
mov dword [esp + 0xc0], esi
pshuflw xmm0, xmm0, 0
mov dword [esp], eax
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x40], xmm0
mov eax, dword [esp + 0xc0]
movdqa xmm0, xmmword [esp + 0x40]
mov dword [esp + 4], ebx
movdqu xmm1, xmmword [eax + ebx]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x10], xmm1
pmovmskb edi, xmm0
test edi, edi
jne 0x44b41c
movdqa xmm1, xmmword [esp + 0x10]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44c5a4
mov eax, dword [esp + 0x80]
lea ebx, [ebx + eax + 0x10]
add eax, 0x10
mov dword [esp + 0x80], eax
and ebx, edx
jmp 0x44b3b2
lea eax, [edi - 1]
and eax, edi
test ax, ax
mov edi, eax
je 0x44b3da
bsf ax, di
movzx eax, ax
add eax, ebx
and eax, edx
neg eax
lea esi, [eax + eax*4]
mov eax, dword [esp]
cmp ecx, dword [eax + esi*8 + 4]
jne 0x44b410
push ecx
push dword [eax + esi*8]
push dword [esp + 0x10]
mov ebx, edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, ebx
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x44b410
mov eax, dword [esp + 0xc0]
cmp dword [eax + esi*8 - 4], 0
jne 0x44b48e
mov eax, dword [esp + 0x190]
xor eax, 1
or eax, dword [esp + 0x194]
jne 0x44c5a4
mov eax, dword [esp + 0x19c]
or eax, dword [esp + 0x198]
jne 0x44c5a4
lea ecx, [esp + 0x208]
call fcn.00421280
mov ecx, dword [esp + 0x26c]
test ecx, ecx
je 0x44b4c3
mov eax, dword [esp + 0x270]
test eax, eax
je 0x44b4c3
mov edx, 0xc
mul edx
push 4
push eax
push ecx
call fcn.00406c80
add esp, 0xc
lea ecx, [esp + 0x170]
call fcn.00421330
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x44bfca
mov ebx, eax
mov edx, dword [eax + 0x14]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x68], 4
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov esi, dword [eax]
movdqa xmm0, xmmword [edx]
lea eax, [esi + 0xd8]
pmovmskb edi, xmm0
mov dword [esp + 0xd0], esi
mov dword [esp + 0xf0], eax
lea eax, [esi + 0xe0]
not edi
mov dword [esp + 0xe8], eax
lea eax, [edx + 0x10]
mov dword [esp + 0x120], eax
jmp 0x44b573
mov ecx, dword [esp + 0xc]
xor edx, edx
mov esi, dword [esp + 0xd0]
lea eax, [ecx - 1]
and eax, ecx
mov cl, byte [esp + 0x110]
mov edi, eax
mov dl, cl
mov ecx, dword [esp + 0x100]
sub ecx, edx
mov edx, dword [esp + 0x130]
je 0x44bf60
test di, di
jne 0x44b5a0
mov eax, dword [esp + 0x120]
nop
movdqa xmm0, xmmword [eax]
add edx, 0xfffffd80
add eax, 0x10
pmovmskb edi, xmm0
cmp di, 0xffff
je 0x44b580
not edi
mov dword [esp + 0x120], eax
bsf ax, di
movzx eax, ax
neg eax
test edx, edx
lea eax, [eax + eax*4]
setne byte [esp + 0x110]
lea eax, [edx + eax*8 - 0x28]
cmove eax, edx
je 0x44bf60
mov dword [esp + 0x100], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xc], edi
mov dword [esp + 0x130], edx
mov dword [esp + 4], eax
push eax
mov dword [esp + 0x54], ecx
push ecx
push esi
lea eax, [esp + 0x34]
push eax
call fcn.00427870
add esp, 0x10
mov eax, dword [esp + 0x28]
test eax, eax
mov dword [esp + 0xc0], eax
je 0x44b7bb
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*8]
test ecx, ecx
je 0x44b790
mov ecx, dword [esp + 0xc0]
lea eax, [ecx + eax*8]
mov dword [esp + 0x80], eax
jmp 0x44b671
lea ecx, [ebx*8]
lea eax, [edi*8]
add ecx, dword [esp + 0x68]
push eax
push esi
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, edi
mov dword [esp + 0x70], ebx
nop word cs:[eax + eax]
mov ecx, dword [esp + 8]
cmp ecx, dword [esp + 0x80]
je 0x44b790
lea eax, [ecx + 8]
mov dword [esp], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax]
test eax, eax
je 0x44b660
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp]
shl eax, 4
lea esi, [eax + eax*2]
mov ebx, dword [ecx]
mov edi, dword [edx + 4]
jmp 0x44b6a8
add ebx, 0x30
add esi, 0xffffffd0
je 0x44b660
cmp dword [ebx + 4], edi
jne 0x44b6a0
push edi
mov eax, dword [esp + 4]
push dword [eax]
push dword [ebx]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44b6a0
cmp byte [ebx + 0x2d], 0
je 0x44b6fc
mov esi, dword [ebx + 0x20]
test esi, esi
je 0x44b660
mov edi, dword [ebx + 0x28]
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
sub eax, ebx
cmp eax, edi
jae 0x44b633
push edi
push ebx
lea eax, [esp + 0x70]
push eax
call fcn.0047da40
add esp, 0xc
mov ebx, dword [esp + 0x70]
jmp 0x44b633
mov eax, dword [ebx + 0x10]
lea ecx, [eax*8]
test ecx, ecx
je 0x44b6c8
mov esi, dword [ebx + 8]
lea eax, [esi + eax*8]
mov dword [esp + 0x10], eax
jmp 0x44b738
mov ecx, dword [esp + 0x68]
mov dword [ecx + eax*8], edx
mov dword [ecx + eax*8 + 4], edi
inc dword [esp + 0x70]
add esi, 8
cmp esi, dword [esp + 0x10]
je 0x44b6c8
mov edi, dword [esi + 4]
mov edx, dword [esi]
cmp edi, dword [esp + 4]
mov dword [esp], edx
jne 0x44b75f
push dword [esp + 4]
push dword [esp + 0x54]
push edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0xc]
add esp, 0xc
test eax, eax
je 0x44b72f
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x6c]
jne 0x44b720
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.004185d0
mov edx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 0x70]
jmp 0x44b720
mov eax, dword [esp + 0x40]
mov ebx, dword [ebp + 0x18]
mov esi, dword [esp + 0xd0]
test eax, eax
je 0x44b7bb
mov ecx, 8
mul ecx
push 4
push eax
push dword [esp + 0xc8]
call fcn.00406c80
add esp, 0xc
mov eax, dword [esi + 0xac]
mov edi, 0
test eax, eax
je 0x44b819
mov edi, dword [esi + 0xa4]
imul esi, eax, 0x78
jmp 0x44b7e8
add edi, 0x78
add esi, 0xffffff88
je 0x44b810
mov eax, dword [esp + 4]
cmp dword [edi + 4], eax
jne 0x44b7e0
push dword [esp + 4]
push dword [esp + 0x54]
push dword [edi]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44b7e0
jmp 0x44b812
xor edi, edi
mov esi, dword [esp + 0xd0]
mov eax, dword [esi + 0xb8]
mov dword [esp + 8], edi
test eax, eax
je 0x44b8ab
mov esi, dword [esi + 0xb0]
imul edi, eax, 0x110
jmp 0x44b84e
add esi, 0x110
add edi, 0xfffffef0
je 0x44b8a0
mov eax, dword [esp + 4]
cmp dword [esi + 0x9c], eax
jne 0x44b840
push dword [esp + 4]
push dword [esp + 0x54]
push dword [esi + 0x98]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44b840
mov eax, esi
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 8]
mov ecx, dword [esi + 0xc8]
test ecx, ecx
mov dword [esp + 0x10], ecx
jne 0x44b8bb
xor edx, edx
jmp 0x44b985
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 8]
xor eax, eax
mov ecx, dword [esi + 0xc8]
test ecx, ecx
mov dword [esp + 0x10], ecx
je 0x44b88f
mov edx, dword [esp + 0x10]
mov ebx, dword [esi + 0xc0]
xor esi, esi
mov dword [esp + 0x80], eax
imul ecx, edx, 0xf8
neg edx
add ecx, ebx
mov dword [esp + 0xc0], edx
xor edx, edx
mov dword [esp], ecx
cmp ebx, ecx
je 0x44b95f
mov ecx, dword [esp + 0xc0]
inc esi
mov edi, ebx
jmp 0x44b90c
lea eax, [ecx + esi + 1]
inc esi
mov edi, ebx
cmp eax, 1
je 0x44b970
mov ebx, dword [esp]
cmp edi, ebx
je 0x44b900
mov eax, dword [edi]
lea ebx, [edi + 0xf8]
xor eax, 2
or eax, dword [edi + 4]
je 0x44b900
mov eax, dword [esp + 4]
cmp dword [edi + 0xa4], eax
jne 0x44b94b
push dword [esp + 4]
push dword [esp + 0x54]
push dword [edi + 0xa0]
call sub.VCRUNTIME140.dll_memcmp
xor edx, edx
add esp, 0xc
test eax, eax
je 0x44b96b
cmp esi, dword [esp + 0x10]
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp]
jb 0x44b8e4
mov ebx, dword [ebp + 0x18]
mov esi, dword [esp + 0xd0]
jmp 0x44b985
mov edx, edi
nop dword [eax]
mov ebx, dword [ebp + 0x18]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x80]
test eax, eax
cmovne edx, eax
test edi, edi
je 0x44b9a0
mov ecx, 0x4ae494
mov edx, edi
jmp 0x44b9b7
test eax, eax
mov ecx, 0x4ae38c
mov edi, 0x4ae408
cmove ecx, edi
test edx, edx
je 0x44bb56
push edx
call dword [ecx + 0x20]
add esp, 4
test eax, eax
je 0x44b540
lea esi, [edx*8]
mov ecx, eax
test esi, esi
je 0x44b540
cmp dword [ebx + 0x1c], 0
je 0x44b540
lea eax, [ecx + edx*8]
mov dword [esp + 0x24], eax
mov eax, 1
nop dword [eax]
mov dword [esp + 0x40], ecx
add ecx, 8
test eax, eax
mov dword [esp + 0x160], ecx
je 0x44bb3a
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov esi, dword [eax + 4]
push esi
mov dword [esp + 4], ecx
push ecx
mov edi, dword [ebp + 0x18]
push edi
call fcn.00403710
add esp, 0xc
shld edx, eax, 7
mov ebx, dword [edi + 0x10]
mov ecx, eax
mov edi, dword [edi + 0x14]
mov dword [esp + 0x10], 0
mov dword [esp + 8], esi
and dl, 0x7f
movzx eax, dl
movd xmm0, eax
punpcklbw xmm0, xmm0
and ecx, ebx
lea edx, [edi - 0x28]
mov dword [esp + 0x80], edi
mov dword [esp + 4], ebx
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0xc0], xmm0
mov eax, dword [esp + 0x80]
movdqa xmm0, xmmword [esp + 0xc0]
movdqu xmm1, xmmword [eax + ecx]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x50], xmm1
pmovmskb edi, xmm0
test edi, edi
jne 0x44bacc
movdqa xmm1, xmmword [esp + 0x50]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44bb3a
mov eax, dword [esp + 0x10]
lea ecx, [ecx + eax + 0x10]
add eax, 0x10
mov dword [esp + 0x10], eax
and ecx, ebx
jmp 0x44ba6a
lea eax, [edi - 1]
and eax, edi
test ax, ax
mov edi, eax
je 0x44ba91
bsf ax, di
movzx eax, ax
add eax, ecx
and eax, ebx
neg eax
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 4], esi
jne 0x44bac0
push esi
push dword [edx + eax*8]
push dword [esp + 8]
mov esi, ecx
mov ebx, edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, ebx
mov ecx, esi
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x44bac0
mov eax, dword [esp + 0x40]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x6c]
jne 0x44bb2b
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.004185d0
add esp, 8
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x68]
mov dword [ecx + eax*8], esi
mov dword [ecx + eax*8 + 4], edi
inc dword [esp + 0x70]
mov ecx, dword [esp + 0x160]
mov ebx, dword [ebp + 0x18]
cmp ecx, dword [esp + 0x24]
je 0x44b540
mov eax, dword [ebx + 0x1c]
jmp 0x44b9f0
push dword [esp + 4]
push dword [esp + 0x54]
push esi
lea eax, [esp + 0x34]
push eax
call fcn.00428130
add esp, 0x10
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*8]
test ecx, ecx
je 0x44bf39
mov ecx, dword [esp + 0x20]
lea eax, [ecx + eax*8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0xe4], eax
jmp 0x44bbb8
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0xd0]
cmp eax, dword [esp + 0xe4]
je 0x44bf39
mov eax, dword [esi + 0xac]
mov edx, 0
mov dword [esp + 0x50], 0
test eax, eax
je 0x44bc2c
mov ecx, dword [esp + 0x24]
mov edx, dword [esi + 0xa4]
imul edi, eax, 0x78
mov esi, dword [ecx + 4]
jmp 0x44bbf8
add edx, 0x78
add edi, 0xffffff88
je 0x44bc20
cmp dword [edx + 4], esi
jne 0x44bbf0
push esi
mov eax, dword [esp + 0x28]
push dword [eax]
push dword [edx]
mov ebx, edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, ebx
add esp, 0xc
test eax, eax
jne 0x44bbf0
jmp 0x44bc22
xor edx, edx
mov esi, dword [esp + 0xd0]
mov ebx, dword [ebp + 0x18]
mov eax, dword [esi + 0xb8]
mov dword [esp + 8], edx
test eax, eax
je 0x44bc91
mov ecx, dword [esp + 0x24]
mov esi, dword [esi + 0xb0]
imul ebx, eax, 0x110
mov edi, dword [ecx + 4]
jmp 0x44bc5e
add esi, 0x110
add ebx, 0xfffffef0
je 0x44bc87
cmp dword [esi + 0x9c], edi
jne 0x44bc50
push edi
mov eax, dword [esp + 0x28]
push dword [eax]
push dword [esi + 0x98]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
jne 0x44bc50
mov dword [esp + 0x50], esi
mov ebx, dword [ebp + 0x18]
mov esi, dword [esp + 0xd0]
mov ecx, dword [esi + 0xc8]
test ecx, ecx
je 0x44bd43
mov esi, dword [esi + 0xc0]
imul eax, ecx, 0xf8
mov edi, ecx
xor ebx, ebx
neg edi
mov dword [esp + 4], edi
add eax, esi
mov dword [esp], eax
cmp esi, eax
je 0x44bd40
inc ebx
mov edi, esi
jmp 0x44bce5
mov esi, eax
mov eax, dword [esp + 4]
mov edi, esi
lea eax, [eax + ebx + 1]
inc ebx
cmp eax, 1
mov eax, dword [esp]
je 0x44bd40
cmp edi, eax
je 0x44bcd0
mov eax, dword [edi]
lea esi, [edi + 0xf8]
xor eax, 2
or eax, dword [edi + 4]
je 0x44bcd2
mov dword [esp + 0x10], ecx
mov eax, dword [edi + 0xa4]
mov ecx, dword [esp + 0x24]
cmp eax, dword [ecx + 4]
jne 0x44bd29
push eax
mov eax, dword [esp + 0x28]
push dword [eax]
push dword [edi + 0xa0]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
je 0x44bd5b
mov ecx, dword [esp + 0x10]
mov eax, dword [esp]
cmp ebx, ecx
jb 0x44bcba
nop word cs:[eax + eax]
nop
mov ebx, dword [ebp + 0x18]
mov eax, dword [esp + 0x50]
xor edi, edi
test eax, eax
cmovne edi, eax
test edx, edx
je 0x44bd70
mov ecx, 0x4ae494
mov edi, edx
jmp 0x44bd87
mov ebx, dword [ebp + 0x18]
mov eax, dword [esp + 0x50]
test eax, eax
cmovne edi, eax
test edx, edx
jne 0x44bd52
nop dword [eax + eax]
test eax, eax
mov ecx, 0x4ae38c
mov edx, 0x4ae408
cmove ecx, edx
test edi, edi
je 0x44f18b
add dword [esp + 0x24], 8
push edi
call dword [ecx + 0x20]
add esp, 4
test eax, eax
je 0x44bba0
lea esi, [edx*8]
mov ecx, eax
test esi, esi
je 0x44bba0
cmp dword [ebx + 0x1c], 0
je 0x44bba0
lea eax, [ecx + edx*8]
mov dword [esp + 0xec], eax
mov eax, 1
nop word cs:[eax + eax]
nop
mov dword [esp + 0x40], ecx
add ecx, 8
test eax, eax
mov dword [esp + 0x160], ecx
je 0x44bf1a
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov esi, dword [eax + 4]
push esi
mov dword [esp + 4], ecx
push ecx
mov edi, dword [ebp + 0x18]
push edi
call fcn.00403710
add esp, 0xc
shld edx, eax, 7
mov ebx, dword [edi + 0x10]
mov ecx, eax
mov edi, dword [edi + 0x14]
mov dword [esp + 0x10], 0
mov dword [esp + 8], esi
and dl, 0x7f
movzx eax, dl
movd xmm0, eax
punpcklbw xmm0, xmm0
and ecx, ebx
lea edx, [edi - 0x28]
mov dword [esp + 0x80], edi
mov dword [esp + 4], ebx
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0xc0], xmm0
mov eax, dword [esp + 0x80]
movdqa xmm0, xmmword [esp + 0xc0]
movdqu xmm1, xmmword [eax + ecx]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x50], xmm1
pmovmskb edi, xmm0
test edi, edi
jne 0x44beac
movdqa xmm1, xmmword [esp + 0x50]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44bf1a
mov eax, dword [esp + 0x10]
lea ecx, [ecx + eax + 0x10]
add eax, 0x10
mov dword [esp + 0x10], eax
and ecx, ebx
jmp 0x44be4a
lea eax, [edi - 1]
and eax, edi
test ax, ax
mov edi, eax
je 0x44be71
bsf ax, di
movzx eax, ax
add eax, ecx
and eax, ebx
neg eax
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 4], esi
jne 0x44bea0
push esi
push dword [edx + eax*8]
push dword [esp + 8]
mov esi, ecx
mov ebx, edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, ebx
mov ecx, esi
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x44bea0
mov eax, dword [esp + 0x40]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x6c]
jne 0x44bf0b
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.004185d0
add esp, 8
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x68]
mov dword [ecx + eax*8], esi
mov dword [ecx + eax*8 + 4], edi
inc dword [esp + 0x70]
mov ecx, dword [esp + 0x160]
mov ebx, dword [ebp + 0x18]
cmp ecx, dword [esp + 0xec]
je 0x44bba0
mov eax, dword [ebx + 0x1c]
jmp 0x44bdd0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44b540
mov ecx, 8
mul ecx
push 4
push eax
push dword [esp + 0x28]
call fcn.00406c80
add esp, 0xc
jmp 0x44b540
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
lea ecx, [eax*8]
test ecx, ecx
jne 0x44c03b
jmp 0x44c3d6
movq xmm0, qword [esp + 0xa0]
mov edx, dword [ebp + 8]
movsd xmm2, qword [esp + 0x90]
movq xmm1, qword [esp + 0x98]
movzx ecx, word [esp + 0xa9]
mov ah, byte [esp + 0xab]
movq qword [edx + 0x10], xmm0
movq qword [edx + 8], xmm1
movsd qword [edx], xmm2
mov word [edx + 0x19], cx
mov byte [edx + 0x1b], ah
mov byte [edx + 0x18], al
jmp 0x44c61b
mov eax, dword [eax + 0x20]
test eax, eax
je 0x44bfd7
cmp dword [eax + 0x30], 0
jne 0x44bfe5
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
test byte [eax], 4
jne 0x44c664
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x68], 4
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x10], 4
mov eax, dword [eax]
lea ecx, [eax + 0xd8]
mov dword [esp + 0xd0], eax
add eax, 0xe0
mov dword [esp + 0xe8], eax
mov dword [esp + 0xf0], ecx
xor eax, eax
lea ecx, [eax*8]
test ecx, ecx
je 0x44c3d6
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax*8]
mov dword [esp + 0x24], eax
jmp 0x44c065
mov eax, dword [esp + 0x10]
add eax, 8
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
je 0x44c3d6
mov eax, dword [esp + 0xe8]
mov eax, dword [eax]
test eax, eax
je 0x44c280
mov ecx, dword [esp + 0xf0]
shl eax, 4
lea ebx, [eax + eax*2]
mov esi, dword [ecx]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
add esi, 4
mov dword [esp + 4], ecx
jmp 0x44c0ac
add esi, 0x30
add ebx, 0xffffffd0
je 0x44c287
cmp dword [esi], ecx
jne 0x44c0a0
mov eax, dword [esp + 0x10]
mov edi, dword [eax]
push ecx
push edi
push dword [esi - 4]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x44c0a0
push ecx
push edi
push dword [esp + 0xd8]
lea eax, [esp + 0x34]
push eax
call fcn.00428130
add esp, 0x10
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44c259
lea eax, [esi + eax*8]
mov dword [esp + 0xe4], esi
mov dword [esp + 0x110], eax
mov eax, esi
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp], ecx
je 0x44c259
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x160], eax
cmp dword [ecx + 0x1c], 0
je 0x44c23b
mov eax, dword [esp + 0x160]
mov esi, dword [eax + 4]
push esi
push dword [esp + 4]
mov edi, dword [ebp + 0x18]
push edi
call fcn.00403710
add esp, 0xc
shld edx, eax, 7
mov ebx, dword [edi + 0x10]
mov ecx, eax
mov edi, dword [edi + 0x14]
mov dword [esp + 0x80], 0
mov dword [esp + 8], esi
and dl, 0x7f
movzx eax, dl
movd xmm0, eax
punpcklbw xmm0, xmm0
and ecx, ebx
lea edx, [edi - 0x28]
mov dword [esp + 0xc0], edi
mov dword [esp + 4], ebx
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x40], xmm0
mov eax, dword [esp + 0xc0]
movdqa xmm0, xmmword [esp + 0x40]
movdqu xmm1, xmmword [eax + ecx]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x50], xmm1
pmovmskb edi, xmm0
test edi, edi
jne 0x44c1fc
movdqa xmm1, xmmword [esp + 0x50]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44c23b
mov eax, dword [esp + 0x80]
lea ecx, [ecx + eax + 0x10]
add eax, 0x10
mov dword [esp + 0x80], eax
and ecx, ebx
jmp 0x44c194
lea eax, [edi - 1]
and eax, edi
test ax, ax
mov edi, eax
je 0x44c1b8
bsf ax, di
movzx eax, ax
add eax, ecx
and eax, ebx
neg eax
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 4], esi
jne 0x44c1f0
push esi
push dword [edx + eax*8]
push dword [esp + 8]
mov esi, ecx
mov ebx, edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, ebx
mov ecx, esi
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x44c1f0
jmp 0x44c400
mov eax, dword [esp + 0x160]
mov esi, dword [esp + 0xe4]
add eax, 8
cmp eax, dword [esp + 0x110]
jne 0x44c10f
mov eax, dword [esp + 0xec]
test eax, eax
je 0x44c050
mov ecx, 8
mul ecx
push 4
push eax
push esi
call fcn.00406c80
add esp, 0xc
jmp 0x44c050
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 0
je 0x44c050
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
push ecx
mov dword [esp + 0xc], eax
push eax
mov esi, dword [ebp + 0x18]
push esi
mov dword [esp + 0x10], ecx
call fcn.00403710
mov ecx, dword [esp + 0x10]
add esp, 0xc
shld edx, eax, 7
mov ebx, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov dword [esp + 0xc0], 0
and dl, 0x7f
movzx esi, dl
movd xmm0, esi
punpcklbw xmm0, xmm0
and eax, ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x50], ebx
pshuflw xmm0, xmm0, 0
mov edx, eax
lea eax, [edi - 0x28]
pshufd xmm0, xmm0, 0
mov dword [esp], eax
movdqa xmmword [esp + 0x160], xmm0
mov eax, dword [esp + 0x40]
movdqa xmm0, xmmword [esp + 0x160]
movdqu xmm1, xmmword [eax + edx]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x80], xmm1
pmovmskb esi, xmm0
test esi, esi
jne 0x44c36c
movdqa xmm1, xmmword [esp + 0x80]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44c050
mov eax, dword [esp + 0xc0]
lea edx, [edx + eax + 0x10]
add eax, 0x10
mov dword [esp + 0xc0], eax
and edx, ebx
jmp 0x44c2fc
lea eax, [esi - 1]
and eax, esi
test ax, ax
mov esi, eax
je 0x44c323
bsf ax, si
movzx eax, ax
add eax, edx
and eax, ebx
neg eax
lea edi, [eax + eax*4]
mov eax, dword [esp]
cmp dword [eax + edi*8 + 4], ecx
jne 0x44c360
push ecx
push dword [eax + edi*8]
push dword [esp + 0x10]
mov ebx, edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, ebx
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
mov eax, dword [esp]
jne 0x44c360
mov ecx, eax
mov eax, dword [eax + edi*8 + 8]
or eax, dword [ecx + edi*8 + 0xc]
je 0x44c050
mov ebx, dword [ebp + 0x18]
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x170]
push ebx
mov eax, dword [esp + 0x14]
push dword [eax + 4]
push dword [eax]
call fcn.0044f1e0
jmp 0x44c43c
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x44c3f4
mov ecx, 8
mul ecx
push 4
push eax
push dword [esp + 0x70]
call fcn.00406c80
add esp, 0xc
mov ebx, dword [ebp + 0x18]
mov esi, dword [esp + 0xd0]
jmp 0x44c474
mov ebx, dword [ebp + 0x18]
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x170]
push ebx
push esi
push dword [esp + 8]
call fcn.0044f1e0
add esp, 0xc
mov eax, dword [esp + 0xec]
test eax, eax
je 0x44c43f
mov ecx, 8
mul ecx
push 4
push eax
push dword [esp + 0xec]
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0xd0]
test eax, eax
je 0x44c464
mov ecx, 8
mul ecx
push 4
push eax
push dword [esp + 0x70]
call fcn.00406c80
add esp, 0xc
mov dl, byte [esp + 0x188]
cmp dl, 0x14
jne 0x44c527
test byte [esi], 1
jne 0x44c485
cmp dword [esp + 0xac], 1
jne 0x44c497
jmp 0x44c4b6
cmp dword [esp + 0xac], 1
je 0x44c4b6
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x44c4b6
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x170]
push ebx
call fcn.0044fdc0
add esp, 4
mov dl, byte [esp + 0x188]
cmp dl, 0x14
jne 0x44c4dd
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x44ef74
mov edx, dword [ebx + 0x14]
movdqa xmm0, xmmword [edx]
lea eax, [edx + 0x10]
mov dword [esp + 0xe4], eax
pmovmskb esi, xmm0
not esi
jmp 0x44c72f
movsd xmm0, qword [esp + 0x180]
mov eax, dword [ebp + 8]
movsd xmm2, qword [esp + 0x170]
movsd xmm1, qword [esp + 0x178]
movzx ecx, word [esp + 0x189]
movsd qword [eax + 0x10], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov word [eax + 0x19], cx
mov cl, byte [esp + 0x18b]
mov byte [eax + 0x1b], cl
mov byte [eax + 0x18], dl
jmp 0x44efcb
movzx ecx, word [esp + 0x189]
movsd xmm0, qword [esp + 0x180]
movsd xmm1, qword [esp + 0x170]
mov eax, dword [ebp + 8]
movsd xmm2, qword [esp + 0x178]
mov word [esp + 0xb0], cx
mov cl, byte [esp + 0x18b]
movsd qword [eax + 0x10], xmm0
movsd qword [eax + 8], xmm2
movsd qword [eax], xmm1
movsd qword [esp + 0xa0], xmm0
movsd qword [esp + 0x98], xmm2
movsd qword [esp + 0x90], xmm1
mov byte [esp + 0xb2], cl
movzx ecx, word [esp + 0xb0]
mov word [eax + 0x19], cx
mov cl, byte [esp + 0xb2]
jmp 0x44c51c
mov eax, dword [ebp + 0xc]
mov edi, dword [eax]
sub esp, 4
push 0
push dword [ebp + 0x18]
push edi
lea eax, [esp + 0xa0]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, dword [edi]
mov esi, dword [esp + 0x90]
mov edx, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmove edx, eax
push edx
push dword [esp + 0x9c]
push esi
push 0x4ae38c
lea eax, [esp + 0x180]
push eax
push dword [ebp + 8]
call fcn.0043bfd0
add esp, 0x18
mov eax, dword [esp + 0x94]
test eax, eax
je 0x44c61b
push 1
push eax
push esi
call fcn.00406c80
add esp, 0xc
lea ecx, [esp + 0x208]
call fcn.00421280
mov ecx, dword [esp + 0x26c]
test ecx, ecx
je 0x44c650
mov eax, dword [esp + 0x270]
test eax, eax
je 0x44c650
mov edx, 0xc
mul edx
push 4
push eax
push ecx
call fcn.00406c80
add esp, 0xc
lea ecx, [esp + 0x170]
call fcn.00421330
mov eax, dword [ebp + 8]
jmp 0x44efcb
lea esi, [esp + 0x170]
lea edx, [esp + 0x90]
mov dword [esp + 0x90], 1
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov ecx, esi
push 0
push 1
push eax
push 0x4a9d8c
call fcn.00442d30
add esp, 0x10
mov dl, byte [esp + 0x188]
cmp dl, 0x14
jne 0x44eff2
push dword [esp + 0x98]
push dword [esp + 0x94]
push esi
call fcn.004747c0
add esp, 0xc
push esi
mov esi, dword [ebp + 8]
push esi
call fcn.00434fd0
mov eax, esi
add esp, 8
mov dword [esi + 0xc], 0
mov dl, 0xc
jmp 0x44f034
call fcn.00406c80
add esp, 0xc
mov dl, byte [esp + 0x188]
cmp dl, 0x14
jne 0x44f0b2
mov ecx, dword [esp + 0xe8]
xor edx, edx
lea eax, [ecx - 1]
and eax, ecx
mov cl, byte [esp + 0x160]
mov esi, eax
mov dl, cl
mov ecx, dword [esp + 0x24]
sub ecx, edx
mov edx, dword [esp + 0xec]
je 0x44ef74
test si, si
jne 0x44c760
mov eax, dword [esp + 0xe4]
nop dword [eax + eax]
movdqa xmm0, xmmword [eax]
add edx, 0xfffffd80
add eax, 0x10
pmovmskb esi, xmm0
cmp si, 0xffff
je 0x44c740
not esi
mov dword [esp + 0xe4], eax
bsf ax, si
movzx eax, ax
neg eax
test edx, edx
lea eax, [eax + eax*4]
setne byte [esp + 0x160]
lea edi, [edx + eax*8 - 0x28]
cmove edi, edx
mov dword [esp], edi
je 0x44ef74
lea eax, [edx + eax*8 - 0x20]
mov dword [esp + 0xec], edx
mov edx, dword [esp]
mov dword [esp + 0xe8], esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc0], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x44c882
mov ecx, dword [esp + 0x10]
mov esi, dword [edx + 4]
imul edi, eax, 0x110
xor eax, eax
mov ebx, dword [ecx + 0xb0]
jmp 0x44c7ed
add eax, 0x110
cmp edi, eax
je 0x44c882
cmp dword [ebx + eax + 0x9c], esi
jne 0x44c7e0
push esi
push dword [edx]
push dword [ebx + eax + 0x98]
mov dword [esp + 0x10], eax
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0xc]
add esp, 0xc
test eax, eax
mov eax, dword [esp + 4]
jne 0x44c7e0
mov edi, eax
mov eax, dword [ebx + eax]
mov dword [esp + 0xc], ebx
xor eax, 1
or eax, dword [ebx + edi + 4]
jne 0x44cdc8
mov esi, dword [ebx + edi + 0xc]
mov ecx, dword [ebx + edi + 8]
test byte [ebx + edi + 0xbc], 2
mov dword [esp + 8], esi
jne 0x44cd6f
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 4]
mov edx, dword [eax + 0x1c]
mov eax, ecx
xor eax, edx
or eax, esi
je 0x44cdc8
cmp edx, 1
mov dword [esp], ecx
jne 0x44d244
mov eax, str.asere
mov ecx, 2
mov esi, 1
jmp 0x44d250
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xac]
test eax, eax
je 0x44caf9
mov ecx, dword [esp + 0x10]
mov ebx, dword [edx + 4]
imul edi, eax, 0x78
mov esi, dword [ecx + 0xa4]
jmp 0x44c8bc
add esi, 0x78
add edi, 0xffffff88
je 0x44caf9
cmp dword [esi + 4], ebx
jne 0x44c8b0
push ebx
push dword [edx]
push dword [esi]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0xc]
add esp, 0xc
test eax, eax
jne 0x44c8b0
mov ecx, dword [esi + 0x4c]
lea eax, [esi + 0x4c]
test ecx, ecx
cmove eax, ecx
je 0x44d1aa
mov ecx, dword [esp + 0xc0]
mov edi, dword [eax + 8]
mov edx, dword [eax]
mov dword [esp + 0xc], esi
mov eax, dword [ecx + 0x1c]
shl edi, 4
add edi, edx
mov dword [esp + 0x120], edi
test eax, eax
je 0x44cf53
mov ecx, dword [ecx + 0x14]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov dword [esp + 0xf0], eax
mov eax, edx
cmp eax, edi
je 0x44d0b0
mov ebx, dword [eax]
add eax, 0x10
test ebx, ebx
je 0x44c920
mov edi, dword [eax - 0xc]
mov esi, dword [eax - 8]
mov dword [esp + 0x290], eax
mov eax, dword [eax - 4]
mov dword [esp + 0x130], ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0x80], edi
mov dword [esp + 8], esi
mov dword [esp + 4], eax
jmp 0x44c978
mov ecx, dword [esp + 0x50]
add ecx, 0xc
cmp ecx, dword [esp + 0xf0]
je 0x44cad7
mov dword [esp + 0x50], ecx
push ecx
call fcn.00408da0
add esp, 4
cmp edx, dword [esp + 0x80]
jne 0x44c964
push dword [esp + 0x80]
push dword [esp + 0x134]
push eax
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x17c]
add esp, 0xc
test eax, eax
jne 0x44c964
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 0
je 0x44d180
push edx
push dword [esp + 0xc]
mov esi, dword [ebp + 0x18]
push esi
call fcn.00403710
add esp, 0xc
shld edx, eax, 7
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov esi, eax
mov dword [esp + 0xd0], 0
and dl, 0x7f
movzx eax, dl
mov edx, dword [esp + 4]
movd xmm0, eax
punpcklbw xmm0, xmm0
mov dword [esp], ecx
and esi, ecx
lea ecx, [esp + 0x170]
lea ebx, [edi - 0x28]
mov dword [esp + 0x110], edi
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x100], xmm0
mov eax, dword [esp + 0x110]
movdqa xmm0, xmmword [esp + 0x100]
mov edi, esi
movdqu xmm1, xmmword [eax + esi]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x40], xmm1
pmovmskb esi, xmm0
test esi, esi
jne 0x44ca9c
movdqa xmm1, xmmword [esp + 0x40]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44d180
mov eax, dword [esp + 0xd0]
mov esi, edi
lea esi, [edi + eax + 0x10]
add eax, 0x10
and esi, dword [esp]
mov dword [esp + 0xd0], eax
jmp 0x44ca24
lea eax, [esi - 1]
and eax, esi
test ax, ax
mov esi, eax
je 0x44ca4d
bsf ax, si
movzx eax, ax
add eax, edi
and eax, dword [esp]
neg eax
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 4], edx
jne 0x44ca90
push edx
push dword [ebx + eax*8]
push dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x17c]
add esp, 0xc
test eax, eax
jne 0x44ca90
jmp 0x44c964
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x120]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0x290]
jmp 0x44c920
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc8]
test eax, eax
mov dword [esp + 0x80], eax
je 0x44cbcb
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x80]
xor edi, edi
mov ecx, dword [eax + 0xc0]
imul esi, ebx, 0xf8
neg ebx
mov dword [esp + 8], ebx
add esi, ecx
mov dword [esp + 0x50], esi
cmp ecx, esi
je 0x44cbcb
inc edi
jmp 0x44cb60
mov ecx, esi
mov eax, dword [esp + 8]
lea eax, [eax + edi + 1]
inc edi
cmp eax, 1
je 0x44cbcb
cmp ecx, esi
je 0x44cb50
mov esi, dword [ecx]
mov ebx, dword [ecx + 4]
lea eax, [ecx + 0xf8]
mov dword [esp + 4], eax
mov eax, esi
xor eax, 2
or eax, ebx
jne 0x44cb86
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 4]
jmp 0x44cb52
mov eax, dword [ecx + 0xa4]
cmp eax, dword [edx + 4]
jne 0x44cbb6
push eax
push dword [edx]
push dword [ecx + 0xa0]
mov dword [esp + 0x4c], ecx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x4c]
add esp, 0xc
test eax, eax
je 0x44df7c
cmp edi, dword [esp + 0x80]
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 4]
jb 0x44cb37
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xe0]
test eax, eax
je 0x44f158
mov edi, dword [ecx + 0xd8]
mov ebx, dword [edx + 4]
shl eax, 4
lea esi, [eax + eax*2]
jmp 0x44cbfc
add edi, 0x30
add esi, 0xffffffd0
je 0x44f158
cmp dword [edi + 4], ebx
jne 0x44cbf0
push ebx
push dword [edx]
push dword [edi]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0xc]
add esp, 0xc
test eax, eax
jne 0x44cbf0
mov eax, dword [edi + 0x14]
mov ebx, dword [ebp + 0x18]
test eax, eax
je 0x44c703
mov ecx, dword [edi + 0x1c]
lea edx, [ecx*8]
test edx, edx
je 0x44c703
lea ecx, [eax + ecx*8]
mov dword [esp + 0xd0], ecx
cmp dword [ebx + 0x1c], 0
je 0x44ef46
lea ecx, [eax + 8]
mov ebx, dword [eax + 4]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax]
push ebx
mov dword [esp + 4], ecx
push ecx
mov esi, dword [ebp + 0x18]
push esi
call fcn.00403710
add esp, 0xc
shld edx, eax, 7
mov edi, dword [esi + 0x10]
mov ecx, eax
mov esi, dword [esi + 0x14]
mov dword [esp + 0x10], 0
mov dword [esp + 8], ebx
and dl, 0x7f
movzx eax, dl
movd xmm0, eax
punpcklbw xmm0, xmm0
and ecx, edi
lea edx, [esi - 0x28]
mov dword [esp + 0x80], esi
mov dword [esp + 4], edi
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0xc0], xmm0
mov eax, dword [esp + 0x80]
movdqa xmm0, xmmword [esp + 0xc0]
movdqu xmm1, xmmword [eax + ecx]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x50], xmm1
pmovmskb esi, xmm0
test esi, esi
jne 0x44cd1c
movdqa xmm1, xmmword [esp + 0x50]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44ef46
mov eax, dword [esp + 0x10]
lea ecx, [ecx + eax + 0x10]
add eax, 0x10
mov dword [esp + 0x10], eax
and ecx, edi
jmp 0x44ccb1
lea eax, [esi - 1]
and eax, esi
test ax, ax
mov esi, eax
je 0x44ccd8
bsf ax, si
movzx eax, ax
add eax, ecx
and eax, edi
neg eax
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 4], ebx
jne 0x44cd10
push ebx
push dword [edx + eax*8]
push dword [esp + 8]
mov ebx, ecx
mov edi, edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, edi
mov ecx, ebx
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x44cd10
mov eax, dword [esp + 0x40]
mov ebx, dword [ebp + 0x18]
cmp eax, dword [esp + 0xd0]
jne 0x44cc40
jmp 0x44c703
mov eax, ecx
or eax, esi
je 0x44f16e
mov eax, dword [esp + 0xc0]
mov edx, esi
mov esi, dword [eax + 0x1c]
push edx
push ecx
push 0
push esi
mov dword [esp + 0x10], ecx
call fcn.0047be50
mov ecx, dword [esp]
mov edi, dword [esp + 4]
or edx, eax
je 0x44cdc8
test ecx, ecx
je 0x44f175
mov eax, esi
xor edx, edx
div ecx
mov eax, str.asere
mov ecx, 2
cmp esi, 1
jne 0x44d236
mov edi, dword [esp + 4]
jmp 0x44d24e
mov eax, dword [ebx + edi + 0x10]
mov edx, dword [esp + 0xc0]
xor eax, 1
or eax, dword [ebx + edi + 0x14]
jne 0x44ce9e
mov eax, dword [edx + 0x1c]
mov ecx, dword [ebx + edi + 0x1c]
cmp dword [ebx + edi + 0x18], eax
sbb ecx, 0
jae 0x44ce9e
mov edi, dword [esp + 0x10]
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x44f1a8
add eax, dword [edx + 0x14]
add eax, 0xfffffff4
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
call fcn.00468d50
add esp, 8
test eax, eax
mov dword [esp], edx
je 0x44f1af
mov esi, eax
mov eax, dword [esp + 4]
add ebx, eax
sub esp, 4
push 0
push dword [ebp + 0x18]
push edi
lea eax, [esp + 0x38]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, edi
mov edi, dword [esp + 0x28]
mov edx, 2
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
push dword [esp + 0x34]
push edi
push 0x4ae38c
push ebx
push dword [esp + 0x14]
push esi
lea eax, [esp + 0x18c]
push eax
call fcn.0043cc80
add esp, 0x20
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44d2de
push 1
push eax
push edi
jmp 0x44d2d6
mov eax, dword [ebx + edi + 0x20]
mov esi, dword [edx + 0x1c]
lea ecx, [edx + 0x1c]
mov dword [esp + 0x110], ecx
xor eax, 1
or eax, dword [ebx + edi + 0x24]
jne 0x44d0f7
mov ecx, dword [ebx + edi + 0x28]
mov edx, dword [ebx + edi + 0x2c]
mov eax, 0
cmp esi, ecx
sbb eax, edx
jae 0x44d0ef
lea eax, [ebx + edi]
mov dword [esp], eax
sub esp, 4
push 0
push dword [ebp + 0x18]
mov ebx, dword [esp + 0x1c]
push ebx
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x1c], ecx
mov edi, edx
call fcn.00436cb0
add esp, 0x14
mov ecx, dword [esp + 0x28]
mov eax, dword [ebx]
mov edx, 2
mov ebx, ecx
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
push dword [esp + 0x34]
push ebx
push esi
push edi
push dword [esp + 0x1c]
push 0x4ae38c
push dword [esp + 0x1c]
lea eax, [esp + 0x190]
push eax
call fcn.0043cf50
add esp, 0x24
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44d2de
push 1
push eax
push ebx
jmp 0x44d2d6
mov ecx, edx
mov eax, ecx
nop word [eax + eax]
cmp eax, edi
je 0x44d0b0
cmp dword [eax], 0
lea ecx, [eax + 0x10]
mov eax, ecx
je 0x44cf60
jmp 0x44cf55
push edx
push dword [esp + 0x54]
mov esi, dword [ebp + 0x18]
push esi
mov dword [esp + 0x8c], edx
call fcn.00403710
add esp, 0xc
shld edx, eax, 7
mov ecx, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov esi, eax
mov dword [esp + 0xd0], 0
and dl, 0x7f
movzx eax, dl
mov edx, dword [esp + 0x80]
movd xmm0, eax
punpcklbw xmm0, xmm0
lea eax, [edi - 0x28]
mov dword [esp + 4], ecx
and esi, ecx
lea ecx, [esp + 0x170]
mov dword [esp + 0xf0], edi
pshuflw xmm0, xmm0, 0
mov dword [esp + 8], eax
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x110], xmm0
mov eax, dword [esp + 0xf0]
movdqa xmm0, xmmword [esp + 0x110]
mov dword [esp], esi
movdqu xmm1, xmmword [eax + esi]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x40], xmm1
pmovmskb esi, xmm0
test esi, esi
jne 0x44d05c
movdqa xmm1, xmmword [esp + 0x40]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44d0e0
mov esi, dword [esp]
mov eax, dword [esp + 0xd0]
lea esi, [esi + eax + 0x10]
add eax, 0x10
and esi, dword [esp + 4]
mov dword [esp + 0xd0], eax
jmp 0x44cfe6
lea eax, [esi - 1]
and eax, esi
test ax, ax
mov esi, eax
je 0x44d010
bsf ax, si
mov edi, dword [esp + 8]
movzx eax, ax
add eax, dword [esp]
and eax, dword [esp + 4]
neg eax
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 4], edx
jne 0x44d050
push edx
push dword [edi + eax*8]
push dword [esp + 0x58]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x8c]
lea ecx, [esp + 0x17c]
add esp, 0xc
test eax, eax
jne 0x44d050
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x120]
mov edx, ebx
nop dword [eax + eax]
cmp edx, edi
je 0x44d1aa
cmp dword [edx], 0
lea ebx, [edx + 0x10]
mov edx, ebx
jne 0x44d0b0
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebx - 8]
mov edx, dword [ebx - 4]
cmp dword [ecx + 0x1c], 0
lea ecx, [esp + 0x170]
mov dword [esp + 0x50], eax
jne 0x44cf74
mov eax, edx
mov edx, dword [ebp + 0xc]
push eax
push dword [esp + 0x54]
jmp 0x44d188
or ecx, edx
je 0x44dd39
mov ebx, dword [ebp + 0x18]
mov edi, dword [esp + 0x10]
test esi, esi
jne 0x44d308
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
add eax, ecx
mov dword [esp], eax
sub esp, 4
push 0
push ebx
push edi
lea eax, [esp + 0x38]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, dword [edi]
mov esi, dword [esp + 0x28]
mov edx, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
push dword [esp + 0x34]
push esi
push 0x4ae38c
push dword [esp + 0x10]
lea eax, [esp + 0x184]
push eax
call fcn.0043bfd0
add esp, 0x18
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44d178
push 1
push eax
push esi
call fcn.00406c80
add esp, 0xc
mov eax, dword [ebp + 8]
jmp 0x44d2e4
sub esp, 4
mov edx, dword [ebp + 0xc]
push 0
push dword [ebp + 0x18]
call fcn.00450fc0
add esp, 0xc
mov dl, byte [esp + 0x188]
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0xc]
cmp dl, 0x14
jne 0x44f05c
mov ecx, dword [esp + 0xc0]
mov ebx, dword [ebp + 0x18]
mov eax, dword [ecx + 4]
cmp dword [ecx], 2
sbb eax, 0
jb 0x44c703
test byte [esi + 0x24], 2
jne 0x44c703
sub esp, 4
push 0
push ebx
mov edi, dword [esp + 0x1c]
push edi
lea eax, [esp + 0x38]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, dword [edi]
mov edx, esi
mov esi, dword [esp + 0x28]
mov edi, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edi
push eax
push dword [esp + 0x34]
push esi
push 0x4ae494
push edx
lea eax, [esp + 0x184]
push eax
call fcn.0043d860
add esp, 0x18
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44c6f3
push 1
push eax
push esi
jmp 0x44c6eb
mov edi, dword [esp + 4]
mov esi, 1
cmp edx, 1
je 0x44d250
mov eax, 0x4ae59e
mov ecx, 3
mov esi, edx
lea edx, [ebx + edi]
mov dword [esp + 0x80], eax
mov dword [esp + 0x50], edx
sub esp, 4
push 0
push dword [ebp + 0x18]
mov ebx, dword [esp + 0x1c]
push ebx
lea eax, [esp + 0x38]
push eax
mov edi, ecx
call fcn.00436cb0
add esp, 0x14
mov eax, dword [ebx]
mov edx, esi
mov esi, dword [esp + 0x28]
mov ebx, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, ebx
push eax
push dword [esp + 0x34]
push esi
push edi
push dword [esp + 0x90]
push edx
push dword [esp + 0x20]
push dword [esp + 0x1c]
push 0x4ae38c
push dword [esp + 0x74]
lea eax, [esp + 0x198]
push eax
call fcn.0043d4e0
add esp, 0x2c
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44d2de
push 1
push eax
push esi
call fcn.00406c80
add esp, 0xc
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x18]
mov dl, byte [esp + 0x188]
cmp dl, 0x14
jne 0x44f05c
mov eax, dword [esp + 0xc0]
mov esi, dword [eax + 0x1c]
lea ecx, [eax + 0x1c]
mov dword [esp + 0x110], ecx
shl esi, 2
lea edx, [esi + esi*2]
test edx, edx
je 0x44d8be
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 0x14]
add edx, eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xf0], edx
lea ebx, [eax + ecx + 0x30]
lea edi, [eax + ecx + 0x4c]
lea esi, [eax + ecx]
lea eax, [eax + ecx + 0x54]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x130], edi
mov ebx, dword [ebp + 0x18]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x120], eax
mov dword [esp + 0x40], esi
test byte [edi + 2], 1
je 0x44d388
push dword [esp + 8]
call fcn.00408da0
add esp, 4
push edx
push eax
call fcn.00468d50
add esp, 8
test eax, eax
je 0x44dd4f
mov eax, dword [esi + 0x30]
test eax, eax
cmovne eax, dword [esp + 0xd0]
je 0x44d508
mov ecx, dword [eax]
mov edi, dword [eax + 8]
mov dword [esp + 0x50], ecx
push dword [esp + 8]
call fcn.00408da0
add esp, 4
push edx
push eax
lea eax, [esp + 0x70]
push eax
call fcn.00468dd0
add esp, 0xc
test byte [esi + 0xbe], 1
mov dword [esp + 0x80], edi
jne 0x44d449
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x70]
test edx, edx
mov ebx, ecx
je 0x44d3e1
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x80]
test eax, eax
je 0x44dfda
mov dword [esp + 0xac], edx
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x50]
lea edi, [eax*8]
mov dword [esp + 0x20], ecx
mov dword [esp], esi
lea esi, [edx + 4]
jmp 0x44d42c
add esi, 8
add edi, 0xfffffff8
je 0x44d7a2
cmp ebx, dword [esi]
jne 0x44d420
push ebx
push dword [esp + 4]
push dword [esi - 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44d420
jmp 0x44d4e3
lea eax, [edi*8]
test eax, eax
je 0x44dfe8
mov eax, dword [esp + 0x68]
mov dword [esp + 0xac], eax
test eax, eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x20], eax
je 0x44d473
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x6c]
lea ecx, [edx + edi*8]
mov edi, edx
mov dword [esp], esi
mov dword [esp + 0x100], ecx
jmp 0x44d49c
add edi, 8
cmp edi, dword [esp + 0x100]
je 0x44d7a2
cmp eax, dword [edi + 4]
jne 0x44d48c
mov ebx, dword [edi]
test ebx, ebx
je 0x44d4e3
test eax, eax
je 0x44d4e3
xor esi, esi
nop dword [eax]
mov ecx, dword [esp]
movzx edx, byte [ebx + esi]
mov ch, byte [ecx + esi]
mov cl, dl
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, dl
mov dl, ch
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, ch
cmp cl, dl
jne 0x44d48c
inc esi
cmp eax, esi
jne 0x44d4b0
cmp dword [esp + 0xac], 0
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
je 0x44d508
test eax, eax
je 0x44d508
push 1
push eax
push dword [esp + 8]
call fcn.00406c80
add esp, 0xc
test byte [esi + 0xbc], 4
jne 0x44d525
push dword [esp + 8]
call fcn.00408da0
add esp, 4
test edx, edx
je 0x44d5bd
mov eax, dword [esi + 0x4c]
mov ebx, dword [esp + 0xf0]
test eax, eax
cmovne eax, dword [esp + 0x130]
je 0x44d737
mov esi, dword [eax + 4]
mov edi, dword [esi + 8]
add edi, 7
and edi, 0xfffffff8
add edi, dword [eax]
push dword [esp + 8]
call fcn.00408da0
add esp, 4
push edx
push eax
lea eax, [esp + 0x30]
push eax
call fcn.00468dd0
add esp, 0xc
cmp dword [esp + 0x28], 0
je 0x44d589
lea ecx, [esp + 0x2c]
mov eax, dword [ecx + 8]
movq xmm0, qword [ecx]
mov dword [esp + 0x70], eax
movq qword [esp + 0x68], xmm0
jmp 0x44d711
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
test ebx, ebx
je 0x44d6ee
mov dword [esp], ecx
js 0x44f1a1
push 1
push ebx
call fcn.00406c70
add esp, 8
mov ecx, dword [esp]
test eax, eax
jne 0x44d6f3
jmp 0x44f1c5
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 0
je 0x44d525
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [eax + ecx + 0x98]
mov ebx, dword [eax + ecx + 0x9c]
push ebx
mov dword [esp + 4], edx
push edx
mov esi, dword [ebp + 0x18]
push esi
call fcn.00403710
add esp, 0xc
shld edx, eax, 7
mov edi, dword [esi + 0x10]
mov ecx, eax
mov esi, dword [esi + 0x14]
mov dword [esp + 0x20], 0
mov dword [esp + 0x80], ebx
and dl, 0x7f
movzx eax, dl
movd xmm0, eax
punpcklbw xmm0, xmm0
and ecx, edi
lea edx, [esi - 0x28]
mov dword [esp + 0xac], esi
mov dword [esp + 0x50], edi
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x290], xmm0
mov eax, dword [esp + 0xac]
movdqa xmm0, xmmword [esp + 0x290]
movdqu xmm1, xmmword [eax + ecx]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x100], xmm1
pmovmskb esi, xmm0
test esi, esi
jne 0x44d6ac
movdqa xmm1, xmmword [esp + 0x100]
pcmpeqd xmm0, xmm0
mov esi, dword [esp + 0x40]
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44d525
mov eax, dword [esp + 0x20]
lea ecx, [ecx + eax + 0x10]
add eax, 0x10
mov dword [esp + 0x20], eax
and ecx, edi
jmp 0x44d63e
lea eax, [esi - 1]
and eax, esi
test ax, ax
mov esi, eax
je 0x44d668
bsf ax, si
movzx eax, ax
add eax, ecx
and eax, edi
neg eax
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 4], ebx
jne 0x44d6a0
push ebx
push dword [edx + eax*8]
push dword [esp + 8]
mov ebx, ecx
mov edi, edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, edi
mov ecx, ebx
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0x5c]
add esp, 0xc
test eax, eax
jne 0x44d6a0
jmp 0x44d83f
mov eax, 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebx
push ebx
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0xf0]
lea eax, [esp + 0x68]
push eax
push edi
lea eax, [esp + 0xb8]
push eax
call dword [esi + 0x14]
add esp, 0xc
cmp dword [esp + 0xb0], 0
jne 0x44de90
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x54]
test eax, eax
cmovne eax, dword [esp + 0x120]
je 0x44d783
mov esi, dword [eax + 4]
mov edi, dword [esi + 8]
add edi, 7
and edi, 0xfffffff8
add edi, dword [eax]
push dword [esp + 8]
call fcn.00408da0
add esp, 4
push edx
push eax
push edi
lea eax, [esp + 0x160]
push eax
call dword [esi + 0x14]
add esp, 0x10
cmp dword [esp + 0x154], 0
jne 0x44df02
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x10]
add eax, 0xc
cmp eax, ebx
mov ebx, dword [ebp + 0x18]
mov dword [esp + 8], eax
jne 0x44d364
jmp 0x44d8be
mov ebx, dword [ebp + 0x18]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x40]
movq xmm0, qword [esp + 0x68]
movq xmm1, qword [esp + 0x70]
movq qword [esp + 0x30], xmm1
movq qword [esp + 0x28], xmm0
sub esp, 4
push 0
push ebx
push edi
lea eax, [esp + 0xc0]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, edi
mov edi, dword [esp + 0xb0]
mov edx, 2
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
push dword [esp + 0xbc]
push edi
push 0x4ae38c
push esi
push dword [esp + 0x94]
push dword [esp + 0x68]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x190]
push eax
call fcn.0043c210
add esp, 0x24
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x44d8ab
push 1
push eax
push edi
jmp 0x44d8a3
sub esp, 4
push 0
mov ebx, dword [ebp + 0x18]
push ebx
mov edi, dword [esp + 0x1c]
push edi
lea eax, [esp + 0x38]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, dword [edi]
mov esi, dword [esp + 0x28]
mov edx, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
push dword [esp + 0x34]
push esi
push 0x4ae38c
push dword [esp + 0x50]
lea eax, [esp + 0x184]
push eax
call fcn.0043bfd0
add esp, 0x18
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44d8ab
push 1
push eax
push esi
call fcn.00406c80
add esp, 0xc
mov eax, dword [ebp + 8]
mov dl, byte [esp + 0x188]
cmp dl, 0x14
jne 0x44f05c
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
lea eax, [ecx + edx + 0xe4]
mov ecx, dword [ecx + edx + 0xe4]
test ecx, ecx
cmove eax, ecx
je 0x44dc9c
mov edx, dword [eax + 8]
mov esi, dword [eax]
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
shl edx, 4
add edx, esi
mov dword [esp + 0x20], edx
test eax, eax
je 0x44daf8
mov ecx, dword [esp + 0xc0]
lea eax, [eax + eax*2]
mov ecx, dword [ecx + 0x14]
lea eax, [ecx + eax*4]
mov dword [esp + 0x110], eax
mov eax, esi
nop word [eax + eax]
cmp eax, edx
je 0x44dc40
mov edi, dword [eax]
add eax, 0x10
test edi, edi
je 0x44d920
mov dword [esp + 0xac], esi
mov edx, dword [eax - 0xc]
mov esi, dword [eax - 8]
mov dword [esp + 0x150], eax
mov eax, dword [eax - 4]
mov dword [esp + 0x120], edi
mov dword [esp + 0x290], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x50], esi
mov dword [esp + 8], eax
jmp 0x44d97b
mov ecx, dword [esp + 0x80]
add ecx, 0xc
cmp ecx, dword [esp + 0x110]
je 0x44dad7
mov dword [esp + 0x80], ecx
push ecx
call fcn.00408da0
add esp, 4
cmp edx, dword [esp + 0x40]
jne 0x44d964
push dword [esp + 0x40]
push dword [esp + 0x124]
push eax
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x17c]
add esp, 0xc
test eax, eax
jne 0x44d964
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 0
je 0x44dc75
push edx
push dword [esp + 0x54]
mov edi, dword [ebp + 0x18]
push edi
call fcn.00403710
add esp, 0xc
shld edx, eax, 7
mov ecx, dword [edi + 0x10]
mov edi, dword [edi + 0x14]
mov esi, eax
mov dword [esp + 0xf0], 0
and dl, 0x7f
movzx ebx, dl
mov edx, dword [esp + 8]
movd xmm0, ebx
punpcklbw xmm0, xmm0
mov dword [esp + 0x100], edi
mov dword [esp], ecx
and esi, ecx
lea ecx, [esp + 0x170]
add edi, 0xffffffd8
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x130], xmm0
mov eax, dword [esp + 0x100]
movdqa xmm0, xmmword [esp + 0x130]
movdqu xmm1, xmmword [eax + esi]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0xd0], xmm1
pmovmskb ebx, xmm0
test ebx, ebx
jne 0x44da9c
movdqa xmm1, xmmword [esp + 0xd0]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44dc75
mov eax, dword [esp + 0xf0]
lea esi, [esi + eax + 0x10]
add eax, 0x10
and esi, dword [esp]
mov dword [esp + 0xf0], eax
jmp 0x44da24
lea eax, [ebx - 1]
and eax, ebx
test ax, ax
mov ebx, eax
je 0x44da4e
bsf ax, bx
movzx eax, ax
add eax, esi
and eax, dword [esp]
neg eax
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 4], edx
jne 0x44da90
push edx
push dword [edi + eax*8]
push dword [esp + 0x58]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x17c]
add esp, 0xc
test eax, eax
jne 0x44da90
jmp 0x44d964
mov ebx, dword [ebp + 0x18]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0xac]
mov ecx, dword [esp + 0x290]
mov eax, dword [esp + 0x150]
jmp 0x44d920
mov ecx, esi
mov eax, ecx
nop dword [eax]
cmp eax, edx
je 0x44dc40
cmp dword [eax], 0
lea ecx, [eax + 0x10]
mov eax, ecx
je 0x44db00
jmp 0x44dafa
push edx
push dword [esp + 0x54]
mov esi, dword [ebp + 0x18]
push esi
mov dword [esp + 0x8c], edx
call fcn.00403710
add esp, 0xc
shld edx, eax, 7
mov ecx, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
mov esi, eax
mov dword [esp + 0xd0], 0
and dl, 0x7f
movzx eax, dl
mov edx, dword [esp + 0x80]
movd xmm0, eax
punpcklbw xmm0, xmm0
mov dword [esp + 0xf0], ebx
mov dword [esp + 8], ecx
and esi, ecx
lea ecx, [esp + 0x170]
add ebx, 0xffffffd8
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x110], xmm0
mov eax, dword [esp + 0xf0]
movdqa xmm0, xmmword [esp + 0x110]
mov dword [esp], esi
movdqu xmm1, xmmword [eax + esi]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x40], xmm1
pmovmskb esi, xmm0
test esi, esi
jne 0x44dbfc
movdqa xmm1, xmmword [esp + 0x40]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44dc69
mov esi, dword [esp]
mov eax, dword [esp + 0xd0]
lea esi, [esi + eax + 0x10]
add eax, 0x10
and esi, dword [esp + 8]
mov dword [esp + 0xd0], eax
jmp 0x44db82
lea eax, [esi - 1]
and eax, esi
test ax, ax
mov esi, eax
je 0x44dbac
bsf ax, si
movzx eax, ax
add eax, dword [esp]
and eax, dword [esp + 8]
neg eax
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 4], edx
jne 0x44dbf0
push edx
push dword [ebx + eax*8]
push dword [esp + 0x58]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esp + 0x8c]
lea ecx, [esp + 0x17c]
add esp, 0xc
test eax, eax
jne 0x44dbf0
mov ebx, dword [ebp + 0x18]
mov edx, dword [esp + 0x20]
mov esi, edi
cmp esi, edx
je 0x44dc9c
cmp dword [esi], 0
lea edi, [esi + 0x10]
mov esi, edi
jne 0x44dc40
mov eax, dword [edi - 8]
mov edx, dword [edi - 4]
cmp dword [ebx + 0x1c], 0
lea ecx, [esp + 0x170]
mov dword [esp + 0x50], eax
jne 0x44db14
mov eax, edx
mov edx, dword [ebp + 0xc]
push eax
push dword [esp + 0x54]
jmp 0x44dc7d
sub esp, 4
mov edx, dword [ebp + 0xc]
push 0
mov ebx, dword [ebp + 0x18]
push ebx
call fcn.00450fc0
add esp, 0xc
mov dl, byte [esp + 0x188]
mov eax, dword [ebp + 8]
cmp dl, 0x14
jne 0x44f05c
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + 4]
cmp dword [ecx], 2
sbb eax, 0
jb 0x44c703
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
test byte [eax + ecx + 0xbc], 2
jne 0x44c703
mov esi, dword [esp + 0xc]
add esi, dword [esp + 4]
sub esp, 4
push 0
push ebx
mov edi, dword [esp + 0x1c]
push edi
lea eax, [esp + 0x38]
push eax
call fcn.00436cb0
add esp, 0x14
mov ecx, dword [esp + 0x28]
mov eax, dword [edi]
mov edx, 2
mov edi, ecx
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
push dword [esp + 0x34]
push edi
push 0x4ae38c
push esi
lea eax, [esp + 0x184]
push eax
call fcn.0043d860
add esp, 0x18
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44c6f3
push 1
push eax
push edi
jmp 0x44c6eb
mov ebx, dword [ebp + 0x18]
shl esi, 2
lea edx, [esi + esi*2]
test edx, edx
jne 0x44d316
jmp 0x44d8be
sub esp, 4
push 0
push ebx
push edi
lea eax, [esp + 0x330]
push eax
call fcn.00436cb0
add esp, 0x14
mov ecx, dword [edi]
mov esi, dword [esp + 0x320]
mov edi, dword [esp + 0x328]
mov edx, 2
mov eax, ecx
mov dword [esp + 0x318], esi
mov dword [esp + 0x31c], edi
shr eax, 0x17
and al, 1
test ecx, 0x2000000
movzx eax, al
cmovne eax, edx
push eax
push 1
call fcn.00435900
add esp, 8
xor ecx, ecx
cmp al, 2
mov dword [esp + 0x158], str.error:
mov dword [esp + 0x15c], 6
mov dword [esp + 0xb4], 0x4ad394
mov dword [esp + 0xb8], 6
mov dword [esp + 0x28], 0x4ad674
mov dword [esp + 0x2c], 3
mov dword [esp + 0x30], 0
setae cl
lea eax, [ecx + ecx*2]
mov dword [esp + 0x154], eax
mov eax, 3
sbb eax, 0
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x154]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x318]
mov dword [esp + 0x6c], 0x435b10
mov dword [esp + 0x70], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0x74], 0x403db0
mov dword [esp + 0x78], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x7c], 0x435b10
mov dword [esp + 0x38], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x3c], 3
push eax
lea eax, [esp + 0x174]
push eax
call fcn.00474030
add esp, 8
mov eax, dword [esp + 0x324]
mov byte [esp + 0x188], 0xe
mov dword [esp + 0x17c], 0
test eax, eax
jne 0x44d89f
jmp 0x44d8ab
mov eax, dword [esp + 0xb8]
movq xmm0, qword [esp + 0xb0]
mov edx, 2
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
movq qword [esp + 0x28], xmm0
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
lea eax, [esp + 0x2c]
push eax
push 0x4ae38c
push dword [esp + 0x4c]
lea eax, [esp + 0x180]
push eax
call fcn.0043d2e0
add esp, 0x14
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x18]
mov dl, byte [esp + 0x188]
cmp dl, 0x14
je 0x44d8be
jmp 0x44f05c
mov eax, dword [esp + 0x15c]
movq xmm0, qword [esp + 0x154]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb0]
movq qword [esp + 0xb0], xmm0
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
lea eax, [esp + 0x30]
push eax
call fcn.00468dd0
add esp, 0xc
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
test ebx, ebx
mov esi, edi
je 0x44df53
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
test esi, esi
mov dword [esp], eax
je 0x44dff1
js 0x44f1a1
push 1
push esi
call fcn.00406c70
add esp, 8
test eax, eax
jne 0x44dff6
jmp 0x44af82
xor esi, 1
or esi, ebx
jne 0x44e0e0
mov ebx, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
test byte [ecx + 0xc4], 2
jne 0x44e085
mov eax, dword [esp + 0xc0]
mov edx, dword [eax + 0x1c]
mov eax, ebx
xor eax, edx
or eax, edi
je 0x44e0e0
mov dword [esp + 8], edi
mov edi, dword [esp + 0x10]
cmp edx, 1
jne 0x44e306
mov dword [esp], str.asere
mov dword [esp + 4], 2
mov esi, 1
jmp 0x44e317
mov ebx, dword [ebp + 0x18]
mov dword [esp + 0x80], 0
mov edi, dword [esp + 0x10]
jmp 0x44d7ad
mov eax, 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], esi
push esi
push dword [esp + 4]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x10]
mov dword [esp + 0x70], esi
mov edx, 2
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
lea eax, [esp + 0x6c]
push eax
push 0x4ae38c
push dword [esp + 0x4c]
lea eax, [esp + 0x180]
push eax
call fcn.0043d2e0
add esp, 0x14
test ebx, ebx
je 0x44e064
test edi, edi
je 0x44e064
push 1
push edi
push dword [esp + 8]
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 0xb4]
mov ebx, dword [ebp + 0x18]
test eax, eax
je 0x44d8ab
push 1
push eax
push dword [esp + 0xb8]
jmp 0x44d8a3
mov eax, ebx
or eax, edi
je 0x44f16e
mov eax, dword [esp + 0xc0]
mov esi, dword [eax + 0x1c]
push edi
push ebx
push 0
push esi
call fcn.0047be50
mov ecx, dword [esp + 0x40]
or edx, eax
je 0x44e0e0
test ebx, ebx
mov dword [esp + 8], edi
je 0x44f175
mov eax, esi
xor edx, edx
div ebx
cmp esi, 1
mov dword [esp], str.asere
mov dword [esp + 4], 2
jne 0x44e2f8
mov edi, dword [esp + 0x10]
mov esi, edx
jmp 0x44e317
mov eax, dword [ecx + 0x10]
mov edx, dword [esp + 0xc0]
xor eax, 1
or eax, dword [ecx + 0x14]
jne 0x44e1c3
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x40]
mov ecx, dword [eax + 0x1c]
mov eax, dword [edx + 0x1c]
cmp dword [esi + 0x18], eax
sbb ecx, 0
mov ecx, dword [esp + 0x40]
jae 0x44e1c3
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x44f1a8
add eax, dword [edx + 0x14]
add eax, 0xfffffff4
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
call fcn.00468d50
add esp, 8
test eax, eax
mov dword [esp], edx
je 0x44f1af
mov esi, eax
sub esp, 4
push 0
mov ebx, dword [ebp + 0x18]
push ebx
mov edi, dword [esp + 0x1c]
push edi
lea eax, [esp + 0x38]
push eax
call fcn.00436cb0
add esp, 0x14
mov ecx, dword [esp + 0x28]
mov eax, dword [edi]
mov edx, 2
mov edi, ecx
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
push dword [esp + 0x34]
push edi
push 0x4ae408
push dword [esp + 0x50]
push dword [esp + 0x14]
push esi
lea eax, [esp + 0x18c]
push eax
call fcn.0043cc80
add esp, 0x20
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44e1bb
push 1
push eax
push edi
call fcn.00406c80
add esp, 0xc
mov eax, dword [ebp + 8]
jmp 0x44e394
mov eax, dword [ecx + 0x20]
mov esi, dword [edx + 0x1c]
xor eax, 1
or eax, dword [ecx + 0x24]
jne 0x44e263
mov edi, dword [ecx + 0x28]
mov ebx, dword [ecx + 0x2c]
mov eax, 0
cmp esi, edi
sbb eax, ebx
jae 0x44e274
sub esp, 4
push 0
push dword [ebp + 0x18]
push dword [esp + 0x1c]
lea eax, [esp + 0x38]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
mov ecx, 2
cmovne eax, ecx
push eax
push dword [esp + 0x34]
mov dword [esp + 8], edx
push edx
push esi
push ebx
push edi
push 0x4ae408
push dword [esp + 0x5c]
lea eax, [esp + 0x190]
push eax
call fcn.0043cf50
add esp, 0x24
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44e38e
push 1
push eax
push dword [esp + 8]
jmp 0x44e386
mov ebx, dword [ebp + 0x18]
mov edi, dword [esp + 0x10]
test esi, esi
jne 0x44e3a8
jmp 0x44e28b
or edi, ebx
mov ebx, dword [ebp + 0x18]
mov edi, dword [esp + 0x10]
je 0x44e3a8
test esi, esi
jne 0x44e3a8
sub esp, 4
push 0
push ebx
push edi
lea eax, [esp + 0x38]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, dword [edi]
mov esi, dword [esp + 0x28]
mov edx, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
push dword [esp + 0x34]
push esi
push 0x4ae408
push dword [esp + 0x50]
lea eax, [esp + 0x184]
push eax
call fcn.0043bfd0
add esp, 0x18
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44e2f0
push 1
push eax
push esi
call fcn.00406c80
add esp, 0xc
mov eax, dword [ebp + 8]
jmp 0x44e398
mov edi, dword [esp + 0x10]
mov esi, 1
cmp edx, 1
je 0x44e317
mov esi, edx
mov dword [esp], 0x4ae59e
mov dword [esp + 4], 3
sub esp, 4
push 0
push dword [ebp + 0x18]
push edi
lea eax, [esp + 0x38]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, edi
mov edi, dword [esp + 0x28]
mov edx, 2
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
push dword [esp + 0x34]
push edi
push dword [esp + 0x10]
push dword [esp + 0x10]
push esi
push dword [esp + 0x20]
push ebx
push 0x4ae408
push dword [esp + 0x64]
lea eax, [esp + 0x198]
push eax
call fcn.0043d4e0
add esp, 0x2c
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44e38e
push 1
push eax
push edi
call fcn.00406c80
add esp, 0xc
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x18]
mov edi, dword [esp + 0x10]
mov dl, byte [esp + 0x188]
cmp dl, 0x14
jne 0x44eeed
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + 4]
cmp dword [ecx], 2
mov ecx, dword [esp + 0x40]
sbb eax, 0
jb 0x44e447
test byte [ecx + 0xc4], 2
jne 0x44e447
sub esp, 4
push 0
push ebx
push edi
lea eax, [esp + 0x38]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, dword [edi]
mov esi, dword [esp + 0x28]
mov edx, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
push dword [esp + 0x34]
push esi
push 0x4ae408
push dword [esp + 0x50]
lea eax, [esp + 0x184]
push eax
call fcn.0043d860
add esp, 0x18
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44e430
push 1
push eax
push esi
call fcn.00406c80
add esp, 0xc
mov dl, byte [esp + 0x188]
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x40]
cmp dl, 0x14
jne 0x44eeed
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
mov dword [esp + 0x80], eax
je 0x44eb64
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 0x14]
add dword [esp + 0x80], eax
mov dword [esp + 4], eax
lea eax, [ecx + 0x30]
mov dword [esp + 0xd0], eax
lea eax, [ecx + 0x4c]
mov dword [esp + 0xf0], eax
lea eax, [ecx + 0x54]
mov dword [esp + 0x110], eax
test byte [edi + 2], 1
je 0x44e4c1
push dword [esp + 4]
call fcn.00408da0
add esp, 4
push edx
push eax
call fcn.00468d50
mov ecx, dword [esp + 0x48]
add esp, 8
test eax, eax
je 0x44e907
mov edx, dword [esp + 0xd0]
mov eax, dword [edx]
test eax, eax
cmovne eax, edx
je 0x44e61e
mov esi, dword [eax]
mov ebx, dword [eax + 8]
push dword [esp + 4]
call fcn.00408da0
add esp, 4
push edx
push eax
lea eax, [esp + 0x70]
push eax
call fcn.00468dd0
add esp, 0xc
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], esi
mov dword [esp + 0x130], ebx
test byte [eax + 0xc6], 1
jne 0x44e56e
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x70]
test eax, eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x50], edi
je 0x44e528
mov edi, dword [esp + 0x74]
test ebx, ebx
je 0x44eaa2
mov ecx, dword [esp + 0x6c]
mov eax, ebx
lea ebx, [esi + 4]
lea esi, [eax*8]
mov dword [esp], ecx
jmp 0x44e551
add ebx, 8
add esi, 0xfffffff8
je 0x44eaad
cmp edi, dword [ebx]
jne 0x44e545
push edi
push dword [esp + 4]
push dword [ebx - 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44e545
jmp 0x44e5f9
lea eax, [ebx*8]
test eax, eax
je 0x44eaad
mov eax, dword [esp + 0x68]
mov dword [esp + 0x100], eax
test eax, eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x50], eax
je 0x44e598
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
lea ecx, [esi + ebx*8]
mov dword [esp + 8], ecx
mov dword [esp], edx
jmp 0x44e5b5
add esi, 8
cmp esi, dword [esp + 8]
je 0x44eaad
cmp eax, dword [esi + 4]
jne 0x44e5a8
mov edi, dword [esi]
test edi, edi
je 0x44e5f9
test eax, eax
je 0x44e5f9
xor ebx, ebx
mov ecx, dword [esp]
movzx edx, byte [edi + ebx]
mov ch, byte [ecx + ebx]
mov cl, dl
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, dl
mov dl, ch
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, ch
cmp cl, dl
jne 0x44e5a8
inc ebx
cmp eax, ebx
jne 0x44e5c6
cmp dword [esp + 0x100], 0
mov eax, dword [esp + 0x50]
je 0x44e61a
test eax, eax
je 0x44e61a
push 1
push eax
push dword [esp + 8]
call fcn.00406c80
add esp, 0xc
mov ecx, dword [esp + 0x40]
test byte [ecx + 0xc4], 4
jne 0x44e63f
push dword [esp + 4]
call fcn.00408da0
mov ecx, dword [esp + 0x44]
add esp, 4
test edx, edx
je 0x44e6ce
mov edx, dword [esp + 0xf0]
mov eax, dword [edx]
test eax, eax
cmovne eax, edx
je 0x44e831
mov esi, dword [eax + 4]
mov edi, dword [esi + 8]
add edi, 7
and edi, 0xfffffff8
add edi, dword [eax]
push dword [esp + 4]
call fcn.00408da0
add esp, 4
push edx
push eax
lea eax, [esp + 0x30]
push eax
call fcn.00468dd0
add esp, 0xc
cmp dword [esp + 0x28], 0
je 0x44e69d
lea ecx, [esp + 0x2c]
mov eax, dword [ecx + 8]
movq xmm0, qword [ecx]
mov dword [esp + 0x70], eax
movq qword [esp + 0x68], xmm0
jmp 0x44e80b
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
test ebx, ebx
mov dword [esp], eax
je 0x44e7ec
js 0x44f1a1
push 1
push ebx
call fcn.00406c70
add esp, 8
test eax, eax
jne 0x44e7f1
jmp 0x44f1c5
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 0
je 0x44e63f
mov ebx, dword [ecx + 0xa4]
mov eax, dword [ecx + 0xa0]
push ebx
mov dword [esp + 0xc], eax
push eax
mov esi, dword [ebp + 0x18]
push esi
call fcn.00403710
add esp, 0xc
shld edx, eax, 7
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x130], 0
and dl, 0x7f
movzx esi, dl
movd xmm0, esi
punpcklbw xmm0, xmm0
and eax, edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x50], edi
pshuflw xmm0, xmm0, 0
mov edx, eax
lea eax, [ecx - 0x28]
pshufd xmm0, xmm0, 0
mov dword [esp], eax
movdqa xmmword [esp + 0x120], xmm0
mov eax, dword [esp + 0xc]
movdqa xmm0, xmmword [esp + 0x120]
movdqu xmm1, xmmword [eax + edx]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x100], xmm1
pmovmskb esi, xmm0
test esi, esi
jne 0x44e7ae
movdqa xmm1, xmmword [esp + 0x100]
pcmpeqd xmm0, xmm0
mov ecx, dword [esp + 0x40]
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44e63f
mov eax, dword [esp + 0x130]
lea edx, [edx + eax + 0x10]
add eax, 0x10
mov dword [esp + 0x130], eax
and edx, edi
jmp 0x44e741
lea eax, [esi - 1]
and eax, esi
test ax, ax
mov esi, eax
je 0x44e768
bsf ax, si
mov ecx, dword [esp]
movzx eax, ax
add eax, edx
and eax, edi
neg eax
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 4], ebx
jne 0x44e7a2
push ebx
push dword [ecx + eax*8]
push dword [esp + 0x10]
mov edi, ebx
mov ebx, edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, ebx
mov ebx, edi
mov edi, dword [esp + 0x5c]
add esp, 0xc
test eax, eax
jne 0x44e7a2
jmp 0x44e8a6
mov eax, 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebx
push ebx
push dword [esp + 4]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x70], ebx
lea eax, [esp + 0x68]
push eax
push edi
lea eax, [esp + 0xb8]
push eax
call dword [esi + 0x14]
add esp, 0xc
cmp dword [esp + 0xb0], 0
jne 0x44e966
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x110]
mov edi, dword [esp + 0x10]
mov eax, dword [edx]
test eax, eax
cmovne eax, edx
je 0x44e886
mov esi, dword [eax + 4]
mov edi, dword [esi + 8]
add edi, 7
and edi, 0xfffffff8
add edi, dword [eax]
push dword [esp + 4]
call fcn.00408da0
add esp, 4
push edx
push eax
push edi
lea eax, [esp + 0x160]
push eax
call dword [esi + 0x14]
add esp, 0x10
cmp dword [esp + 0x154], 0
jne 0x44e9c8
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 4]
mov ebx, dword [ebp + 0x18]
add eax, 0xc
cmp eax, dword [esp + 0x80]
mov dword [esp + 4], eax
jne 0x44e499
jmp 0x44eb64
sub esp, 4
push 0
mov ebx, dword [ebp + 0x18]
push ebx
mov edi, dword [esp + 0x1c]
push edi
lea eax, [esp + 0x38]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, dword [edi]
mov esi, dword [esp + 0x28]
mov edx, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
push dword [esp + 0x34]
push esi
push 0x4ae408
push dword [esp + 0x50]
lea eax, [esp + 0x184]
push eax
call fcn.0043bfd0
add esp, 0x18
mov eax, dword [esp + 0x2c]
jmp 0x44eb3d
sub esp, 4
push 0
push dword [ebp + 0x18]
push edi
lea eax, [esp + 0x38]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, dword [edi]
mov esi, dword [esp + 0x28]
mov edx, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
push dword [esp + 0x34]
push esi
lea eax, [esp + 0x17c]
push eax
call fcn.0043cba0
add esp, 0x10
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44ea9a
push 1
push eax
push esi
jmp 0x44ea92
mov eax, dword [esp + 0xb8]
movq xmm0, qword [esp + 0xb0]
mov edx, 2
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
movq qword [esp + 0x28], xmm0
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
lea eax, [esp + 0x2c]
push eax
push 0x4ae408
mov esi, dword [esp + 0x4c]
push esi
lea eax, [esp + 0x180]
push eax
call fcn.0043d2e0
mov ecx, esi
add esp, 0x14
mov ebx, dword [ebp + 0x18]
jmp 0x44eb51
mov eax, dword [esp + 0x15c]
movq xmm0, qword [esp + 0x154]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb0]
movq qword [esp + 0xb0], xmm0
push eax
call fcn.00408da0
add esp, 4
push edx
push eax
lea eax, [esp + 0x30]
push eax
call fcn.00468dd0
add esp, 0xc
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
test ebx, ebx
mov eax, esi
je 0x44ea19
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x2c]
push eax
push edi
lea eax, [esp + 0x70]
push eax
call fcn.00419a10
add esp, 0xc
mov eax, dword [esp + 0x10]
mov edx, 2
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
lea eax, [esp + 0x6c]
push eax
push 0x4ae408
push dword [esp + 0x4c]
lea eax, [esp + 0x180]
push eax
call fcn.0043d2e0
add esp, 0x14
test ebx, ebx
je 0x44ea7d
test esi, esi
je 0x44ea7d
push 1
push esi
push edi
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x44ea9a
push 1
push eax
push dword [esp + 0xb8]
call fcn.00406c80
add esp, 0xc
mov ebx, dword [ebp + 0x18]
jmp 0x44eb4d
mov dword [esp + 0x130], 0
movq xmm0, qword [esp + 0x68]
movq xmm1, qword [esp + 0x70]
movq qword [esp + 0x30], xmm1
movq qword [esp + 0x28], xmm0
sub esp, 4
push 0
mov ebx, dword [ebp + 0x18]
push ebx
mov edi, dword [esp + 0x1c]
push edi
lea eax, [esp + 0xc0]
push eax
call fcn.00436cb0
add esp, 0x14
mov eax, dword [edi]
mov esi, dword [esp + 0xb0]
mov edx, 2
mov ecx, eax
shr ecx, 0x17
and cl, 1
test eax, 0x2000000
movzx eax, cl
cmovne eax, edx
push eax
push dword [esp + 0xbc]
push esi
push 0x4ae408
push dword [esp + 0x50]
push dword [esp + 0x144]
push dword [esp + 0x24]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x190]
push eax
call fcn.0043c210
add esp, 0x24
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x44eb4d
push 1
push eax
push esi
call fcn.00406c80
add esp, 0xc
mov ecx, dword [esp + 0x40]
mov dl, byte [esp + 0x188]
mov eax, dword [ebp + 8]
cmp dl, 0x14
jne 0x44f05c
mov eax, dword [ecx + 0xec]
add ecx, 0xec
test eax, eax
cmove ecx, eax
je 0x44c703
mov edx, dword [ecx + 8]
mov esi, dword [ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + 0x1c]
shl edx, 4
add edx, esi
mov dword [esp + 0x100], edx
test eax, eax
je 0x44ed65
mov ecx, dword [ecx + 0x14]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov dword [esp + 0x40], eax
mov eax, esi
cmp eax, edx
je 0x44ee83
mov edi, dword [eax]
add eax, 0x10
test edi, edi
je 0x44ebad
mov dword [esp + 0x130], esi
mov edx, dword [eax - 0xc]
mov esi, dword [eax - 8]
mov dword [esp + 0x120], eax
mov eax, dword [eax - 4]
mov dword [esp + 0x110], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 4], esi
mov dword [esp], eax
jmp 0x44ebfe
mov ecx, dword [esp + 0x50]
add ecx, 0xc
cmp ecx, dword [esp + 0x40]
je 0x44ed44
mov dword [esp + 0x50], ecx
push ecx
call fcn.00408da0
add esp, 4
cmp edx, dword [esp + 0x10]
jne 0x44ebed
push dword [esp + 0x10]
push dword [esp + 0x114]
push eax
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esp + 0xc]
add esp, 0xc
test eax, eax
jne 0x44ebed
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 0
je 0x44eebf
push ecx
push dword [esp + 8]
mov edi, dword [ebp + 0x18]
push edi
call fcn.00403710
mov ecx, dword [esp + 0xc]
add esp, 0xc
shld edx, eax, 7
mov esi, dword [edi + 0x10]
mov ebx, dword [edi + 0x14]
mov dword [esp + 0xc0], 0
and dl, 0x7f
movzx edi, dl
movd xmm0, edi
punpcklbw xmm0, xmm0
and eax, esi
mov edx, esi
lea edi, [ebx - 0x28]
mov dword [esp + 0xd0], ebx
pshuflw xmm0, xmm0, 0
mov esi, eax
mov dword [esp + 8], edi
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0xf0], xmm0
mov eax, dword [esp + 0xd0]
movdqa xmm0, xmmword [esp + 0xf0]
movdqu xmm1, xmmword [eax + esi]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x80], xmm1
pmovmskb ebx, xmm0
test ebx, ebx
jne 0x44ed05
movdqa xmm1, xmmword [esp + 0x80]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44eebf
mov eax, dword [esp + 0xc0]
lea esi, [esi + eax + 0x10]
add eax, 0x10
mov dword [esp + 0xc0], eax
and esi, edx
jmp 0x44ec99
lea eax, [ebx - 1]
and eax, ebx
test ax, ax
mov ebx, eax
je 0x44ecc3
bsf ax, bx
movzx eax, ax
add eax, esi
and eax, edx
neg eax
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 4], ecx
jne 0x44ecf9
push ecx
push dword [edi + eax*8]
push dword [esp + 0xc]
mov edi, esi
mov esi, edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, esi
mov esi, edi
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
add esp, 0xc
test eax, eax
jne 0x44ecf9
jmp 0x44ebed
mov ebx, dword [ebp + 0x18]
mov edx, dword [esp + 0x100]
mov esi, dword [esp + 0x130]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x120]
jmp 0x44ebad
mov ecx, esi
mov eax, ecx
cmp eax, edx
je 0x44ee83
cmp dword [eax], 0
lea ecx, [eax + 0x10]
mov eax, ecx
je 0x44ed69
jmp 0x44ed67
push ecx
push dword [esp + 4]
mov esi, dword [ebp + 0x18]
push esi
mov dword [esp + 0x10], ecx
call fcn.00403710
mov ecx, dword [esp + 0x10]
add esp, 0xc
shld edx, eax, 7
mov ebx, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov dword [esp + 0x10], 0
and dl, 0x7f
movzx esi, dl
movd xmm0, esi
punpcklbw xmm0, xmm0
and eax, ebx
mov dword [esp + 0x80], edi
add edi, 0xffffffd8
pshuflw xmm0, xmm0, 0
mov edx, eax
mov dword [esp + 8], edi
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0xc0], xmm0
mov eax, dword [esp + 0x80]
movdqa xmm0, xmmword [esp + 0xc0]
movdqu xmm1, xmmword [eax + edx]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x50], xmm1
pmovmskb esi, xmm0
test esi, esi
jne 0x44ee3b
movdqa xmm1, xmmword [esp + 0x50]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44eeac
mov eax, dword [esp + 0x10]
lea edx, [edx + eax + 0x10]
add eax, 0x10
mov dword [esp + 0x10], eax
and edx, ebx
jmp 0x44eddb
lea eax, [esi - 1]
and eax, esi
test ax, ax
mov esi, eax
je 0x44ee02
bsf ax, si
movzx eax, ax
add eax, edx
and eax, ebx
neg eax
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 4], ecx
jne 0x44ee2f
push ecx
push dword [edi + eax*8]
push dword [esp + 8]
mov edi, ebx
mov ebx, edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, ebx
mov ebx, edi
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x44ee2f
mov esi, dword [esp + 0x40]
mov ebx, dword [ebp + 0x18]
mov edx, dword [esp + 0x100]
cmp esi, edx
je 0x44c703
cmp dword [esi], 0
lea ecx, [esi + 0x10]
mov esi, ecx
jne 0x44ee83
mov eax, dword [ecx - 8]
mov dword [esp + 0x40], ecx
mov ecx, dword [ecx - 4]
cmp dword [ebx + 0x1c], 0
mov dword [esp], eax
jne 0x44ed7d
mov edx, dword [ebp + 0xc]
mov eax, ecx
lea ecx, [esp + 0x170]
push eax
push dword [esp + 4]
jmp 0x44eece
sub esp, 4
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x174]
push 0
mov ebx, dword [ebp + 0x18]
push ebx
call fcn.00450fc0
add esp, 0xc
mov dl, byte [esp + 0x188]
mov eax, dword [ebp + 8]
cmp dl, 0x14
je 0x44c703
movq xmm0, qword [esp + 0x180]
movsd xmm2, qword [esp + 0x170]
movq xmm1, qword [esp + 0x178]
movzx ecx, word [esp + 0x189]
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0x98], xmm1
movsd qword [esp + 0x90], xmm2
mov word [esp + 0xa9], cx
mov ch, byte [esp + 0x18b]
mov byte [esp + 0xab], ch
jmp 0x44f110
sub esp, 4
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x94]
push 0
mov ebx, dword [ebp + 0x18]
push ebx
call fcn.00450fc0
add esp, 0xc
mov dl, byte [esp + 0xa8]
mov eax, dword [ebp + 8]
cmp dl, 0x14
jne 0x44f110
push 0
push 0x4ae278
mov eax, dword [ebp + 0xc]
push dword [eax]
lea eax, [esp + 0x17c]
push eax
call fcn.00436be0
add esp, 0x10
mov eax, dword [ebx + 0x24]
lea esi, [ebx + 0x24]
test eax, eax
je 0x44efad
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x44efad
push 1
push ecx
push eax
call fcn.00406c80
add esp, 0xc
mov eax, dword [esp + 0x178]
movsd xmm0, qword [esp + 0x170]
mov dword [esi + 8], eax
mov eax, dword [ebp + 8]
movsd qword [esi], xmm0
mov byte [eax + 0x18], 0x14
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
test edx, edx
je 0x44efea
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x44efea
push 1
push ecx
push edx
call fcn.00406c80
mov eax, dword [ebp + 8]
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
movq xmm0, qword [esp + 0x180]
movsd xmm2, qword [esp + 0x170]
movq xmm1, qword [esp + 0x178]
movzx ecx, word [esp + 0x189]
movq qword [eax + 0x10], xmm0
movq qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov word [eax + 0x19], cx
mov ch, byte [esp + 0x18b]
mov byte [eax + 0x1b], ch
mov ecx, dword [esp + 0x94]
mov byte [eax + 0x18], dl
test ecx, ecx
je 0x44efcb
push 1
push ecx
push dword [esp + 0x98]
call fcn.00406c80
mov eax, dword [ebp + 8]
add esp, 0xc
jmp 0x44efcb
movq xmm0, qword [esp + 0x180]
movsd xmm2, qword [esp + 0x170]
movq xmm1, qword [esp + 0x178]
movzx ecx, word [esp + 0x189]
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0x98], xmm1
movsd qword [esp + 0x90], xmm2
mov word [esp + 0xa9], cx
mov ch, byte [esp + 0x18b]
mov byte [esp + 0xab], ch
jmp 0x44f109
movq xmm0, qword [esp + 0x180]
movsd xmm2, qword [esp + 0x170]
movq xmm1, qword [esp + 0x178]
movzx ecx, word [esp + 0x189]
mov al, byte [esp + 0x18b]
movq qword [esp + 0xa0], xmm0
movq qword [esp + 0x98], xmm1
movsd qword [esp + 0x90], xmm2
mov word [esp + 0xa9], cx
mov byte [esp + 0xab], al
mov eax, dword [ebp + 8]
mov byte [esp + 0xa8], dl
movsd xmm0, qword [esp + 0xa0]
movsd xmm2, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x98]
movzx ecx, word [esp + 0xa9]
movsd qword [eax + 0x10], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov word [eax + 0x19], cx
mov cl, byte [esp + 0xab]
jmp 0x44c51c
push 0x4ae37c
jmp 0x44f15d
push 0x4ae528
push 0x63
push 0x4ae316
call fcn.00480510
add esp, 0xc
ud2
push 0x4ae538
jmp 0x44f17a
push 0x4ae58c
push 0x39
push str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
call fcn.00480530
add esp, 0xc
ud2
push 0x4ae518
push 0x2b
push 0x4ae278
call fcn.00480530
add esp, 0xc
ud2
call fcn.00473a80
ud2
push 0x4ae5a4
jmp 0x44f15d
push 0x4ae5d8
push 0x23
push str.unexpected_invalid_UTF_8_code_point
call fcn.00480510
add esp, 0xc
ud2
push 1
push ebx
call fcn.004804a0
add esp, 8
ud2