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

Disassembly:
sub esp, 0x114
push ebx
mov ebx, dword [esp + 0x128]
push ebp
mov ebp, dword [esp + 0x120]
cmp dword [ebp + 0x75f8], 1
push esi
lea ecx, [edx + eax]
push edi
mov dword [esp + 0x7c], ecx
jne 0x448d00
mov eax, dword [ebp + 0x75f0]
jmp 0x448d10
mov ecx, dword [esp + 0x130]
mov eax, dword [esp + 0x12c]
add eax, ecx
mov esi, dword [esp + 0x12c]
mov edi, dword [ebp + 0x7574]
mov ecx, dword [ebp + 0x75f4]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x74b0]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x74b4]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0x74b8]
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
test ebx, ebx
je 0x44a8e2
cmp ebx, 8
mov dword [esp + 0xb0], ebx
jl 0x448d73
mov dword [esp + 0xb0], 8
mov dword [ebp + 0x7508], 1
mov ecx, dword [ebp + 0x682c]
mov eax, dword [ebp + 0x6830]
mov dword [esp + 0x70], ecx
mov ecx, dword [ebp + 0x6834]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x44]
sub eax, edx
push ecx
call fcn.004417a0
add esp, 4
cmp eax, 0xffffff88
jbe 0x448dc3
mov eax, 0xffffffec
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov edx, dword [ebp]
push edx
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x4c]
call fcn.00446a70
mov ecx, dword [ebp + 8]
push ecx
lea edx, [esp + 0x6c]
push edx
call fcn.00446a70
mov eax, dword [ebp + 4]
push eax
lea ecx, [esp + 0x7c]
push ecx
lea eax, [esp + 0x5c]
call fcn.00446a70
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
lea edx, [esp + 0xdc]
add esp, 0x18
mov dword [esp + 0x40], 0
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x50]
cmp esi, 0x20
ja 0x4492ba
cmp edi, dword [esp + 0x54]
jb 0x448e48
mov eax, esi
shr eax, 3
sub edi, eax
mov eax, dword [edi]
and esi, 7
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
jmp 0x448e92
cmp edi, ecx
je 0x448e92
mov eax, esi
shr eax, 3
mov edx, edi
sub edx, eax
mov dword [esp + 0x7c], 0
cmp edx, ecx
jae 0x448e6c
mov eax, edi
sub eax, ecx
mov edx, 1
jmp 0x448e70
mov edx, dword [esp + 0x7c]
sub edi, eax
neg eax
lea esi, [esi + eax*8]
mov eax, dword [edi]
cmp edx, 2
mov edx, dword [esp + 0x58]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
jg 0x4492ba
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0xb0]
jge 0x4492d0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx + eax*8 + 4]
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
mov edi, dword [eax + ebx*8 + 4]
movzx eax, byte [ebp + edx*8 + 2]
mov byte [esp + 0x37], al
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x90], ecx
mov ecx, dword [ebp + edx*8 + 4]
mov ebp, dword [esp + 0x68]
movzx eax, byte [eax + ebp*8 + 2]
mov ebp, dword [esp + 0x5c]
movzx edx, word [ebp + edx*8]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x6c]
movzx edx, word [edx + ebp*8]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x64]
movzx edx, word [edx + ebx*8]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + ebp*8 + 3]
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x68]
movzx edx, byte [ebp + edx*8 + 3]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x64]
movzx edx, byte [edx + ebx*8 + 3]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x64]
mov al, byte [eax + ebx*8 + 2]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x88], edx
cmp al, 1
jbe 0x44906c
cmp dword [esp + 0x138], 0
je 0x448fef
cmp al, 0x19
jb 0x448fef
mov ebx, dword [esp + 0x44]
movzx edx, al
mov ecx, esi
and ecx, 0x1f
sub edx, 5
mov eax, ebx
shl eax, cl
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
add esi, edx
shl eax, 5
add eax, edi
mov edi, dword [esp + 0x4c]
mov ebp, eax
cmp esi, 0x20
ja 0x448fd8
cmp edi, dword [esp + 0x54]
jb 0x448fae
mov eax, esi
shr eax, 3
sub edi, eax
and esi, 7
jmp 0x448fce
mov eax, dword [esp + 0x50]
cmp edi, eax
je 0x448fd8
mov ecx, esi
shr ecx, 3
mov edx, edi
sub edx, ecx
cmp edx, eax
jae 0x448fc7
mov ecx, edi
sub ecx, eax
sub edi, ecx
neg ecx
lea esi, [esi + ecx*8]
mov ebx, dword [edi]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], edi
mov ecx, esi
and ecx, 0x1f
mov edx, ebx
shl edx, cl
add esi, 5
shr edx, 0x1b
add ebp, edx
mov dword [esp + 0x14], ebp
jmp 0x449056
mov ebx, dword [esp + 0x44]
movzx edx, al
mov ecx, esi
and ecx, 0x1f
mov eax, ebx
shl eax, cl
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
add esi, edx
lea ebp, [eax + edi]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x14], ebp
cmp esi, 0x20
ja 0x449056
cmp edi, dword [esp + 0x54]
jb 0x44902c
mov eax, esi
shr eax, 3
sub edi, eax
and esi, 7
jmp 0x44904c
mov eax, dword [esp + 0x50]
cmp edi, eax
je 0x449056
mov ecx, esi
shr ecx, 3
mov edx, edi
sub edx, ecx
cmp edx, eax
jae 0x449045
mov ecx, edi
sub ecx, eax
sub edi, ecx
neg ecx
lea esi, [esi + ecx*8]
mov ebx, dword [edi]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], ebp
jmp 0x4490e7
mov ebx, dword [esp + 0x44]
xor edx, edx
test ecx, ecx
sete dl
test al, al
jne 0x449098
mov eax, dword [esp + edx*4 + 0x70]
xor ecx, ecx
test edx, edx
sete cl
mov dword [esp + 0x14], eax
mov edx, dword [esp + ecx*4 + 0x70]
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
jmp 0x4490e3
mov ecx, esi
and ecx, 0x1f
mov eax, ebx
shl eax, cl
inc esi
mov dword [esp + 0x48], esi
shr eax, 0x1f
add eax, edx
add eax, edi
cmp eax, 3
jne 0x4490b9
mov edi, dword [esp + 0x70]
dec edi
jmp 0x4490bd
mov edi, dword [esp + eax*4 + 0x70]
xor ecx, ecx
test edi, edi
sete cl
add edi, ecx
cmp eax, 1
je 0x4490d3
mov edx, dword [esp + 0x74]
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x74], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x4c]
mov al, byte [esp + 0x1f]
test al, al
jbe 0x449111
movzx eax, al
mov ecx, esi
and ecx, 0x1f
mov edx, ebx
shl edx, cl
mov ecx, eax
neg ecx
and ecx, 0x1f
shr edx, cl
add esi, eax
mov al, byte [esp + 0x1f]
add dword [esp + 0x90], edx
mov dl, byte [esp + 0x37]
movzx ebp, dl
movzx ecx, al
add ecx, ebp
cmp ecx, 0x14
jl 0x449141
cmp esi, 0x20
ja 0x449141
cmp edi, dword [esp + 0x54]
jb 0x44917f
mov eax, esi
shr eax, 3
sub edi, eax
mov ebx, dword [edi]
mov dword [esp + 0x4c], edi
and esi, 7
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0x50]
test dl, dl
jbe 0x449168
mov eax, dword [esp + 0x50]
mov ecx, esi
and ecx, 0x1f
mov edx, ebx
shl edx, cl
mov ecx, ebp
neg ecx
and ecx, 0x1f
shr edx, cl
add esi, ebp
add dword [esp + 0x8c], edx
cmp esi, 0x20
ja 0x4491d1
cmp edi, dword [esp + 0x54]
jb 0x4491ab
mov ecx, esi
shr ecx, 3
sub edi, ecx
and esi, 7
jmp 0x4491c7
mov eax, dword [esp + 0x50]
cmp edi, eax
je 0x449145
mov ecx, esi
shr ecx, 3
mov ebx, edi
sub ebx, ecx
cmp ebx, eax
jae 0x449198
mov ecx, edi
sub ecx, eax
sub edi, ecx
mov ebx, dword [edi]
neg ecx
mov dword [esp + 0x4c], edi
lea esi, [esi + ecx*8]
mov dword [esp + 0x44], ebx
jmp 0x449145
cmp edi, eax
je 0x4491d1
mov ecx, esi
shr ecx, 3
mov edx, edi
sub edx, ecx
cmp edx, eax
jae 0x4491c0
mov ecx, edi
sub ecx, eax
sub edi, ecx
neg ecx
lea esi, [esi + ecx*8]
mov ebx, dword [edi]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x7c]
add esi, eax
mov ecx, esi
neg ecx
and ecx, 0x1f
mov edx, ebx
shr edx, cl
movzx ecx, word [esp + 0x30]
and edx, dword [eax*4 + 0x456860]
mov eax, dword [esp + 0xb4]
add ecx, edx
add esi, eax
mov dword [esp + 0x58], ecx
mov ecx, esi
neg ecx
and ecx, 0x1f
mov edx, ebx
shr edx, cl
mov ecx, esi
movzx esi, word [esp + 0x84]
and edx, dword [eax*4 + 0x456860]
add esi, edx
mov dword [esp + 0x68], esi
cmp ecx, 0x20
ja 0x449260
cmp edi, dword [esp + 0x54]
jb 0x449236
mov eax, ecx
shr eax, 3
sub edi, eax
and ecx, 7
jmp 0x449256
mov eax, dword [esp + 0x50]
cmp edi, eax
je 0x449260
mov edx, ecx
shr edx, 3
mov esi, edi
sub esi, edx
cmp esi, eax
jae 0x44924f
mov edx, edi
sub edx, eax
sub edi, edx
neg edx
lea ecx, [ecx + edx*8]
mov ebx, dword [edi]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x88]
movq xmm0, qword [esp + 0x8c]
inc dword [esp + 0x40]
mov ebp, dword [esp + 0x128]
lea esi, [eax + ecx]
mov ecx, esi
neg ecx
and ecx, 0x1f
mov edx, ebx
movzx ebx, word [esp + 0x2c]
shr edx, cl
mov ecx, dword [esp + 0x20]
movq qword [ecx], xmm0
mov dword [esp + 0x48], esi
and edx, dword [eax*4 + 0x456860]
add ebx, edx
mov edx, dword [esp + 0x14]
mov dword [ecx + 8], edx
add ecx, 0xc
mov dword [esp + 0x60], ebx
mov dword [esp + 0x20], ecx
jmp 0x448e17
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0xb0]
jl 0x448db3
jmp 0x4492d0
cmp esi, 0x20
ja 0x44a06b
cmp edi, dword [esp + 0x54]
jb 0x4492f9
mov ecx, esi
shr ecx, 3
sub edi, ecx
mov eax, dword [edi]
and esi, 7
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
jmp 0x449343
cmp edi, ecx
je 0x449343
mov eax, esi
shr eax, 3
mov edx, edi
sub edx, eax
mov dword [esp + 0x2c], 0
cmp edx, ecx
jae 0x44931d
mov eax, edi
sub eax, ecx
mov ecx, 1
jmp 0x449321
mov ecx, dword [esp + 0x2c]
sub edi, eax
neg eax
cmp ecx, 2
lea esi, [esi + eax*8]
mov eax, dword [edi]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
jg 0x44a06b
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x134]
cmp eax, ecx
jge 0x44a07e
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx + eax*8 + 4]
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
mov edi, dword [eax + ebx*8 + 4]
movzx eax, byte [ebp + edx*8 + 2]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x90], ecx
mov ecx, dword [ebp + edx*8 + 4]
mov ebp, dword [esp + 0x68]
movzx eax, byte [eax + ebp*8 + 2]
mov ebp, dword [esp + 0x5c]
movzx edx, word [ebp + edx*8]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x6c]
movzx edx, word [edx + ebp*8]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x64]
movzx edx, word [edx + ebx*8]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x5c]
movzx edx, byte [edx + ebp*8 + 3]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x6c]
movzx edx, byte [edx + ebp*8 + 3]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x64]
movzx edx, byte [edx + ebx*8 + 3]
mov byte [esp + 0x37], al
mov eax, dword [esp + 0x64]
mov al, byte [eax + ebx*8 + 2]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x7c], edx
cmp al, 1
jbe 0x44951e
cmp dword [esp + 0x138], 0
je 0x4494a2
cmp al, 0x19
jb 0x4494a2
mov ebp, dword [esp + 0x44]
mov ebx, dword [esp + 0x4c]
movzx edx, al
mov ecx, esi
and ecx, 0x1f
sub edx, 5
mov eax, ebp
shl eax, cl
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
add esi, edx
shl eax, 5
add eax, edi
mov edi, eax
cmp esi, 0x20
ja 0x44948b
cmp ebx, dword [esp + 0x54]
jb 0x449461
mov eax, esi
shr eax, 3
sub ebx, eax
and esi, 7
jmp 0x449481
mov ecx, dword [esp + 0x50]
cmp ebx, ecx
je 0x44948b
mov eax, esi
shr eax, 3
mov edx, ebx
sub edx, eax
cmp edx, ecx
jae 0x44947a
mov eax, ebx
sub eax, ecx
sub ebx, eax
neg eax
lea esi, [esi + eax*8]
mov ebp, dword [ebx]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x4c], ebx
mov ecx, esi
and ecx, 0x1f
mov eax, ebp
shl eax, cl
add esi, 5
shr eax, 0x1b
add edi, eax
mov dword [esp + 0x14], edi
jmp 0x449508
mov ebp, dword [esp + 0x44]
mov ebx, dword [esp + 0x4c]
movzx edx, al
mov ecx, esi
and ecx, 0x1f
mov eax, ebp
shl eax, cl
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
add esi, edx
add edi, eax
mov dword [esp + 0x14], edi
cmp esi, 0x20
ja 0x449508
cmp ebx, dword [esp + 0x54]
jb 0x4494de
mov eax, esi
shr eax, 3
sub ebx, eax
and esi, 7
jmp 0x4494fe
mov ecx, dword [esp + 0x50]
cmp ebx, ecx
je 0x449508
mov eax, esi
shr eax, 3
mov edx, ebx
sub edx, eax
cmp edx, ecx
jae 0x4494f7
mov eax, ebx
sub eax, ecx
sub ebx, eax
neg eax
lea esi, [esi + eax*8]
mov ebp, dword [ebx]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], edi
jmp 0x44958e
mov ebp, dword [esp + 0x44]
xor edx, edx
test ecx, ecx
sete dl
test al, al
jne 0x44953e
mov eax, dword [esp + edx*4 + 0x70]
xor ecx, ecx
test edx, edx
sete cl
mov edx, dword [esp + ecx*4 + 0x70]
jmp 0x44957e
mov ecx, esi
and ecx, 0x1f
mov eax, ebp
shl eax, cl
lea ecx, [edx + edi]
inc esi
mov dword [esp + 0x48], esi
shr eax, 0x1f
add ecx, eax
cmp ecx, 3
jne 0x449560
mov eax, dword [esp + 0x70]
dec eax
jmp 0x449564
mov eax, dword [esp + ecx*4 + 0x70]
xor edx, edx
test eax, eax
sete dl
add eax, edx
cmp ecx, 1
je 0x44957a
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x74], edx
mov dl, byte [esp + 0x37]
mov ecx, dword [esp + 0x50]
test dl, dl
jbe 0x4495bc
mov ecx, esi
and ecx, 0x1f
movzx edi, dl
mov eax, ebp
shl eax, cl
mov ecx, edi
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x50]
add esi, edi
add dword [esp + 0x90], eax
movzx edi, byte [esp + 0x1f]
movzx eax, dl
add eax, edi
cmp eax, 0x14
jl 0x449608
cmp esi, 0x20
ja 0x449608
cmp ebx, dword [esp + 0x54]
jb 0x4495e2
mov edx, esi
shr edx, 3
sub ebx, edx
and esi, 7
jmp 0x4495fe
cmp ebx, ecx
je 0x449608
mov eax, esi
shr eax, 3
mov edx, ebx
sub edx, eax
cmp edx, ecx
jae 0x4495f7
mov eax, ebx
sub eax, ecx
sub ebx, eax
neg eax
lea esi, [esi + eax*8]
mov ebp, dword [ebx]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x4c], ebx
cmp byte [esp + 0x1f], 0
jbe 0x44962e
mov ecx, esi
and ecx, 0x1f
mov eax, ebp
shl eax, cl
mov ecx, edi
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x50]
add esi, edi
add dword [esp + 0x8c], eax
cmp esi, 0x20
ja 0x44966b
cmp ebx, dword [esp + 0x54]
jb 0x449645
mov eax, esi
shr eax, 3
sub ebx, eax
and esi, 7
jmp 0x449661
cmp ebx, ecx
je 0x44966b
mov eax, esi
shr eax, 3
mov edx, ebx
sub edx, eax
cmp edx, ecx
jae 0x44965a
mov eax, ebx
sub eax, ecx
sub ebx, eax
neg eax
lea esi, [esi + eax*8]
mov ebp, dword [ebx]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x4c], ebx
mov edi, dword [esp + 0x2c]
lea edx, [edi + esi]
mov esi, dword [esp + 0x84]
mov ecx, edx
neg ecx
and ecx, 0x1f
mov eax, ebp
shr eax, cl
movzx ecx, word [esp + 0x88]
and eax, dword [edi*4 + 0x456860]
add edx, esi
add ecx, eax
mov dword [esp + 0x58], ecx
mov ecx, edx
neg ecx
and ecx, 0x1f
mov eax, ebp
shr eax, cl
mov ecx, edx
movzx edx, word [esp + 0xb4]
and eax, dword [esi*4 + 0x456860]
add edx, eax
mov dword [esp + 0x68], edx
cmp ecx, 0x20
ja 0x4496fe
cmp ebx, dword [esp + 0x54]
jb 0x4496d4
mov eax, ecx
shr eax, 3
sub ebx, eax
and ecx, 7
jmp 0x4496f4
mov edx, dword [esp + 0x50]
cmp ebx, edx
je 0x4496fe
mov eax, ecx
shr eax, 3
mov esi, ebx
sub esi, eax
cmp esi, edx
jae 0x4496ed
mov eax, ebx
sub eax, edx
sub ebx, eax
neg eax
lea ecx, [ecx + eax*8]
mov ebp, dword [ebx]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x4c], ebx
mov edx, dword [esp + 0x7c]
movzx ebx, word [esp + 0x20]
lea esi, [edx + ecx]
mov ecx, esi
neg ecx
and ecx, 0x1f
mov eax, ebp
shr eax, cl
mov dword [esp + 0x48], esi
and eax, dword [edx*4 + 0x456860]
mov edx, dword [esp + 0x128]
add ebx, eax
mov eax, dword [esp + 0x40]
and eax, 7
cmp dword [edx + 0x75f8], 2
mov dword [esp + 0x60], ebx
jne 0x449d3b
mov ecx, dword [esp + 0x18]
mov edx, dword [edx + 0x75f4]
lea ebp, [eax + eax*2]
mov edi, dword [esp + ebp*4 + 0xc4]
lea ebp, [esp + ebp*4 + 0xc4]
lea eax, [edi + ecx]
mov dword [esp + 0x30], ebp
cmp eax, edx
jbe 0x449a70
sub edx, ecx
mov ebx, edx
je 0x449795
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
sub edx, eax
cmp ebx, edx
ja 0x44a05b
push ebx
call fcn.00446800
sub edi, ebx
add esp, 4
add dword [esp + 0x10], ebx
mov dword [ebp], edi
mov eax, dword [esp + 0x128]
lea edx, [eax + 0x75fc]
lea ecx, [eax + 0x175fc]
mov dword [eax + 0x75f8], 0
mov eax, dword [esp + 0x30]
movq xmm0, qword [eax]
mov edi, dword [eax + 8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], ecx
movq qword [esp + 0xb8], xmm0
mov ecx, dword [esp + 0xb8]
lea ebp, [ecx + eax]
mov eax, dword [esp + 0xbc]
add eax, ecx
mov dword [esp + 0x20], eax
lea ebx, [ecx + edx]
mov eax, ebp
sub eax, edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x2c], ebx
cmp ebx, dword [esp + 0x38]
ja 0x449a07
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
add edi, ebx
mov ebx, dword [esp + 0x24]
add ebx, 0xffffffe0
cmp edi, ebx
ja 0x449a07
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
sub edi, dword [esp + 0x10]
add ebx, 0x20
cmp edi, ebx
jb 0x449a07
mov ebx, dword [esp + 0x10]
movdqu xmm0, xmmword [edx]
movdqu xmmword [ebx], xmm0
cmp ecx, 0x10
jbe 0x449881
movdqu xmm0, xmmword [edx + 0x10]
lea edi, [ecx - 0x10]
add edx, 0x10
cmp edi, 0x10
lea ecx, [ebx + 0x10]
lea ebx, [ecx + edi]
movdqu xmmword [ecx], xmm0
jle 0x449881
add ecx, 0x10
add edx, 0x10
nop
movdqu xmm0, xmmword [edx]
movdqu xmmword [ecx], xmm0
movdqu xmm0, xmmword [edx + 0x10]
add edx, 0x10
add ecx, 0x10
movdqu xmmword [ecx], xmm0
add ecx, 0x10
add edx, 0x10
cmp ecx, ebx
jb 0x449860
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov edi, ebp
sub edi, dword [esp + 0x28]
mov dword [esp + 0x18], edx
mov edx, dword [ebx + 8]
mov ecx, ebp
cmp edx, edi
jbe 0x4498f8
sub ecx, dword [esp + 0x80]
cmp edx, ecx
ja 0x448db3
mov edx, dword [esp + 0x3c]
mov ecx, edx
sub ecx, dword [esp + 0x28]
add eax, ecx
mov ecx, dword [esp + 0xbc]
lea edi, [eax + ecx]
cmp edi, edx
ja 0x4498da
push ecx
push eax
push ebp
call dword [sym.imp.MSVCRT.dll_memmove]
mov eax, dword [esp + 0x2c]
add esp, 0xc
jmp 0x449a4a
mov edi, edx
sub edi, eax
push edi
push eax
push ebp
call dword [sym.imp.MSVCRT.dll_memmove]
mov eax, dword [esp + 0x34]
add esp, 0xc
sub dword [esp + 0xbc], edi
lea ecx, [edi + ebp]
mov edx, dword [ebx + 8]
mov edi, dword [esp + 0xbc]
cmp edx, 0x10
jb 0x44994a
cmp edi, 0x10
movdqu xmm0, xmmword [eax]
lea edx, [edi + ecx]
movdqu xmmword [ecx], xmm0
jle 0x449941
add ecx, 0x10
add eax, 0x10
lea ecx, [ecx]
movdqu xmm0, xmmword [eax]
movdqu xmmword [ecx], xmm0
movdqu xmm0, xmmword [eax + 0x10]
add eax, 0x10
add ecx, 0x10
movdqu xmmword [ecx], xmm0
add ecx, 0x10
add eax, 0x10
cmp ecx, edx
jb 0x449920
mov eax, dword [esp + 0x20]
jmp 0x449a4a
cmp edx, 8
jae 0x449987
mov edi, dword [edx*4 + str._b_b_b_a_b_t_n_v]
movzx edx, byte [eax]
mov byte [ecx], dl
movzx edx, byte [eax + 1]
mov byte [ecx + 1], dl
movzx edx, byte [eax + 2]
mov byte [ecx + 2], dl
movzx edx, byte [eax + 3]
mov byte [ecx + 3], dl
mov edx, dword [ebx + 8]
add eax, dword [edx*4 + 0x457298]
mov edx, dword [eax]
sub eax, edi
mov edi, dword [esp + 0xbc]
jmp 0x44998e
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
cmp edi, 8
jbe 0x449a01
lea edx, [eax + 8]
lea eax, [ecx + 8]
mov ecx, eax
add edi, 0xfffffff8
sub ecx, edx
cmp ecx, 0x10
lea ebp, [eax + edi]
jge 0x4499cc
sub edx, eax
lea ecx, [ecx]
mov ecx, dword [edx + eax]
mov dword [eax], ecx
mov ecx, dword [edx + eax + 4]
mov dword [eax + 4], ecx
add eax, 8
cmp eax, ebp
jb 0x4499b0
mov eax, dword [esp + 0x20]
jmp 0x449a4a
cmp edi, 0x10
movdqu xmm0, xmmword [edx]
movdqu xmmword [eax], xmm0
jle 0x449a01
add eax, 0x10
lea ecx, [edx + 0x10]
nop
movdqu xmm0, xmmword [ecx]
movdqu xmmword [eax], xmm0
movdqu xmm0, xmmword [ecx + 0x10]
add ecx, 0x10
add eax, 0x10
movdqu xmmword [eax], xmm0
add eax, 0x10
add ecx, 0x10
cmp eax, ebp
jb 0x4499e0
mov eax, dword [esp + 0x20]
jmp 0x449a4a
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
movq xmm0, qword [ebx]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x28]
push eax
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x30]
call fcn.00446890
add esp, 0x20
cmp eax, 0xffffff88
ja 0x44a948
movq xmm0, qword [esp + 0x8c]
mov edx, dword [esp + 0x14]
movq qword [ebx], xmm0
mov dword [ebx + 8], edx
mov ebx, dword [esp + 0x60]
jmp 0x44a03b
mov ecx, dword [esp + 0x30]
movq xmm0, qword [ecx]
mov edx, dword [ecx + 8]
add eax, 0xffffffe0
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x10]
movq qword [esp + 0x98], xmm0
mov ecx, dword [esp + 0x98]
lea ebp, [ecx + eax]
mov eax, dword [esp + 0x9c]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
lea edi, [ecx + eax]
mov eax, ebp
sub eax, edx
mov dword [esp + 0x84], edi
cmp edi, dword [esp + 0x38]
ja 0x449cea
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
add edx, edi
cmp edx, dword [esp + 0x7c]
ja 0x449cea
mov edx, dword [esp + 0x24]
sub edx, edi
mov edi, dword [esp + 0x20]
add edi, 0x20
cmp edx, edi
jb 0x449cea
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
movdqu xmm0, xmmword [edx]
movdqu xmmword [edi], xmm0
cmp ecx, 0x10
jbe 0x449b51
movdqu xmm0, xmmword [edx + 0x10]
lea edi, [ecx - 0x10]
mov ecx, dword [esp + 0x10]
add ecx, 0x10
mov dword [esp + 0x2c], edi
add edx, 0x10
add edi, ecx
cmp dword [esp + 0x2c], 0x10
mov dword [esp + 0x88], edi
movdqu xmmword [ecx], xmm0
jle 0x449b51
add ecx, 0x10
add edx, 0x10
movdqu xmm0, xmmword [edx]
movdqu xmmword [ecx], xmm0
movdqu xmm0, xmmword [edx + 0x10]
add edx, 0x10
add ecx, 0x10
movdqu xmmword [ecx], xmm0
add ecx, 0x10
add edx, 0x10
cmp ecx, edi
jb 0x449b30
mov edx, dword [esp + 0x84]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 8]
mov edi, ebp
sub edi, dword [esp + 0x28]
mov ecx, ebp
cmp edx, edi
jbe 0x449bd1
sub ecx, dword [esp + 0x80]
cmp edx, ecx
jbe 0x449b84
mov eax, 0xffffffec
jmp 0x44a01a
mov edx, dword [esp + 0x3c]
mov ecx, edx
sub ecx, dword [esp + 0x28]
add eax, ecx
mov ecx, dword [esp + 0x9c]
lea edi, [eax + ecx]
cmp edi, edx
ja 0x449bb3
push ecx
push eax
push ebp
call dword [sym.imp.MSVCRT.dll_memmove]
mov eax, dword [esp + 0x2c]
add esp, 0xc
jmp 0x44a01a
mov edi, edx
sub edi, eax
push edi
push eax
push ebp
call dword [sym.imp.MSVCRT.dll_memmove]
mov eax, dword [esp + 0x34]
add esp, 0xc
sub dword [esp + 0x9c], edi
lea ecx, [edi + ebp]
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 8]
cmp edx, 0x10
jb 0x449c2a
mov edi, dword [esp + 0x9c]
cmp edi, 0x10
movdqu xmm0, xmmword [eax]
lea edx, [edi + ecx]
movdqu xmmword [ecx], xmm0
jle 0x449c21
add ecx, 0x10
add eax, 0x10
lea ebx, [ebx]
movdqu xmm0, xmmword [eax]
movdqu xmmword [ecx], xmm0
movdqu xmm0, xmmword [eax + 0x10]
add eax, 0x10
add ecx, 0x10
movdqu xmmword [ecx], xmm0
add ecx, 0x10
add eax, 0x10
cmp ecx, edx
jb 0x449c00
mov eax, dword [esp + 0x20]
jmp 0x44a01a
cmp edx, 8
jae 0x449c64
mov edi, dword [edx*4 + str._b_b_b_a_b_t_n_v]
movzx edx, byte [eax]
mov byte [ecx], dl
movzx edx, byte [eax + 1]
mov byte [ecx + 1], dl
movzx edx, byte [eax + 2]
mov byte [ecx + 2], dl
movzx edx, byte [eax + 3]
mov byte [ecx + 3], dl
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 8]
add eax, dword [edx*4 + 0x457298]
mov edx, dword [eax]
sub eax, edi
jmp 0x449c6b
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x9c]
cmp edx, 8
jbe 0x449ce1
lea edi, [edx - 8]
lea edx, [eax + 8]
lea eax, [ecx + 8]
mov ecx, eax
sub ecx, edx
cmp ecx, 0x10
lea ebp, [eax + edi]
jge 0x449cad
sub edx, eax
mov ecx, dword [edx + eax]
mov dword [eax], ecx
mov ecx, dword [edx + eax + 4]
mov dword [eax + 4], ecx
add eax, 8
cmp eax, ebp
jb 0x449c91
mov eax, dword [esp + 0x20]
jmp 0x44a01a
cmp edi, 0x10
movdqu xmm0, xmmword [edx]
movdqu xmmword [eax], xmm0
jle 0x449ce1
add eax, 0x10
lea ecx, [edx + 0x10]
movdqu xmm0, xmmword [ecx]
movdqu xmmword [eax], xmm0
movdqu xmm0, xmmword [ecx + 0x10]
add ecx, 0x10
add eax, 0x10
movdqu xmmword [eax], xmm0
add eax, 0x10
add ecx, 0x10
cmp eax, ebp
jb 0x449cc0
mov eax, dword [esp + 0x20]
jmp 0x44a01a
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
mov ecx, dword [esp + 0x3c]
movq xmm0, qword [ecx]
mov ecx, dword [ecx + 8]
push edx
mov edx, dword [esp + 0x8c]
lea eax, [esp + 0x28]
push eax
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x44]
push edx
push eax
mov eax, dword [esp + 0x38]
call fcn.00446990
add esp, 0x28
jmp 0x44a01a
lea eax, [eax + eax*2]
movq xmm0, qword [esp + eax*4 + 0xc4]
mov edx, dword [esp + eax*4 + 0xcc]
lea eax, [esp + eax*4 + 0xc4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
movq qword [esp + 0xa4], xmm0
mov ecx, dword [esp + 0xa4]
lea edi, [ecx + eax]
mov eax, dword [esp + 0xa8]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
lea ebp, [ecx + eax]
mov eax, edi
sub eax, edx
mov dword [esp + 0x84], ebp
cmp ebp, dword [esp + 0x38]
ja 0x449fd7
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
add edx, ebp
mov ebp, dword [esp + 0x24]
add ebp, 0xffffffe0
cmp edx, ebp
ja 0x449fd7
mov edx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
sub edx, dword [esp + 0x10]
add ebp, 0x20
cmp edx, ebp
jb 0x449fd7
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
movdqu xmm0, xmmword [edx]
movdqu xmmword [ebp], xmm0
cmp ecx, 0x10
jbe 0x449e31
movdqu xmm0, xmmword [edx + 0x10]
lea ebp, [ecx - 0x10]
mov ecx, dword [esp + 0x10]
add ecx, 0x10
mov dword [esp + 0x2c], ebp
add edx, 0x10
add ebp, ecx
cmp dword [esp + 0x2c], 0x10
mov dword [esp + 0x88], ebp
movdqu xmmword [ecx], xmm0
jle 0x449e31
add ecx, 0x10
add edx, 0x10
nop
movdqu xmm0, xmmword [edx]
movdqu xmmword [ecx], xmm0
movdqu xmm0, xmmword [edx + 0x10]
add edx, 0x10
add ecx, 0x10
movdqu xmmword [ecx], xmm0
add ecx, 0x10
add edx, 0x10
cmp ecx, ebp
jb 0x449e10
mov edx, dword [esp + 0x84]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 8]
mov ebp, edi
sub ebp, dword [esp + 0x28]
mov ecx, edi
cmp edx, ebp
jbe 0x449eb1
sub ecx, dword [esp + 0x80]
cmp edx, ecx
jbe 0x449e64
mov eax, 0xffffffec
jmp 0x44a01a
mov edx, dword [esp + 0x3c]
mov ecx, edx
sub ecx, dword [esp + 0x28]
add eax, ecx
mov ecx, dword [esp + 0xa8]
lea ebp, [eax + ecx]
cmp ebp, edx
ja 0x449e93
push ecx
push eax
push edi
call dword [sym.imp.MSVCRT.dll_memmove]
mov eax, dword [esp + 0x2c]
add esp, 0xc
jmp 0x44a01a
mov ebp, edx
sub ebp, eax
push ebp
push eax
push edi
call dword [sym.imp.MSVCRT.dll_memmove]
mov eax, dword [esp + 0x34]
add esp, 0xc
sub dword [esp + 0xa8], ebp
lea ecx, [edi + ebp]
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 8]
cmp edx, 0x10
jb 0x449f0a
mov edi, dword [esp + 0xa8]
cmp edi, 0x10
movdqu xmm0, xmmword [eax]
lea edx, [edi + ecx]
movdqu xmmword [ecx], xmm0
jle 0x449f01
add ecx, 0x10
add eax, 0x10
lea ebx, [ebx]
movdqu xmm0, xmmword [eax]
movdqu xmmword [ecx], xmm0
movdqu xmm0, xmmword [eax + 0x10]
add eax, 0x10
add ecx, 0x10
movdqu xmmword [ecx], xmm0
add ecx, 0x10
add eax, 0x10
cmp ecx, edx
jb 0x449ee0
mov eax, dword [esp + 0x20]
jmp 0x44a01a
cmp edx, 8
jae 0x449f44
mov edi, dword [edx*4 + str._b_b_b_a_b_t_n_v]
movzx edx, byte [eax]
mov byte [ecx], dl
movzx edx, byte [eax + 1]
mov byte [ecx + 1], dl
movzx edx, byte [eax + 2]
mov byte [ecx + 2], dl
movzx edx, byte [eax + 3]
mov byte [ecx + 3], dl
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 8]
add eax, dword [edx*4 + 0x457298]
mov edx, dword [eax]
sub eax, edi
jmp 0x449f4b
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0xa8]
cmp edx, 8
jbe 0x449fd1
lea edi, [edx - 8]
lea edx, [eax + 8]
lea eax, [ecx + 8]
mov ecx, eax
sub ecx, edx
cmp ecx, 0x10
lea ebp, [eax + edi]
jge 0x449f91
sub edx, eax
mov ecx, dword [edx + eax]
mov dword [eax], ecx
mov ecx, dword [edx + eax + 4]
mov dword [eax + 4], ecx
add eax, 8
cmp eax, ebp
jb 0x449f75
mov eax, dword [esp + 0x20]
jmp 0x44a01a
cmp edi, 0x10
movdqu xmm0, xmmword [edx]
movdqu xmmword [eax], xmm0
jle 0x449fd1
add eax, 0x10
lea ecx, [edx + 0x10]
jmp 0x449fb0
movdqu xmm0, xmmword [ecx]
movdqu xmmword [eax], xmm0
movdqu xmm0, xmmword [ecx + 0x10]
add ecx, 0x10
add eax, 0x10
movdqu xmmword [eax], xmm0
add eax, 0x10
add ecx, 0x10
cmp eax, ebp
jb 0x449fb0
mov eax, dword [esp + 0x20]
jmp 0x44a01a
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
mov ecx, dword [esp + 0x3c]
movq xmm0, qword [ecx]
mov ecx, dword [ecx + 8]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x28]
push eax
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x30]
call fcn.00446890
add esp, 0x20
cmp eax, 0xffffff88
ja 0x44a948
mov ecx, dword [esp + 0x30]
movq xmm0, qword [esp + 0x8c]
mov edx, dword [esp + 0x14]
movq qword [ecx], xmm0
mov dword [ecx + 8], edx
add dword [esp + 0x10], eax
inc dword [esp + 0x40]
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov ebp, dword [esp + 0x128]
jmp 0x4492d0
mov eax, 0xffffffba
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x134]
cmp eax, ecx
jl 0x448db3
sub eax, dword [esp + 0xb0]
cmp eax, ecx
mov dword [esp + 0x40], eax
jge 0x44a8b1
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
and eax, 7
cmp dword [ebp + 0x75f8], 2
lea esi, [eax + eax*2]
lea esi, [esp + esi*4 + 0xc4]
jne 0x44a5f7
mov edi, dword [esi]
mov ecx, dword [ebp + 0x75f4]
lea eax, [edi + ebx]
cmp eax, ecx
jbe 0x44a35c
sub ecx, ebx
mov ebx, ecx
je 0x44a0f1
mov eax, dword [esp + 0x24]
sub eax, edx
cmp ebx, eax
ja 0x44a05b
mov ecx, dword [esp + 0x18]
push ebx
mov eax, edx
call fcn.00446800
sub edi, ebx
add esp, 4
add dword [esp + 0x10], ebx
mov dword [esi], edi
movq xmm0, qword [esi]
mov eax, dword [esp + 0x10]
lea ecx, [ebp + 0x175fc]
mov dword [esp + 0x38], ecx
movq qword [esp + 0x8c], xmm0
mov ecx, dword [esp + 0x8c]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x90]
add eax, ecx
lea edx, [ebp + 0x75fc]
mov dword [esp + 0x14], eax
mov dword [ebp + 0x75f8], 0
mov ebp, dword [esi + 8]
lea ebx, [ecx + edx]
mov eax, edi
sub eax, ebp
mov dword [esp + 0x18], edx
mov dword [esp + 0x94], ebp
mov dword [esp + 0x2c], ebx
cmp ebx, dword [esp + 0x38]
ja 0x44a847
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
add ebx, ebp
mov ebp, dword [esp + 0x24]
add ebp, 0xffffffe0
cmp ebx, ebp
ja 0x44a847
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x14]
sub ebx, dword [esp + 0x10]
add ebp, 0x20
cmp ebx, ebp
jb 0x44a847
mov ebx, dword [esp + 0x10]
movdqu xmm0, xmmword [edx]
movdqu xmmword [ebx], xmm0
cmp ecx, 0x10
jbe 0x44a1e1
movdqu xmm0, xmmword [edx + 0x10]
lea esi, [ecx - 0x10]
add edx, 0x10
cmp esi, 0x10
lea ecx, [ebx + 0x10]
lea ebx, [ecx + esi]
movdqu xmmword [ecx], xmm0
jle 0x44a1e1
add ecx, 0x10
add edx, 0x10
jmp 0x44a1c0
movdqu xmm0, xmmword [edx]
movdqu xmmword [ecx], xmm0
movdqu xmm0, xmmword [edx + 0x10]
add edx, 0x10
add ecx, 0x10
movdqu xmmword [ecx], xmm0
add ecx, 0x10
add edx, 0x10
cmp ecx, ebx
jb 0x44a1c0
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov esi, edi
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x94]
sub esi, ebx
mov ecx, edi
cmp edx, esi
jbe 0x44a251
sub ecx, dword [esp + 0x80]
cmp edx, ecx
ja 0x448db3
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x90]
mov edx, esi
sub edx, ebx
add eax, edx
lea ecx, [eax + ebp]
cmp ecx, esi
ja 0x44a23a
push ebp
push eax
push edi
call dword [sym.imp.MSVCRT.dll_memmove]
mov eax, dword [esp + 0x20]
add esp, 0xc
jmp 0x44a886
sub esi, eax
push esi
push eax
push edi
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
lea ecx, [esi + edi]
sub ebp, esi
mov eax, ebx
jmp 0x44a258
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
cmp esi, 0x10
jb 0x44a2aa
cmp ebp, 0x10
movdqu xmm0, xmmword [eax]
lea edx, [ecx + ebp]
movdqu xmmword [ecx], xmm0
jle 0x44a2a1
add ecx, 0x10
add eax, 0x10
lea ebx, [ebx]
movdqu xmm0, xmmword [eax]
movdqu xmmword [ecx], xmm0
movdqu xmm0, xmmword [eax + 0x10]
add eax, 0x10
add ecx, 0x10
movdqu xmmword [ecx], xmm0
add ecx, 0x10
add eax, 0x10
cmp ecx, edx
jb 0x44a280
mov eax, dword [esp + 0x14]
jmp 0x44a886
cmp esi, 8
jae 0x44a2dd
movzx edx, byte [eax]
mov edi, dword [esi*4 + str._b_b_b_a_b_t_n_v]
mov byte [ecx], dl
movzx edx, byte [eax + 1]
mov byte [ecx + 1], dl
movzx edx, byte [eax + 2]
mov byte [ecx + 2], dl
movzx edx, byte [eax + 3]
mov byte [ecx + 3], dl
add eax, dword [esi*4 + 0x457298]
mov edx, dword [eax]
sub eax, edi
jmp 0x44a2e4
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
cmp ebp, 8
jbe 0x44a353
lea edx, [eax + 8]
lea eax, [ecx + 8]
mov ecx, eax
add ebp, 0xfffffff8
sub ecx, edx
cmp ecx, 0x10
lea esi, [eax + ebp]
jge 0x44a31f
sub edx, eax
mov ecx, dword [edx + eax]
mov dword [eax], ecx
mov ecx, dword [edx + eax + 4]
mov dword [eax + 4], ecx
add eax, 8
cmp eax, esi
jb 0x44a303
mov eax, dword [esp + 0x14]
jmp 0x44a886
cmp ebp, 0x10
movdqu xmm0, xmmword [edx]
movdqu xmmword [eax], xmm0
jle 0x44a353
add eax, 0x10
lea ecx, [edx + 0x10]
movdqu xmm0, xmmword [ecx]
movdqu xmmword [eax], xmm0
movdqu xmm0, xmmword [ecx + 0x10]
add ecx, 0x10
add eax, 0x10
movdqu xmmword [eax], xmm0
add eax, 0x10
add ecx, 0x10
cmp eax, esi
jb 0x44a332
mov eax, dword [esp + 0x14]
jmp 0x44a886
movq xmm0, qword [esi]
mov ebp, dword [esi + 8]
add eax, 0xffffffe0
mov dword [esp + 0x7c], eax
movq qword [esp + 0xa4], xmm0
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa8]
add eax, ecx
lea edi, [ecx + edx]
mov dword [esp + 0x14], eax
add ebx, ecx
mov eax, edi
sub eax, ebp
mov dword [esp + 0xac], ebp
mov dword [esp + 0x2c], ebx
cmp ebx, dword [esp + 0x38]
ja 0x44a5aa
mov ebx, dword [esp + 0x14]
add ebx, edx
cmp ebx, dword [esp + 0x7c]
ja 0x44a5aa
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x14]
sub ebx, edx
add ebp, 0x20
cmp ebx, ebp
jb 0x44a5aa
mov esi, dword [esp + 0x18]
movdqu xmm0, xmmword [esi]
movdqu xmmword [edx], xmm0
cmp ecx, 0x10
jbe 0x44a424
mov edx, dword [esp + 0x18]
movdqu xmm0, xmmword [edx + 0x10]
lea esi, [ecx - 0x10]
mov ecx, dword [esp + 0x10]
add edx, 0x10
add ecx, 0x10
cmp esi, 0x10
lea ebx, [ecx + esi]
movdqu xmmword [ecx], xmm0
jle 0x44a424
add ecx, 0x10
add edx, 0x10
movdqu xmm0, xmmword [edx]
movdqu xmmword [ecx], xmm0
movdqu xmm0, xmmword [edx + 0x10]
add edx, 0x10
add ecx, 0x10
movdqu xmmword [ecx], xmm0
add ecx, 0x10
add edx, 0x10
cmp ecx, ebx
jb 0x44a403
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0xac]
mov dword [esp + 0x18], edx
mov edx, edi
sub edx, ebx
mov ecx, edi
cmp esi, edx
jbe 0x44a4a1
sub ecx, dword [esp + 0x80]
cmp esi, ecx
jbe 0x44a456
mov eax, 0xffffffec
jmp 0x44a886
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0xa8]
mov edx, esi
sub edx, ebx
add eax, edx
lea ecx, [eax + ebp]
cmp ecx, esi
ja 0x44a483
push ebp
push eax
push edi
call dword [sym.imp.MSVCRT.dll_memmove]
mov eax, dword [esp + 0x20]
add esp, 0xc
jmp 0x44a886
sub esi, eax
push esi
push eax
push edi
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
lea ecx, [esi + edi]
sub ebp, esi
mov esi, dword [esp + 0xac]
mov eax, ebx
jmp 0x44a4a8
mov ebp, dword [esp + 0xa8]
cmp esi, 0x10
jb 0x44a4ed
cmp ebp, 0x10
movdqu xmm0, xmmword [eax]
lea edx, [ecx + ebp]
movdqu xmmword [ecx], xmm0
jle 0x44a4e4
add ecx, 0x10
add eax, 0x10
movdqu xmm0, xmmword [eax]
movdqu xmmword [ecx], xmm0
movdqu xmm0, xmmword [eax + 0x10]
add eax, 0x10
add ecx, 0x10
movdqu xmmword [ecx], xmm0
add ecx, 0x10
add eax, 0x10
cmp ecx, edx
jb 0x44a4c3
mov eax, dword [esp + 0x14]
jmp 0x44a886
cmp esi, 8
jae 0x44a520
movzx edx, byte [eax]
mov edi, dword [esi*4 + str._b_b_b_a_b_t_n_v]
mov byte [ecx], dl
movzx edx, byte [eax + 1]
mov byte [ecx + 1], dl
movzx edx, byte [eax + 2]
mov byte [ecx + 2], dl
movzx edx, byte [eax + 3]
mov byte [ecx + 3], dl
add eax, dword [esi*4 + 0x457298]
mov edx, dword [eax]
sub eax, edi
jmp 0x44a527
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
cmp ebp, 8
jbe 0x44a5a1
lea edx, [eax + 8]
lea eax, [ecx + 8]
mov ecx, eax
sub ecx, edx
cmp ecx, 0x10
lea esi, [ebp - 8]
lea edi, [eax + esi]
jge 0x44a56c
sub edx, eax
lea ebx, [ebx]
mov ecx, dword [edx + eax]
mov dword [eax], ecx
mov ecx, dword [edx + eax + 4]
mov dword [eax + 4], ecx
add eax, 8
cmp eax, edi
jb 0x44a550
mov eax, dword [esp + 0x14]
jmp 0x44a886
cmp esi, 0x10
movdqu xmm0, xmmword [edx]
movdqu xmmword [eax], xmm0
jle 0x44a5a1
add eax, 0x10
lea ecx, [edx + 0x10]
nop
movdqu xmm0, xmmword [ecx]
movdqu xmmword [eax], xmm0
movdqu xmm0, xmmword [ecx + 0x10]
add ecx, 0x10
add eax, 0x10
movdqu xmmword [eax], xmm0
add eax, 0x10
add ecx, 0x10
cmp eax, edi
jb 0x44a580
mov eax, dword [esp + 0x14]
jmp 0x44a886
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x28]
movq xmm0, qword [esi]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
mov ecx, dword [esi + 8]
push edx
mov edx, dword [esp + 0x8c]
lea eax, [esp + 0x28]
push eax
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x44]
push edx
push eax
mov eax, dword [esp + 0x38]
call fcn.00446990
add esp, 0x28
jmp 0x44a886
movq xmm0, qword [esi]
mov ebp, dword [esi + 8]
movq qword [esp + 0x98], xmm0
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
add eax, ecx
lea edi, [ecx + edx]
mov dword [esp + 0x14], eax
add ebx, ecx
mov eax, edi
sub eax, ebp
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x2c], ebx
cmp ebx, dword [esp + 0x38]
ja 0x44a847
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x24]
add ebx, edx
add ebp, 0xffffffe0
cmp ebx, ebp
ja 0x44a847
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x14]
sub ebx, edx
add ebp, 0x20
cmp ebx, ebp
jb 0x44a847
mov esi, dword [esp + 0x18]
movdqu xmm0, xmmword [esi]
movdqu xmmword [edx], xmm0
cmp ecx, 0x10
jbe 0x44a6c1
mov edx, dword [esp + 0x18]
movdqu xmm0, xmmword [edx + 0x10]
lea esi, [ecx - 0x10]
mov ecx, dword [esp + 0x10]
add edx, 0x10
add ecx, 0x10
cmp esi, 0x10
lea ebx, [ecx + esi]
movdqu xmmword [ecx], xmm0
jle 0x44a6c1
add ecx, 0x10
add edx, 0x10
lea esp, [esp]
movdqu xmm0, xmmword [edx]
movdqu xmmword [ecx], xmm0
movdqu xmm0, xmmword [edx + 0x10]
add edx, 0x10
add ecx, 0x10
movdqu xmmword [ecx], xmm0
add ecx, 0x10
add edx, 0x10
cmp ecx, ebx
jb 0x44a6a0
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x18], edx
mov edx, edi
sub edx, ebx
mov ecx, edi
cmp esi, edx
jbe 0x44a73e
sub ecx, dword [esp + 0x80]
cmp esi, ecx
jbe 0x44a6f3
mov eax, 0xffffffec
jmp 0x44a886
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x9c]
mov edx, esi
sub edx, ebx
add eax, edx
lea ecx, [eax + ebp]
cmp ecx, esi
ja 0x44a720
push ebp
push eax
push edi
call dword [sym.imp.MSVCRT.dll_memmove]
mov eax, dword [esp + 0x20]
add esp, 0xc
jmp 0x44a886
sub esi, eax
push esi
push eax
push edi
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
lea ecx, [esi + edi]
sub ebp, esi
mov esi, dword [esp + 0xa0]
mov eax, ebx
jmp 0x44a745
mov ebp, dword [esp + 0x9c]
cmp esi, 0x10
jb 0x44a78a
cmp ebp, 0x10
movdqu xmm0, xmmword [eax]
lea edx, [ecx + ebp]
movdqu xmmword [ecx], xmm0
jle 0x44a781
add ecx, 0x10
add eax, 0x10
movdqu xmm0, xmmword [eax]
movdqu xmmword [ecx], xmm0
movdqu xmm0, xmmword [eax + 0x10]
add eax, 0x10
add ecx, 0x10
movdqu xmmword [ecx], xmm0
add ecx, 0x10
add eax, 0x10
cmp ecx, edx
jb 0x44a760
mov eax, dword [esp + 0x14]
jmp 0x44a886
cmp esi, 8
jae 0x44a7bd
movzx edx, byte [eax]
mov edi, dword [esi*4 + str._b_b_b_a_b_t_n_v]
mov byte [ecx], dl
movzx edx, byte [eax + 1]
mov byte [ecx + 1], dl
movzx edx, byte [eax + 2]
mov byte [ecx + 2], dl
movzx edx, byte [eax + 3]
mov byte [ecx + 3], dl
add eax, dword [esi*4 + 0x457298]
mov edx, dword [eax]
sub eax, edi
jmp 0x44a7c4
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
cmp ebp, 8
jbe 0x44a841
lea edx, [eax + 8]
lea eax, [ecx + 8]
mov ecx, eax
sub ecx, edx
cmp ecx, 0x10
lea esi, [ebp - 8]
lea edi, [eax + esi]
jge 0x44a803
sub edx, eax
mov ecx, dword [edx + eax]
mov dword [eax], ecx
mov ecx, dword [edx + eax + 4]
mov dword [eax + 4], ecx
add eax, 8
cmp eax, edi
jb 0x44a7e7
mov eax, dword [esp + 0x14]
jmp 0x44a886
cmp esi, 0x10
movdqu xmm0, xmmword [edx]
movdqu xmmword [eax], xmm0
jle 0x44a841
add eax, 0x10
lea ecx, [edx + 0x10]
jmp 0x44a820
movdqu xmm0, xmmword [ecx]
movdqu xmmword [eax], xmm0
movdqu xmm0, xmmword [ecx + 0x10]
add ecx, 0x10
add eax, 0x10
movdqu xmmword [eax], xmm0
add eax, 0x10
add ecx, 0x10
cmp eax, edi
jb 0x44a820
mov eax, dword [esp + 0x14]
jmp 0x44a886
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x28]
movq xmm0, qword [esi]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
mov ecx, dword [esi + 8]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x28]
push eax
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x30]
call fcn.00446890
add esp, 0x20
cmp eax, 0xffffff88
ja 0x44a948
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
inc eax
cmp eax, dword [esp + 0x134]
mov dword [esp + 0x40], eax
jge 0x44a8b1
mov ebp, dword [esp + 0x128]
jmp 0x44a091
mov ebp, dword [esp + 0x128]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov dword [ebp + 0x6834], ecx
mov ecx, dword [esp + 0x38]
mov dword [ebp + 0x682c], edx
mov dword [ebp + 0x6830], eax
cmp dword [ebp + 0x75f8], 2
jne 0x44a91b
mov edx, dword [esp + 0x24]
sub ecx, edi
mov ebx, ecx
sub edx, esi
cmp ebx, edx
ja 0x44a05b
test esi, esi
je 0x44a90f
push ebx
push edi
push esi
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
add esi, ebx
lea edi, [ebp + 0x75fc]
lea ecx, [ebp + 0x175fc]
mov eax, dword [esp + 0x24]
sub ecx, edi
mov ebp, ecx
sub eax, esi
cmp ebp, eax
ja 0x44a05b
test esi, esi
je 0x44a93f
push ebp
push edi
push esi
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
add esi, ebp
sub esi, dword [esp + 0x12c]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret