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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x84
mov edi, dword [ebp + 0x10]
test byte [0x6dfa20], 1
mov dword [edi], 0
je 0x44a29f
mov eax, dword [ebp + 8]
test byte [0x6c59fc], 1
mov esi, dword [eax]
jne 0x449e99
xor eax, eax
test esi, esi
mov ebx, esi
lea edx, [esp + 8]
push 0xc0
cmovl ebx, eax
push ebx
push 2
push edx
call fcn.005c12c0
mov edx, dword [0x6c59fc]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
and ecx, 1
mov dword [0x6c59fc], edx
shr edx, 8
shl eax, 4
and edx, 1
shl edx, 0x15
lea ecx, [ecx + ecx + 1]
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c59f0
push dword [esp + 0x20]
call fcn.005c0f80
add esp, 0x1c
test eax, eax
jne 0x449cb4
movzx ecx, byte [0x6c59fd]
mov edx, 0xc0
and ecx, 1
shl ecx, 8
add ecx, 0x85
mov dword [0x6c59fc], ecx
mov ecx, 1
mov dword [0x6c5a00], ecx
mov dword [0x6c5a10], ecx
lea ecx, [esp + 4]
push edx
push ebx
push 2
push ecx
mov dword [0x6c59f4], edx
mov dword [0x6c59f8], 0
mov dword [0x6c5a08], ebx
mov dword [0x6c5a0c], edx
mov dword [esp + 0x10], eax
call fcn.005c12c0
mov eax, dword [esp + 0x10]
add esp, 0x10
mov ecx, dword [0x6c59f0]
mov ebx, ecx
mov edx, dword [esp + 4]
add edx, ecx
cmp ecx, edx
jae 0x449cb4
mov dword [esp + 0x24], esi
xor edx, edx
mov edi, 0xc0
lea esi, [edx + edx*2]
shl esi, 6
add esi, ecx
mov ecx, edi
movups xmm0, xmmword [ecx + 0x6dfa30]
movups xmmword [esi + ecx - 0x10], xmm0
movups xmm1, xmmword [ecx + 0x6dfa20]
movups xmmword [esi + ecx - 0x20], xmm1
movups xmm2, xmmword [ecx + 0x6dfa10]
movups xmmword [esi + ecx - 0x30], xmm2
movups xmm3, xmmword [ecx + 0x6dfa00]
movups xmmword [esi + ecx - 0x40], xmm3
sub ecx, 0x40
jne 0x449c61
mov ecx, dword [0x6c59f0]
add ebx, 0xc0
mov esi, dword [esp + 4]
inc edx
add esi, ecx
cmp ebx, esi
jb 0x449c57
mov esi, dword [esp + 0x24]
mov edi, dword [ebp + 0x10]
mov dword [edi], eax
test esi, esi
jle 0x44a8dd
mov ebx, 1
mov dword [esp + 0x24], esi
mov esi, dword [ebp + 0xc]
xor eax, eax
push 8
mov edx, dword [esi + ebx*4 - 4]
test edx, edx
cmovle edx, eax
mov dword [esp + 0x20], edx
push edx
push edx
push 3
lea ecx, [esp + 0x28]
push ecx
call fcn.005c12c0
mov edi, dword [0x6c5a10]
and eax, 1
shl eax, 4
add eax, 0x40001
push eax
mov eax, dword [0x6c59f0]
lea esi, [edi + edi*2]
shl esi, 6
lea edi, [ebx + ebx*2]
shl edi, 6
lea ecx, [eax + edi]
sub eax, esi
sub ecx, esi
lea eax, [eax + edi + 0x30]
mov edx, dword [ecx + 0x3c]
push eax
and edx, 0xfffffff
push dword [esp + 0x34]
add edx, 0x40000000
mov dword [ecx + 0x3c], edx
call fcn.005c0a80
mov esi, eax
add esp, 0x20
test esi, esi
jne 0x449e7b
imul eax, dword [0x6c5a10], 0xffffff40
mov edx, 8
mov ecx, dword [0x6c59f0]
mov esi, 1
add ecx, edi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x1c]
mov dword [eax + ecx + 0x50], esi
mov dword [eax + ecx + 0x5c], esi
lea esi, [edi*8]
mov dword [eax + ecx + 0x3c], 5
mov dword [eax + ecx + 0x34], edx
mov dword [eax + ecx + 0x40], 2
mov dword [eax + ecx + 0x38], 0
mov dword [eax + ecx + 0x48], edi
mov dword [eax + ecx + 0x54], edi
mov dword [eax + ecx + 0x4c], edx
mov dword [eax + ecx + 0x58], esi
lea eax, [esp + 0xc]
push edx
push edi
push edi
push 3
push eax
mov edi, dword [eax + 8]
call fcn.005c12c0
lea edx, [esp + 0x24]
push 1
mov eax, dword [edx + 0xc]
push eax
push eax
push 3
push edx
call fcn.005c12c0
and eax, 1
shl eax, 4
mov edx, dword [0x6c5a10]
add eax, 0x40001
push eax
mov eax, dword [0x6c59f0]
lea edx, [edx + edx*2]
shl edx, 6
lea esi, [edi + eax]
sub eax, edx
sub esi, edx
lea eax, [eax + edi + 0x60]
mov ecx, dword [esi + 0x6c]
push eax
and ecx, 0xfffffff
push dword [esp + 0x40]
add ecx, 0x40000000
mov dword [esi + 0x6c], ecx
call fcn.005c0a80
mov esi, eax
add esp, 0x34
test esi, esi
jne 0x449e7b
imul ecx, dword [0x6c5a10], 0xffffff40
mov edx, 1
add edi, dword [0x6c59f0]
mov eax, dword [esp + 0x1c]
mov dword [ecx + edi + 0x6c], 5
mov dword [ecx + edi + 0x64], edx
mov dword [ecx + edi + 0x70], 2
mov dword [ecx + edi + 0x68], 0
mov dword [ecx + edi + 0x80], edx
mov dword [ecx + edi + 0x78], eax
mov dword [ecx + edi + 0x8c], edx
mov dword [ecx + edi + 0x84], eax
mov dword [ecx + edi + 0x7c], edx
mov dword [ecx + edi + 0x88], eax
lea edi, [esp]
push edx
push eax
push eax
push 3
push edi
call fcn.005c12c0
add esp, 0x14
mov eax, dword [ebp + 0x10]
mov dword [eax], esi
test esi, esi
jne 0x44a8ea
inc ebx
cmp ebx, dword [esp + 0x24]
jle 0x449cc7
mov esi, dword [esp + 0x24]
jmp 0x449ea1
test esi, esi
jle 0x44a8dd
imul ebx, dword [0x6c5a10], 0xffffff40
xor eax, eax
add ebx, dword [0x6c59f0]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], esi
mov eax, dword [esp + 0x28]
lea ecx, [eax + eax*2]
shl ecx, 6
mov edx, dword [ebx + ecx + 0x114]
mov eax, dword [ebx + ecx + 0x11c]
test edx, edx
jle 0x44a07c
mov edi, dword [ecx + ebx + 0x110]
mov esi, dword [ecx + ebx + 0x108]
mov dword [esp + 0x40], edi
mov edi, esi
and edi, 0xfffffff8
mov dword [esp + 0x44], 0
mov dword [esp + 0x70], edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], ebx
cmp dword [esp + 0x5c], 0
jle 0x44a05d
cmp dword [esp + 0x5c], 8
jl 0x44a94d
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
pxor xmm0, xmm0
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
mov ecx, eax
mov ebx, dword [esi + edi + 0x11c]
neg ebx
mov dword [esp + 0x60], edx
mov edx, dword [esi + edi + 0x10c]
add ebx, dword [esp + 0x58]
imul ecx, edx
imul ebx, dword [esi + edi + 0x118]
mov esi, dword [esi + edi + 0xf0]
lea edi, [eax + 2]
sub esi, ecx
lea ecx, [eax + 6]
add ebx, esi
lea esi, [eax + 4]
imul eax, edx
imul edi, edx
imul esi, edx
imul ecx, edx
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
nop dword [eax + eax]
nop dword [eax]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
add edx, ebx
movsd qword [edx], xmm0
movhpd qword [eax + edx], xmm0
lea edx, [edi + ebx]
movsd qword [edx], xmm0
lea edi, [edi + eax*8]
movhpd qword [eax + edx], xmm0
lea edx, [esi + ebx]
movsd qword [edx], xmm0
lea esi, [esi + eax*8]
movhpd qword [eax + edx], xmm0
lea edx, [ecx + ebx]
movsd qword [edx], xmm0
lea ecx, [ecx + eax*8]
movhpd qword [eax + edx], xmm0
mov edx, dword [esp + 0x78]
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x74]
add eax, 8
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], eax
cmp eax, dword [esp + 0x70]
jb 0x449fa0
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x60]
add ebx, eax
cmp eax, dword [esp + 0x5c]
jae 0x44a05d
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
pxor xmm0, xmm0
mov ecx, dword [esp + 0x40]
mov eax, dword [esi + edi + 0x11c]
neg eax
mov edx, dword [esi + edi + 0x10c]
add eax, dword [esp + 0x58]
imul ecx, edx
imul eax, dword [esi + edi + 0x118]
imul ebx, edx
mov esi, dword [esi + edi + 0xf0]
sub esi, ecx
mov ecx, dword [esp + 0x60]
add eax, esi
mov esi, dword [esp + 0x5c]
inc ecx
movsd qword [ebx + eax], xmm0
add ebx, edx
cmp ecx, esi
jb 0x44a051
mov eax, dword [esp + 0x44]
inc eax
inc dword [esp + 0x58]
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x54]
jb 0x449f12
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov edx, dword [ebx + ecx + 0x144]
mov eax, dword [ebx + ecx + 0x14c]
test edx, edx
jle 0x44a1ad
mov edi, dword [ecx + ebx + 0x140]
mov esi, dword [ecx + ebx + 0x138]
mov dword [esp + 0x64], edi
mov edi, esi
shr edi, 1
mov dword [esp + 0x48], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], edi
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], ebx
cmp dword [esp + 0x50], 0
jle 0x44a18a
cmp dword [esp + 0x68], 0
jbe 0x44a943
mov edi, dword [esp + 0x34]
xor ecx, ecx
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x64]
mov edx, dword [ebx + edi + 0x14c]
neg edx
mov eax, dword [ebx + edi + 0x13c]
add edx, dword [esp + 0x3c]
imul esi, eax
imul edx, dword [ebx + edi + 0x148]
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + edi + 0x120]
sub eax, esi
add edx, eax
mov ebx, dword [esp + 0x64]
xor eax, eax
mov edi, dword [esp + 0x6c]
mov esi, edi
lea ebx, [ebx + ecx*2]
inc ecx
imul esi, ebx
inc ebx
imul ebx, edi
mov byte [edx + esi], al
mov byte [edx + ebx], al
cmp ecx, dword [esp + 0x68]
jb 0x44a11e
lea esi, [ecx + ecx + 1]
lea eax, [esi - 1]
cmp eax, dword [esp + 0x50]
jae 0x44a18a
mov edi, dword [esp + 0x64]
mov ebx, edi
mov edx, dword [esp + 0x34]
neg ebx
mov ecx, dword [esp + 0x38]
lea esi, [esi + edi - 1]
add ebx, esi
mov eax, dword [esp + 0x3c]
imul ebx, dword [ecx + edx + 0x13c]
sub eax, dword [ecx + edx + 0x14c]
imul eax, dword [ecx + edx + 0x148]
add ebx, dword [ecx + edx + 0x120]
mov byte [ebx + eax], 0
mov eax, dword [esp + 0x48]
inc eax
inc dword [esp + 0x3c]
mov dword [esp + 0x48], eax
cmp eax, dword [esp + 0x4c]
jb 0x44a0cc
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x28]
mov edi, dword [edx + esi*4]
mov dword [esp + 0x2c], edi
test edi, edi
jle 0x44a287
mov edx, edi
shr edx, 1
mov dword [esp + 0x30], edx
test edx, edx
jbe 0x44a939
mov esi, dword [ecx + ebx + 0x148]
mov edi, dword [ecx + ebx + 0x14c]
imul edi, esi
mov dword [esp + 0x14], eax
mov eax, dword [ecx + ebx + 0x13c]
add esi, eax
mov edx, dword [ecx + ebx + 0x140]
imul edx, eax
mov dword [esp + 0x38], ecx
mov ecx, dword [ecx + ebx + 0x120]
sub ecx, edi
sub ecx, edx
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], ecx
mov eax, 0xffffffff
mov dword [esp + 0x34], ebx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x30]
lea edi, [edx + edx + 1]
imul edi, esi
mov byte [ecx + edi], al
lea edi, [edx + edx + 2]
imul edi, esi
inc edx
mov byte [ecx + edi], al
cmp edx, ebx
jb 0x44a22b
mov eax, dword [esp + 0x14]
lea esi, [edx + edx + 1]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
lea edx, [esi - 1]
cmp edx, dword [esp + 0x2c]
jae 0x44a287
mov edx, dword [ebx + ecx + 0x140]
neg eax
neg edx
add eax, esi
add edx, esi
imul edx, dword [ebx + ecx + 0x13c]
imul eax, dword [ebx + ecx + 0x148]
add edx, dword [ebx + ecx + 0x120]
mov byte [edx + eax], 0xff
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x24]
jb 0x449ebb
jmp 0x44a8dd
test byte [0x6c5d34], 1
jne 0x44a4e1
mov edx, dword [0x81eea8]
xor ebx, ebx
test edx, edx
lea ecx, [esp + 0xc]
mov eax, dword [0x81eeb0]
cmovle edx, ebx
test eax, eax
push 8
cmovle eax, ebx
push eax
push edx
push edx
push 4
push ecx
call fcn.005c12c0
mov edx, eax
mov ecx, dword [0x6c5d34]
and edx, 1
and ecx, 0xfffffff
add ecx, 0x40000000
mov eax, ecx
and eax, 1
mov dword [0x6c5d34], ecx
shr ecx, 8
shl edx, 4
and ecx, 1
shl ecx, 0x15
lea esi, [eax + eax + 1]
or esi, edx
or esi, ecx
add esi, 0x40000
push esi
push 0x6c5d28
push dword [esp + 0x2c]
call fcn.005c0f80
mov esi, eax
add esp, 0x24
test esi, esi
jne 0x44a4d7
mov edx, dword [0x81eea8]
test edx, edx
movzx esi, byte [0x6c5d35]
cmovle edx, ebx
mov ecx, 8
and esi, 1
shl esi, 8
add esi, 0x85
mov dword [0x6c5d34], esi
mov esi, 1
mov dword [0x6c5d48], esi
mov dword [0x6c5d54], esi
mov dword [0x6c5d60], esi
lea esi, [edx*8]
mov dword [0x6c5d50], esi
imul esi, edx
mov eax, dword [0x81eeb0]
test eax, eax
mov dword [0x6c5d5c], esi
lea esi, [esp + 4]
push ecx
cmovle eax, ebx
push eax
push edx
push edx
push 4
push esi
mov dword [0x6c5d2c], ecx
mov dword [0x6c5d38], 3
mov dword [0x6c5d30], ebx
mov dword [0x6c5d40], edx
mov dword [0x6c5d4c], edx
mov dword [0x6c5d58], eax
mov dword [0x6c5d44], ecx
call fcn.005c12c0
mov edx, dword [0x81eea8]
test edx, edx
mov eax, dword [0x81eeb0]
lea ecx, [esp + 0x20]
cmovle edx, ebx
test eax, eax
push 1
cmovle eax, ebx
push eax
push edx
push edx
push 4
push ecx
call fcn.005c12c0
mov edx, eax
mov ecx, dword [0x6c5cf4]
and edx, 1
and ecx, 0xfffffff
add ecx, 0x40000000
mov eax, ecx
and eax, 1
mov dword [0x6c5cf4], ecx
shr ecx, 8
shl edx, 4
and ecx, 1
shl ecx, 0x15
lea esi, [eax + eax + 1]
or esi, edx
or esi, ecx
add esi, 0x40000
push esi
push 0x6c5ce8
push dword [esp + 0x40]
call fcn.005c0f80
mov esi, eax
add esp, 0x3c
test esi, esi
jne 0x44a4d7
mov edx, dword [0x81eea8]
test edx, edx
mov ecx, dword [0x81eeb0]
cmovle edx, ebx
test ecx, ecx
mov dword [0x6c5cf0], ebx
cmovle ecx, ebx
mov ebx, edx
movzx eax, byte [0x6c5cf5]
imul ebx, edx
and eax, 1
shl eax, 8
add eax, 0x85
mov dword [0x6c5cf4], eax
mov eax, 1
mov dword [0x6c5d1c], ebx
lea ebx, [esp]
push eax
push ecx
push edx
push edx
push 4
push ebx
mov dword [0x6c5cec], eax
mov dword [0x6c5cf8], 3
mov dword [0x6c5d08], eax
mov dword [0x6c5d00], edx
mov dword [0x6c5d14], eax
mov dword [0x6c5d0c], edx
mov dword [0x6c5d20], eax
mov dword [0x6c5d18], ecx
mov dword [0x6c5d04], eax
mov dword [0x6c5d10], edx
call fcn.005c12c0
add esp, 0x18
mov dword [edi], esi
test esi, esi
jne 0x44a97f
mov edx, dword [0x6c5d58]
mov eax, dword [0x6c5d60]
mov dword [esp + 0x24], edx
test edx, edx
jle 0x44a68f
mov ecx, dword [0x6c5d4c]
xor esi, esi
mov edx, dword [0x6c5d5c]
imul eax, edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x20], edx
mov ecx, dword [0x6c5d50]
mov edx, dword [0x6c5d54]
imul edx, ecx
mov ebx, dword [0x6c5d40]
and ebx, 0xfffffffc
mov dword [esp + 0x3c], ebx
mov ebx, dword [0x6c5d48]
mov edi, dword [0x6c5d28]
shl ebx, 3
mov dword [esp + 0x10], edi
sub edi, ebx
sub ebx, eax
sub eax, edx
add edi, ebx
add edi, eax
add edi, edx
mov edx, dword [0x6c5d40]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x14], edi
lea eax, [edx*8]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
mov ecx, esi
cmp dword [esp + 0x4c], 0
jle 0x44a680
mov eax, dword [esp + 0x14]
xor edx, edx
mov edi, dword [esp + 0x10]
mov dword [esp + 0x48], edx
mov dword [esp + 0x28], edx
add eax, esi
mov dword [esp + 0x34], eax
add edi, esi
mov dword [esp + 0x2c], edi
mov ebx, eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x40]
test edx, edx
jle 0x44a653
cmp edx, 0xc
jle 0x44a5fc
mov dword [esp + 0x40], edx
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
push dword [esp + 0x44]
push 0
push esi
call fcn.0062a5e0
add esp, 0xc
mov eax, dword [esp + 0x50]
inc edi
add dword [esp + 0x48], eax
add esi, eax
add ebx, eax
cmp edi, dword [esp + 0x4c]
jae 0x44a972
cmp dword [esp + 0x40], 0xc
jg 0x44a5c3
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edi
mov edx, dword [esp + 0x40]
cmp edx, 4
jl 0x44a96b
mov edi, dword [esp + 0x30]
xor ecx, ecx
mov eax, dword [esp + 0x48]
pxor xmm0, xmm0
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x40], edx
add edi, eax
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
add eax, edi
mov edi, esi
movups xmmword [eax + ecx*8], xmm0
movups xmmword [edx + ecx*8 + 0x10], xmm0
add ecx, 4
cmp ecx, edi
jb 0x44a62d
mov edx, dword [esp + 0x40]
cmp esi, edx
jae 0x44a653
pxor xmm0, xmm0
movsd qword [ebx + esi*8], xmm0
inc esi
cmp esi, edx
jb 0x44a649
mov eax, dword [esp + 0x50]
add ebx, eax
mov ecx, dword [esp + 0x28]
inc ecx
add dword [esp + 0x2c], eax
add dword [esp + 0x48], eax
mov dword [esp + 0x28], ecx
cmp ecx, dword [esp + 0x4c]
jb 0x44a5aa
mov dword [esp + 0x40], edx
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
inc ecx
add esi, dword [esp + 0x20]
cmp ecx, dword [esp + 0x24]
jb 0x44a56f
mov eax, dword [0x6c5d20]
mov edx, dword [0x6c5d18]
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], edx
test edx, edx
jle 0x44a7e6
mov esi, dword [0x6c5d00]
xor edi, edi
mov dword [esp + 0x1c], esi
and esi, 0xfffffff0
mov ecx, dword [0x6c5d1c]
mov dword [esp + 0x18], esi
pxor xmm0, xmm0
mov esi, eax
imul esi, ecx
mov dword [esp + 0x2c], ecx
mov ebx, dword [0x6c5d10]
mov ecx, dword [0x6c5d14]
imul ecx, ebx
mov eax, dword [0x6c5d0c]
mov dword [esp + 0x3c], eax
mov eax, dword [0x6c5ce8]
mov edx, dword [0x6c5d08]
mov dword [esp + 0x20], eax
sub eax, edx
sub edx, esi
sub esi, ecx
add eax, edx
add eax, esi
add eax, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], ebx
mov eax, edi
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jle 0x44a7d7
mov ebx, dword [esp + 0x20]
xor edx, edx
mov esi, dword [esp + 0x14]
mov dword [esp + 0x38], edx
pxor xmm0, xmm0
mov dword [esp + 0x28], eax
add ebx, edi
mov dword [esp + 0x34], ebx
add esi, edi
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jle 0x44a7b6
cmp ebx, 0x60
jle 0x44a790
mov edi, dword [esp + 0x34]
push ebx
push 0
push edi
call fcn.0062a5e0
add esp, 0xc
mov edx, dword [esp + 0x38]
inc edx
mov eax, dword [esp + 0x40]
add esi, eax
add edi, eax
mov dword [esp + 0x38], edx
cmp edx, dword [esp + 0x3c]
jae 0x44a7cb
cmp ebx, 0x60
jg 0x44a758
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x18]
pxor xmm0, xmm0
mov edx, dword [esp + 0x40]
cmp ebx, 0x10
jl 0x44a964
mov edi, eax
xor ecx, ecx
movdqu xmmword [ecx + esi], xmm0
add ecx, 0x10
cmp ecx, eax
jb 0x44a79d
cmp edi, ebx
jae 0x44a7b6
mov byte [edi + esi], 0
inc edi
cmp edi, ebx
jb 0x44a7ad
mov ecx, dword [esp + 0x38]
add esi, edx
inc ecx
add dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
cmp ecx, dword [esp + 0x3c]
jb 0x44a74b
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
inc eax
add edi, dword [esp + 0x2c]
cmp eax, dword [esp + 0x30]
jb 0x44a715
mov eax, dword [0x81eeb0]
mov ecx, dword [0x81eea8]
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x44a8dd
mov edi, ecx
xor eax, eax
shr edi, 1
mov dword [esp + 0x34], edi
mov ebx, dword [0x6c5d1c]
mov edi, dword [esp + 0x10]
imul edi, ebx
mov dword [esp + 0x28], ebx
sub edi, ebx
mov ebx, dword [0x6c5d10]
mov esi, dword [0x6c5d14]
imul esi, ebx
mov edx, dword [0x6c5ce8]
sub edx, dword [0x6c5d08]
sub edx, edi
mov edi, edx
sub edi, esi
mov dword [esp + 0x20], edi
mov edi, esi
sub edi, ebx
neg edi
add edi, edx
mov dword [esp + 0x18], edi
lea edi, [ebx + ebx]
sub esi, edi
mov dword [esp + 0x1c], eax
sub edx, esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x24], ecx
mov edi, eax
cmp dword [esp + 0x24], 0
jle 0x44a8d2
cmp dword [esp + 0x34], 0
jbe 0x44a95a
mov ecx, dword [esp + 0x18]
xor esi, esi
mov edx, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], edi
add ecx, eax
add edx, eax
mov eax, 0xffffffff
lea edi, [ecx + esi*2]
mov byte [edi + ebx*2 + 1], al
lea edi, [edx + esi*2]
inc esi
mov byte [edi + ebx*2 + 2], al
add ebx, dword [esp + 0x30]
cmp esi, dword [esp + 0x34]
jb 0x44a88e
mov eax, dword [esp + 0x10]
lea ecx, [esi + esi + 1]
mov edi, dword [esp + 0x1c]
lea edx, [ecx - 1]
cmp edx, dword [esp + 0x24]
jae 0x44a8d2
mov edx, ecx
imul edx, dword [esp + 0x30]
add edx, dword [esp + 0x20]
add edx, ecx
mov byte [edx + eax], 0xff
inc edi
add eax, dword [esp + 0x28]
cmp edi, dword [esp + 0x2c]
jb 0x44a864
add esp, 0x84
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x24]
mov eax, 0x676280
push 0x33
push 0x676454
push eax
push eax
mov ebx, 0x676284
push ebx
push ebx
call fcn.0053e690
push 0x52
push 0x6762e0
push 0x676288
push 0x676280
push ebx
push ebx
call fcn.0053e690
push 0xc
push 0x676284
push 0x676488
call fcn.00471080
add esp, 0x3c
jmp 0x449ea1
mov esi, 1
jmp 0x44a254
mov esi, 1
jmp 0x44a145
mov dword [esp + 0x60], 0
jmp 0x449ffc
mov ecx, 1
jmp 0x44a8b8
xor edi, edi
jmp 0x44a7a9
xor esi, esi
jmp 0x44a641
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x44a680
push 0x33
push 0x676498
mov eax, 0x676280
mov ebx, 0x676284
push eax
push eax
push ebx
push ebx
call fcn.0053e690
push 0x52
push 0x676340
push 0x676288
push 0x676280
push ebx
push ebx
call fcn.0053e690
push 0xc
push 0x676284
push 0x6764cc
call fcn.00471080
add esp, 0x3c
jmp 0x44a4e1