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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
mov eax, 0x1220
call fcn.0044ca48
mov esi, edx
mov edx, dword [edx + 0x3c]
mov dword [esp + 0x7c], ecx
xor ecx, ecx
sub edx, dword [esi + 0x4c]
setae cl
push 0x461d28
call fcn.0044ac21
pop ecx
cmp eax, dword [esi + 0x10]
mov dword [esp + 0x88], eax
mov dword [esp + 0x1c], esi
jne 0x449a9d
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x4c]
cmp edx, ecx
jbe 0x44ac05
mov eax, dword [esi + 0x34]
imul ecx, ecx, 0x268
cmp dword [eax + ecx], 0
jne 0x449a9d
lea esi, [esp + 0x180]
lea edx, [eax + ecx]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x50], eax
mov ecx, esi
mov dword [esp + 0x30], edx
call fcn.00448412
cmp dword [esi], 2
jne 0x4499ab
push 8
pop esi
xor eax, eax
mov dword [esp + 0x18], 0
jmp 0x449a6b
xor edx, edx
lea ebx, [esp + 0x658]
inc edx
mov ecx, ebx
call fcn.004489be
mov edi, dword [ebx]
push 0x1c
pop ecx
lea esi, [esp + 0x180]
lea eax, [esp + 0x8c0]
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 8], 1
movq xmm0, qword [ebx]
movq qword [eax], xmm0
mov edx, dword [esp + 0x30]
mov ecx, ebx
call fcn.00448412
cmp dword [esp + 0x658], 2
je 0x449a46
push 0x1c
pop ecx
lea edi, [esp + 0x180]
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 0x8c8]
cmp ebx, dword [esp + 0x8c4]
jne 0x449a1f
lea ecx, [esp + 0x8c0]
call fcn.00448576
imul edi, ebx, 0x70
add edi, dword [esp + 0x8c0]
push 0x1c
pop ecx
lea esi, [esp + 0x180]
inc ebx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x8c8], ebx
lea ebx, [esp + 0x658]
jmp 0x4499e0
lea ecx, [esp + 0x658]
call fcn.00448566
mov eax, dword [esp + 0x8c4]
mov esi, dword [esp + 0x8c0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x8c8]
mov edi, dword [esp + 0x30]
imul ebx, eax, 0x70
add ebx, esi
mov ecx, edi
call fcn.0044891f
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [edi], 1
mov dword [eax + ecx + 4], esi
mov dword [eax + ecx + 8], edx
mov dword [eax + ecx + 0xc], esi
mov dword [eax + ecx + 0x10], ebx
mov ecx, dword [ebp + 8]
add ecx, 0x48
mov dword [esp + 0x64], ecx
call fcn.00447fd9
test edx, edx
js 0x44abf7
mov esi, edx
xor edx, edx
mov edi, eax
inc edx
test esi, esi
je 0x449ad9
call fcn.0044b6bc
push esi
push 0
push eax
call fcn.0044b694
test eax, eax
je 0x44abfe
mov ecx, esi
jmp 0x449add
xor ecx, ecx
mov eax, edx
lea ebx, [esp + 0x180]
mov edx, edi
mov dword [ebx], eax
mov dword [ebx + 4], ecx
and dword [ebx + 8], 0
mov ecx, ebx
push esi
call fcn.00444f70
pop eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov eax, dword [ebx]
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x8c0]
mov edx, edi
xor edi, edi
mov dword [esp + 0x18], eax
mov ebx, ecx
inc edi
push edi
push 0x4619c0
push esi
call fcn.00445fc0
add esp, 0xc
mov eax, ebx
mov ebx, dword [ebx]
lea esi, [esp + 0x180]
mov ecx, esi
mov edx, ebx
push dword [eax + 8]
call fcn.004430d0
pop eax
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
cmp dword [esi], edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], eax
jne 0x449b9d
cmp dword [esp + 0x8c4], 0
je 0x449b6b
call fcn.0044b6bc
push ebx
push 0
push eax
call fcn.0044b68c
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
test edi, edi
je 0x449d3d
cmp dword [esp + 0x28], 0
mov ebx, dword [esp + 0x20]
je 0x449d41
call fcn.0044b6bc
push edi
push 0
push eax
call fcn.0044b68c
jmp 0x449d41
mov dword [esp + 0x2c], ebx
push 0x250
push 0
push esi
mov edi, ecx
call fcn.0044b84c
add esp, 0xc
push esi
push edi
call fcn.0044b744
cmp eax, 0xffffffff
je 0x449c48
mov dword [esp + 0x50], eax
call fcn.0044b6bc
push 0x14
push 0
push eax
call fcn.0044b694
mov esi, dword [esp + 0x18]
test eax, eax
je 0x44ac14
mov edi, eax
xor eax, eax
inc eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov eax, dword [esp + 0x28]
mov dword [edi + 8], esi
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x10], eax
lea eax, [esp + 0x190]
mov ecx, dword [eax - 0x10]
mov edx, dword [eax - 0xc]
mov dword [esp + 0x400], ecx
mov ecx, dword [eax - 4]
mov dword [esp + 0x404], edx
mov dword [esp + 0x48], ecx
mov ecx, dword [eax - 8]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x658]
push 0x240
push eax
push ecx
call fcn.0044b85c
add esp, 0xc
mov dword [esp + 0x24], 0
xor ebx, ebx
jmp 0x449c64
xor eax, eax
mov bl, 1
mov dword [esp + 0x50], 0
inc eax
mov dword [esp + 0x24], eax
call fcn.0044b6ec
mov esi, dword [esp + 0x18]
mov edi, eax
mov eax, dword [esp + 0x30]
test eax, eax
je 0x449c84
test eax, 0x7fffffff
je 0x449c84
call fcn.0044b6bc
push dword [esp + 0x20]
push 0
push eax
call fcn.0044b68c
cmp dword [esp + 0x8c4], 0
je 0x449c9f
call fcn.0044b6bc
push dword [esp + 0x2c]
push 0
push eax
call fcn.0044b68c
test bl, bl
je 0x449cbc
test esi, esi
je 0x449cbc
cmp dword [esp + 0x28], 0
je 0x449cbc
call fcn.0044b6bc
push esi
push 0
push eax
call fcn.0044b68c
cmp dword [esp + 0x24], 0
je 0x449cd1
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x30], edi
jmp 0x449d41
mov eax, dword [esp + 0x400]
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x180], eax
lea eax, [esp + 0x658]
mov dword [esp + 0x184], ecx
lea ecx, [esp + 0xfcc]
push 0x240
push eax
push ecx
call fcn.0044b85c
add esp, 0xc
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x184]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x90], 1
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x98], ecx
jmp 0x449d70
mov ebx, dword [esp + 0x20]
mov eax, dword [esi + 0x50]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x50], eax
call fcn.00447fd9
mov edi, edx
mov edx, eax
lea ecx, [esp + 0x90]
push edi
call fcn.00444ef0
pop eax
mov edx, dword [esp + 0x30]
xor eax, eax
xor edi, edi
mov dword [esp + 0x14], ebx
inc eax
mov ecx, dword [esi + 0x50]
lea ebx, [esp + 0x8e8]
movq xmm0, qword [esp + 0x90]
mov dword [ebx - 0x24], ecx
mov dword [ebx - 0x20], eax
mov eax, dword [esp + 0x50]
mov dword [ebx - 0x1c], eax
mov eax, dword [esp + 0x98]
mov dword [ebx - 0x18], edi
movq qword [ebx - 0x14], xmm0
mov dword [ebx - 0xc], eax
mov eax, dword [esp + 0x14]
mov dword [ebx - 4], edx
mov dword [ebx - 8], eax
lea eax, [esp + 0xfcc]
push 0x240
push eax
push ebx
call fcn.0044b85c
add esp, 0xc
and dword [ebx - 0x28], 0
xor eax, eax
cmp dword [esi + 0x1c], eax
je 0x44a8a5
lea eax, [esi + 0x1c]
lea esi, [esp + 0x658]
mov dword [esp + 0x9c], eax
push 0x268
lea eax, [esp + 0x8c4]
push eax
push esi
call fcn.0044b85c
add esp, 0xc
cmp dword [esi], 1
jne 0x449e2d
mov esi, dword [esp + 0x664]
cmp esi, dword [esp + 0x668]
je 0x449f8c
lea eax, [esi + 0x70]
mov dword [esp + 0x664], eax
mov eax, dword [esi]
movups xmm4, xmmword [esi + 0x14]
movups xmm3, xmmword [esi + 4]
add esi, 0x24
jmp 0x449f7b
cmp dword [esp + 0x660], 1
jne 0x449e95
push 2
pop eax
movdqu xmm0, xmmword [esp + 0x664]
movups xmm4, xmmword [esp + 0x674]
movups xmm3, xmmword [esp + 0x664]
mov dword [esp + 0x184], eax
pshufd xmm0, xmm0, 0xe5
movaps xmm1, xmmword [esp + 0x180]
movdqa xmm2, xmmword [esp + 0x190]
movd ecx, xmm0
cmp ecx, eax
movdqu xmmword [esp + 0x674], xmm2
movups xmmword [esp + 0x664], xmm1
je 0x449f8c
xor eax, eax
inc eax
jmp 0x449fae
lea edx, [esp + 0x664]
lea edi, [esp + 0x180]
mov esi, dword [edx - 8]
mov ecx, edi
call fcn.00445570
mov edi, dword [edi]
cmp edi, 2
jne 0x449ebc
push 2
pop eax
jmp 0x449f87
lea eax, [esp + 0x18c]
mov ebx, dword [eax - 8]
mov ecx, dword [eax - 4]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0xd78]
push 0x24c
push eax
push ecx
call fcn.0044b85c
add esp, 0xc
cmp edi, 1
jne 0x449f22
mov eax, dword [esp + 0x30]
inc esi
mov dword [esp + 0xb2c], esi
and dword [esp + 0xb30], 0
and dword [esp + 0xb34], 0
mov dword [esp + 0xb40], ebx
mov dword [esp + 0xb44], eax
xor eax, eax
mov dword [esp + 0xb28], 1
inc eax
jmp 0x449f6c
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x408]
mov dword [eax - 8], ebx
mov dword [eax - 4], ecx
push 0x24c
lea ecx, [esp + 0xd7c]
push ecx
push eax
call fcn.0044b85c
add esp, 0xc
inc esi
lea edi, [esp + 0x400]
lea ebx, [esp + 0xb28]
mov ecx, ebx
mov edx, esi
push edi
call fcn.00448682
pop eax
mov ecx, edi
call fcn.0044882e
mov eax, dword [ebx]
lea esi, [esp + 0xb4c]
movups xmm3, xmmword [esi - 0x20]
movups xmm4, xmmword [esi - 0x10]
push 0x13
pop ecx
lea edi, [esp + 0xa0]
rep movsd dword es:[edi], dword [esi]
cmp eax, 2
jne 0x449fae
lea ecx, [esp + 0x658]
call fcn.0044891f
xor edx, edx
mov dword [esp + 0x78], 0
push 8
pop eax
mov dword [esp + 0x20], eax
jmp 0x44a262
xor edx, edx
lea ebx, [esp + 0x180]
movaps xmmword [esp + 0x50], xmm4
movaps xmmword [esp + 0x30], xmm3
mov esi, eax
inc edx
mov ecx, ebx
call fcn.004489be
mov edi, dword [ebx]
movaps xmm0, xmmword [esp + 0x50]
mov dword [edi], esi
movups xmmword [edi + 0x14], xmm0
movaps xmm0, xmmword [esp + 0x30]
movups xmmword [edi + 4], xmm0
add edi, 0x24
push 0x13
pop ecx
lea esi, [esp + 0xa0]
lea eax, [esp + 0x68]
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 8], 1
movq xmm0, qword [ebx]
movq qword [eax], xmm0
push 0x268
lea eax, [esp + 0x65c]
push eax
push ebx
call fcn.0044b85c
add esp, 0xc
push 0xc
pop eax
lea edx, [esp + 0x400]
add ebx, eax
add eax, edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x14], eax
cmp dword [esp + 0x180], 1
jne 0x44a05c
mov esi, dword [esp + 0x18c]
cmp esi, dword [esp + 0x190]
je 0x44a22b
lea eax, [esi + 0x70]
mov dword [esp + 0x18c], eax
jmp 0x44a1d3
cmp dword [esp + 0x188], 1
jne 0x44a0d9
push 2
pop ecx
movdqu xmm2, xmmword [esp + 0x18c]
movdqu xmm0, xmmword [esp + 0x19c]
movups xmm1, xmmword [esp + 0x18c]
mov dword [esp + 0x404], ecx
pshufd xmm2, xmm2, 0xe5
movaps xmm3, xmmword [esp + 0x400]
movaps xmm4, xmmword [esp + 0x410]
movd eax, xmm2
cmp eax, ecx
mov eax, ecx
movups xmmword [esp + 0x19c], xmm4
movups xmmword [esp + 0x18c], xmm3
je 0x44a0cd
xor eax, eax
movups xmmword [esp + 0x114], xmm1
movdqu xmmword [esp + 0x124], xmm0
inc eax
mov dword [esp + 0x110], eax
jmp 0x44a1e6
mov ecx, edx
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x184]
call fcn.00445570
mov edi, dword [esp + 0x400]
cmp edi, 2
jne 0x44a10e
lea edx, [esp + 0x400]
mov dword [esp + 0x110], 2
jmp 0x44a1df
mov esi, dword [esp + 0x404]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x50], eax
push 0x24c
push dword [esp + 0x18]
lea eax, [esp + 0xb30]
push eax
call fcn.0044b85c
add esp, 0xc
cmp edi, 1
jne 0x44a17c
inc ebx
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa4], ebx
and dword [esp + 0xa8], 0
and dword [esp + 0xac], 0
mov dword [esp + 0xb8], esi
lea esi, [esp + 0xa0]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xa0], 1
jmp 0x44a1cc
mov eax, dword [esp + 0x50]
mov dword [esp + 0xd78], esi
mov dword [esp + 0xd7c], eax
push 0x24c
lea eax, [esp + 0xb2c]
push eax
lea eax, [esp + 0xd88]
push eax
call fcn.0044b85c
add esp, 0xc
inc ebx
lea esi, [esp + 0xa0]
lea edi, [esp + 0xd78]
mov ecx, esi
mov edx, ebx
push edi
call fcn.00448682
pop eax
mov ecx, edi
call fcn.0044882e
lea edx, [esp + 0x400]
push 0x1c
pop ecx
lea edi, [esp + 0x110]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x110]
cmp eax, 2
je 0x44a236
push 0x1c
pop ecx
mov edi, edx
lea esi, [esp + 0x110]
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 0x70]
cmp ebx, dword [esp + 0x6c]
jne 0x44a213
lea ecx, [esp + 0x68]
call fcn.00448576
lea edx, [esp + 0x400]
imul edi, ebx, 0x70
add edi, dword [esp + 0x68]
push 0x1c
pop ecx
mov esi, edx
inc ebx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x70], ebx
jmp 0x44a02f
mov dword [esp + 0x110], 2
lea ecx, [esp + 0x110]
call fcn.00448566
lea ecx, [esp + 0x180]
call fcn.0044891f
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x20], eax
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0xa0]
lea eax, [esp + 0x9c]
cmp edx, 0x15
mov dword [esp + 0x24], edx
mov dword [ecx], eax
mov dword [esp + 0xb28], ecx
jae 0x44a2c6
cmp edx, 2
jb 0x44a86b
mov eax, dword [esp + 0x24]
lea edi, [esp + 0xb28]
lea esi, [eax - 2]
cmp esi, 0xffffffff
je 0x44a86b
mov edx, dword [esp + 0x24]
mov ecx, esi
push 0x461ae4
push edx
push dword [esp + 0x28]
call fcn.00448a1b
add esp, 0xc
mov ecx, eax
push edi
call fcn.00448a51
pop eax
dec esi
jmp 0x44a299
push 4
pop edi
lea esi, [esp + 0xd78]
shr edx, 1
mov ecx, esi
call fcn.004489be
lea eax, [esp + 0x400]
mov edx, dword [esp + 0x24]
mov ecx, edi
mov dword [eax], edi
and dword [eax + 4], 0
and dword [eax + 8], 0
mov eax, dword [esi]
xor edi, edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffeb0
mov dword [esp + 0x80], eax
test edx, edx
je 0x44a839
mov eax, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x48], edi
mov dword [esp + 0x50], edx
dec eax
je 0x44a3a7
imul esi, edx, 0x70
mov edi, eax
imul edx, eax, 0x70
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xb28]
add edx, eax
lea eax, [esi + eax - 0xe0]
push eax
call fcn.00448aeb
pop ecx
test al, al
je 0x44a37b
add esi, dword [esp + 0x80]
lea ebx, [esp + 0xb28]
cmp edi, 1
je 0x44a3ae
lea edx, [esi + 0x70]
mov ecx, ebx
push esi
call fcn.00448aeb
pop ecx
dec edi
add esi, 0xffffff90
test al, al
jne 0x44a35a
mov ecx, edi
mov dword [esp + 0x40], edi
jmp 0x44a3b8
add esi, dword [esp + 0x80]
mov ebx, edi
cmp ebx, 1
je 0x44a3a7
lea edx, [esi + 0x70]
lea ecx, [esp + 0xb28]
push esi
call fcn.00448aeb
pop ecx
dec ebx
add esi, 0xffffff90
test al, al
je 0x44a384
jmp 0x44a43c
xor ebx, ebx
jmp 0x44a43c
mov dword [esp + 0x40], 0
xor ecx, ecx
mov edx, dword [esp + 0x50]
push 0x461af4
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.00448a1b
add esp, 0xc
imul ecx, edx, 0x70
shr edx, 1
mov dword [esp + 0x14], edx
mov edx, eax
lea eax, [eax + ecx - 0x70]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x14], 0
je 0x44a438
push 0x1c
pop ecx
lea edi, [esp + 0x180]
mov esi, edx
mov dword [esp + 0x2c], edx
rep movsd dword es:[edi], dword [esi]
push 0x70
pop eax
push eax
mov ebx, dword [esp + 0x2c]
push ebx
push edx
call fcn.0044b854
mov eax, dword [esp + 0x20]
add esp, 0xc
push 0x1c
pop ecx
mov edi, ebx
lea esi, [esp + 0x180]
add ebx, 0xffffff90
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x28], ebx
mov edx, dword [esp + 0x2c]
push 0x70
pop ecx
dec eax
mov dword [esp + 0x14], eax
add edx, ecx
jmp 0x44a3e4
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x50]
mov esi, ebx
sub edi, ebx
lea ebx, [esp + 0xb28]
test esi, esi
je 0x44a47c
cmp edi, 0xa
jae 0x44a47c
mov edx, dword [esp + 0x50]
dec esi
mov ecx, esi
push 0x461b04
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.00448a1b
add esp, 0xc
mov ecx, eax
push ebx
call fcn.00448a51
pop eax
inc edi
jmp 0x44a44b
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x40], esi
cmp ecx, dword [esp + 0x404]
jne 0x44a4f3
mov eax, ecx
inc eax
je 0x44abf7
add ecx, ecx
cmp ecx, eax
cmova eax, ecx
push 4
pop ecx
cmp eax, ecx
cmovbe eax, ecx
xor esi, esi
push 8
pop ecx
mul ecx
cmovo eax, dword [esp + 0x44]
mov dword [esp + 0x4c], eax
jo 0x44a4c5
mov ecx, dword [esp + 0x4c]
push 4
pop edx
call fcn.00448623
mov esi, edx
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x44a501
mov edx, dword [esp + 0x30]
lea ecx, [ecx*8]
mov dword [esp + 0x180], edx
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], 4
jmp 0x44a509
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x4c], eax
jmp 0x44a553
and dword [esp + 0x180], 0
mov edx, eax
lea ecx, [esp + 0x658]
lea eax, [esp + 0x180]
push eax
push esi
call fcn.0044b34a
pop eax
pop ecx
mov ecx, dword [esp + 0x65c]
mov edx, dword [esp + 0x660]
cmp dword [esp + 0x658], 1
je 0x44abf3
mov esi, dword [esp + 0x40]
shr edx, 3
mov dword [esp + 0x400], ecx
mov dword [esp + 0x404], edx
mov eax, dword [esp + 0x48]
mov dword [ecx + eax*8], esi
mov dword [ecx + eax*8 + 4], edi
mov edi, dword [esp + 0x408]
mov eax, dword [esp + 0x400]
inc edi
mov dword [esp + 0x30], eax
cmp edi, 2
mov dword [esp + 0x408], edi
jb 0x44a804
mov ecx, dword [esp + 0x30]
cmp dword [ecx + edi*8 - 8], 0
je 0x44a5d7
mov edx, dword [ecx + edi*8 - 0xc]
mov eax, dword [ecx + edi*8 - 4]
cmp edx, eax
jbe 0x44a5d7
cmp edi, 2
jbe 0x44a817
mov ecx, dword [ecx + edi*8 - 0x14]
lea esi, [edi - 3]
mov dword [esp + 0x2c], esi
lea esi, [eax + edx]
cmp ecx, esi
jbe 0x44a5eb
mov esi, dword [esp + 0x40]
cmp edi, 3
jbe 0x44a804
mov esi, dword [esp + 0x30]
add edx, ecx
cmp dword [esi + edi*8 - 0x1c], edx
mov edx, eax
mov eax, dword [esp + 0x2c]
jbe 0x44a5f1
jmp 0x44a826
cmp edi, 3
jb 0x44a5f5
mov edx, ecx
mov ecx, dword [ecx + edi*8 - 0x14]
lea eax, [edi - 3]
mov edx, dword [edx + edi*8 - 4]
jmp 0x44a5f1
mov edx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, edx
jb 0x44a5fa
add edi, 0xfffffffe
mov eax, edi
lea edx, [eax + 1]
lea ecx, [esp + 0x400]
mov edi, eax
mov dword [esp + 0x48], edx
push 0x461b14
call fcn.00448b2a
pop ecx
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov edx, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x400]
push 0x461b24
call fcn.00448b2a
pop ecx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [esp + 0x8c], ecx
add edx, ecx
mov ecx, dword [esp + 0x28]
push 0x461b34
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.00448a1b
add esp, 0xc
imul edi, esi, 0x70
mov dword [esp + 0x44], esi
mov dword [esp + 0x30], eax
lea ecx, [eax + edi]
mov dword [esp + 0x84], ecx
imul ecx, edx, 0x70
sub edx, esi
cmp edx, esi
jae 0x44a706
imul edi, edx, 0x70
push edi
mov ebx, dword [esp + 0x88]
push ebx
mov esi, dword [esp + 0x20]
push esi
mov dword [esp + 0x20], ecx
call fcn.0044b85c
mov ecx, dword [esp + 0x3c]
mov edx, edi
add esp, 0xc
mov eax, dword [esp + 0x14]
add edx, esi
lea eax, [ecx + eax - 0x70]
cmp ecx, ebx
mov dword [esp + 0x14], eax
jae 0x44a775
cmp dword [esp + 0x18], edx
jae 0x44a775
push 0xffffffffffffff90
pop eax
lea ecx, [esp + 0xb28]
mov dword [esp + 0x50], edx
lea esi, [edx + eax]
lea edi, [ebx + eax]
mov edx, esi
push edi
call fcn.00448aeb
mov edx, dword [esp + 0x54]
add esp, 4
test al, al
cmove edx, esi
cmovne ebx, edi
cmovne esi, edi
push 0x1c
pop ecx
mov eax, dword [esp + 0x14]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x30]
push 0xffffffffffffff90
pop esi
add eax, esi
jmp 0x44a6ac
add ecx, eax
mov dword [esp + 0x14], ecx
push edi
push eax
mov esi, dword [esp + 0x20]
push esi
call fcn.0044b85c
add esp, 0xc
add edi, esi
mov edx, edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x50], edx
cmp edi, dword [esp + 0x14]
jae 0x44a784
cmp edx, esi
jbe 0x44a784
mov edx, edi
mov ecx, ebx
push esi
call fcn.00448aeb
pop ecx
push 0x70
pop ecx
test al, al
mov eax, dword [esp + 0x30]
lea edx, [edi + ecx]
lea ebx, [esi + ecx]
cmovne ebx, esi
cmove edx, edi
cmovne esi, edi
mov edi, eax
add eax, ecx
mov dword [esp + 0x30], eax
push 0x1c
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, edx
mov esi, ebx
lea ebx, [esp + 0xb28]
mov edx, dword [esp + 0x50]
jmp 0x44a72a
mov esi, dword [esp + 0x18]
mov dword [esp + 0x30], ebx
lea ebx, [esp + 0xb28]
sub edx, esi
mov eax, edx
mov edi, edx
xor edx, edx
push 0x70
pop ecx
div ecx
sub edi, edx
push edi
push esi
push dword [esp + 0x38]
call fcn.0044b85c
add esp, 0xc
mov edi, dword [esp + 0x408]
mov eax, dword [esp + 0x2c]
cmp edi, eax
jbe 0x44abd7
mov esi, dword [esp + 0x8c]
mov ecx, dword [esp + 0x400]
mov edx, dword [esp + 0x28]
add esi, dword [esp + 0x44]
mov dword [ecx + eax*8], edx
mov edx, dword [esp + 0x48]
mov dword [ecx + eax*8 + 4], esi
mov esi, dword [esp + 0x40]
cmp edi, edx
jbe 0x44abe8
lea eax, [ecx + edx*8]
mov dword [esp + 0x30], ecx
lea ecx, [ecx + edx*8 + 8]
not edx
add edx, edi
shl edx, 3
push edx
push ecx
push eax
call fcn.0044b854
add esp, 0xc
dec edi
jmp 0x44a571
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
mov edx, esi
mov dword [esp + 0x44], eax
jmp 0x44a308
mov eax, dword [esp + 0x4c]
mov edx, esi
mov dword [esp + 0x44], eax
jmp 0x44a308
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
mov ecx, esi
mov dword [esp + 0x44], eax
jmp 0x44a308
mov edx, dword [esp + 0x404]
test edx, edx
je 0x44a853
test ecx, ecx
je 0x44a853
shl edx, 3
push 4
call fcn.00448115
pop eax
lea esi, [esp + 0xd78]
mov ecx, dword [esi]
mov edx, dword [esi + 8]
call fcn.0044899d
mov ecx, esi
call fcn.004480f8
imul eax, dword [esp + 0x24], 0x70
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x8c0], 1
add eax, ecx
mov dword [esp + 0x8c4], ecx
mov dword [esp + 0x8c8], edx
mov dword [esp + 0x8cc], ecx
mov dword [esp + 0x8d0], eax
cmp byte [esi + 0x24], 0
je 0x44aaa6
mov ecx, dword [esp + 0x64]
call fcn.00447fd9
mov esi, edx
lea edi, [esp + 0x180]
mov edx, eax
mov ecx, edi
push esi
call fcn.00447fe3
pop eax
mov ebx, dword [edi + 4]
cmp dword [edi], 1
jne 0x44a8dd
mov esi, dword [esp + 0x188]
jmp 0x44a90f
lea esi, [esp + 0x180]
lea edx, [esp + 0x658]
mov ecx, esi
mov dword [edx], ebx
call fcn.0043d92e
cmp dword [esi], 1
jne 0x44a93f
mov esi, dword [esp + 0x188]
mov edi, dword [esp + 0x184]
push ebx
call fcn.0044b794
mov ebx, edi
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
mov eax, dword [eax + 0x50]
mov dword [ecx], eax
and dword [ecx + 4], 0
and dword [ecx + 8], 0
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
and dword [ecx + 0x1c], 0
lea ecx, [esp + 0x8c0]
call fcn.0044891f
jmp 0x44abcf
lea esi, [esp + 0x180]
mov ecx, dword [esp + 0x64]
mov eax, dword [esi + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x50], eax
call fcn.00447fd9
mov edi, edx
mov ecx, esi
mov edx, eax
push edi
call fcn.00444ef0
pop eax
mov eax, dword [esi + 8]
movq xmm0, qword [esi]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xd80], eax
movq qword [esp + 0xd78], xmm0
mov dword [esp + 0x408], eax
movq qword [esp + 0x400], xmm0
mov ecx, dword [edx + 0x48]
cmp ecx, dword [edx + 0x44]
jne 0x44a9c8
mov eax, ecx
inc eax
je 0x44abf7
lea edx, [ecx + ecx]
cmp edx, eax
cmova eax, edx
push 4
pop edx
cmp eax, edx
cmovbe eax, edx
push 0x38
pop edx
mul edx
jno 0x44a9d1
xor eax, eax
jmp 0x44a9e8
mov esi, dword [esp + 0x1c]
jmp 0x44aa51
push 8
pop edx
mov ecx, eax
call fcn.00448623
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov eax, edx
mov ecx, dword [ecx + 0x44]
test ecx, ecx
je 0x44aa10
mov edx, dword [esp + 0x1c]
imul ecx, ecx, 0x38
mov edx, dword [edx + 0x40]
mov dword [esp + 0x180], edx
mov dword [esp + 0x184], ecx
push 8
pop ecx
mov dword [esp + 0x188], ecx
jmp 0x44aa18
and dword [esp + 0x180], 0
mov edx, dword [esp + 0x18]
lea edi, [esp + 0x658]
mov ecx, edi
push esi
push eax
call fcn.0044b34a
pop eax
pop ecx
mov ecx, dword [edi + 4]
mov eax, dword [edi + 8]
cmp dword [edi], 1
je 0x44ac0c
mov esi, dword [esp + 0x1c]
xor edx, edx
mov dword [esi + 0x40], ecx
push 0x38
pop ecx
div ecx
mov dword [esi + 0x44], eax
mov ecx, dword [esi + 0x48]
imul eax, ecx, 0x38
mov ecx, dword [esi + 0x40]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
mov dword [ecx + eax], 1
and dword [ecx + eax + 4], 0
mov dword [ecx + eax + 8], edi
and dword [ecx + eax + 0xc], 0
mov dword [ecx + eax + 0x14], edx
mov edx, dword [esp + 0x50]
mov dword [ecx + eax + 0x10], edx
and dword [ecx + eax + 0x18], 0
mov dword [ecx + eax + 0x1c], ebx
movq xmm0, qword [esp + 0x400]
movq qword [ecx + eax + 0x28], xmm0
mov edx, dword [esp + 0x408]
mov dword [ecx + eax + 0x30], edx
inc dword [esi + 0x48]
push 0x268
lea eax, [esp + 0x8c4]
push eax
lea eax, [esp + 0x188]
push eax
call fcn.0044b85c
add esp, 0xc
mov ecx, dword [esi + 0x3c]
cmp ecx, dword [esi + 0x38]
jne 0x44ab7e
mov eax, ecx
inc eax
je 0x44abf7
lea edx, [ecx + ecx]
cmp edx, eax
cmova eax, edx
push 4
pop edx
cmp eax, edx
cmovbe eax, edx
mov edx, 0x268
mul edx
jno 0x44aaf5
xor eax, eax
jmp 0x44ab0a
push 4
pop edx
mov ecx, eax
call fcn.00448623
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov eax, edx
mov ecx, dword [ecx + 0x38]
test ecx, ecx
je 0x44ab36
mov edx, dword [esp + 0x1c]
imul ecx, ecx, 0x268
mov edx, dword [edx + 0x34]
mov dword [esp + 0x658], edx
mov dword [esp + 0x65c], ecx
mov dword [esp + 0x660], 4
jmp 0x44ab3e
and dword [esp + 0x658], 0
lea edi, [esp + 0x400]
lea ebx, [esp + 0x658]
mov edx, esi
mov ecx, edi
push ebx
push eax
call fcn.0044b34a
pop eax
pop ecx
mov ecx, dword [edi + 4]
mov eax, dword [edi + 8]
cmp dword [edi], 1
je 0x44ac0c
mov esi, dword [esp + 0x1c]
xor edx, edx
mov dword [esi + 0x34], ecx
mov ecx, 0x268
div ecx
mov dword [esi + 0x38], eax
mov ecx, dword [esi + 0x3c]
imul eax, ecx, 0x268
mov ecx, 0x268
add eax, dword [esi + 0x34]
push ecx
lea ecx, [esp + 0x184]
push ecx
push eax
call fcn.0044b85c
add esp, 0xc
inc dword [esi + 0x3c]
mov eax, dword [esp + 0x88]
cmp eax, dword [esi + 0x10]
jne 0x44abc4
mov edx, dword [esi + 0x4c]
xor ecx, ecx
inc edx
setne cl
push 0x461d48
call fcn.0044ac21
pop ecx
mov dword [esi + 0x4c], eax
mov eax, dword [esp + 0x7c]
mov dword [eax + 4], 2
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, eax
mov edx, edi
push 0x461b44
call fcn.00430940
pop eax
ud2
mov ecx, edx
mov edx, edi
call fcn.0042ecf0
ud2
test edx, edx
jne 0x44ac1a
call fcn.0042e8c0
ud2
xor edx, edx
mov ecx, esi
inc edx
jmp 0x44ac1a
push 0x461d38
jmp 0x44abe0
test eax, eax
je 0x44abf7
mov edx, eax
jmp 0x44ac1a
push 0x14
pop ecx
push 4
pop edx
call fcn.0042e8b0
ud2