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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov dword [esp + 0x34], edx
lea esi, [edx + 0x60]
mov dword [esp + 0x30], ecx
mov eax, dword [ecx + 0x98]
mov dword [esp + 4], eax
mov edi, 0x5247a8
mov ebx, 0xbe
nop
lea eax, [edi + 4]
push esi
push eax
call fcn.00403740
add esp, 8
test eax, eax
je 0x44976f
add edi, 0x3c
dec ebx
jne 0x449560
mov eax, dword [esp + 4]
jmp 0x449596
mov eax, dword [esp + 4]
mov eax, dword [eax]
test eax, eax
je 0x4495d4
mov dword [esp + 4], eax
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x449590
mov eax, dword [esp + 4]
mov edi, dword [eax + 8]
mov dword [esp + 8], edi
lea eax, [edi + 4]
push esi
push eax
call fcn.00403740
add esp, 8
test eax, eax
je 0x4495c9
add edi, 0x3c
dec ebx
jne 0x4495b0
jmp 0x449590
cmp dword [esp + 8], 0
jne 0x44976f
movdqa xmm0, xmmword [0x5235f0]
movdqu xmmword [esp + 0x40], xmm0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
lea eax, [esp + 0x10]
lea ecx, [esp + 0xc]
lea edx, [esp + 0x40]
push eax
push ecx
push 0
push 0x40
push edx
push 2
push esi
push 1
push dword [esp + 0x50]
call fcn.0041c150
add esp, 0x24
test eax, eax
jne 0x449bf8
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test ebx, ebx
je 0x449632
xor eax, eax
mov dword [esp + 0x2c], ecx
jmp 0x44965f
and ecx, 0xfffffffe
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
jmp 0x449857
cmp dword [esp + 0x38], 0
jne 0x449702
mov eax, dword [esp + 0x3c]
inc eax
cmp eax, ebx
mov ecx, dword [esp + 0x2c]
je 0x449700
mov dword [esp + 0x3c], eax
lea eax, [eax + eax*8]
lea eax, [ecx + eax*4]
mov dword [esp + 4], eax
push eax
push 0x524d10
call fcn.00403740
add esp, 8
test eax, eax
je 0x44964e
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x98]
mov dword [esp + 8], eax
mov edi, 0x5247a8
mov esi, 0xbe
nop word [eax + eax]
lea eax, [edi + 4]
push dword [esp + 4]
push eax
call fcn.00403740
add esp, 8
test eax, eax
je 0x449702
add edi, 0x3c
dec esi
jne 0x4496a0
mov eax, dword [esp + 8]
jmp 0x4496c6
mov eax, dword [esp + 8]
mov eax, dword [eax]
test eax, eax
je 0x44964e
mov dword [esp + 8], eax
mov esi, dword [eax + 4]
test esi, esi
je 0x4496c0
mov eax, dword [esp + 8]
mov edi, dword [eax + 8]
mov dword [esp + 0x38], edi
lea eax, [edi + 4]
push dword [esp + 4]
push eax
call fcn.00403740
add esp, 8
test eax, eax
je 0x449643
add edi, 0x3c
dec esi
jne 0x4496e0
jmp 0x4496c0
xor edi, edi
test ebx, ebx
je 0x449757
mov esi, dword [esp + 0x2c]
jmp 0x449748
mov eax, dword [esi + 0xc]
and eax, 0xfffffffe
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov eax, dword [esi + 0x1c]
and eax, 0xfffffffe
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
pxor xmm0, xmm0
movdqu xmmword [esi + 0x10], xmm0
movdqu xmmword [esi], xmm0
mov dword [esi + 0x20], 0
add esi, 0x24
dec ebx
je 0x449757
mov eax, dword [esi + 4]
cmp eax, 5
je 0x449710
cmp eax, 3
je 0x449710
jmp 0x44971f
mov eax, dword [esp + 0x2c]
and eax, 0xfffffffe
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
test edi, edi
je 0x449857
pxor xmm0, xmm0
movdqa xmmword [esp + 0x10], xmm0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov ebx, dword [esp + 0x34]
cmp dword [ebx + 0x78], 0
js 0x4497e4
je 0x449824
lea eax, [esp + 0x24]
push 0x524910
push eax
push dword [ebx + 0x7c]
push dword [ebx + 0x80]
call fcn.00403bc0
add esp, 0x10
test eax, eax
jne 0x449bf8
mov eax, dword [ebx + 0x7c]
mov dword [esp + 0x20], eax
test eax, eax
je 0x449861
mov ecx, dword [esp + 0x24]
cmp eax, 8
jae 0x44986b
mov esi, 1
xor edx, edx
jmp 0x4499ca
movzx eax, word [edi + 0x34]
push eax
push 1
call sub.api_ms_win_crt_heap_l1_1_0.dll_calloc
add esp, 8
test eax, eax
je 0x44984d
pxor xmm0, xmm0
movdqu xmmword [esp + 0x14], xmm0
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], edi
mov dword [esp + 8], eax
mov dword [esp + 0x1c], eax
xor esi, esi
mov dword [esp + 4], 0
jmp 0x449ac9
movdqu xmmword [esp + 0x14], xmm0
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], edi
xor esi, esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
jmp 0x449ac9
mov eax, 0x80030000
jmp 0x449bf8
mov eax, 0x80740000
jmp 0x449bf8
mov esi, 1
jmp 0x4499f3
mov edx, eax
and edx, 0xfffffff8
movdqa xmm0, xmmword [0x523600]
xor esi, esi
pxor xmm2, xmm2
movdqa xmm1, xmm0
jmp 0x4498eb
psubd xmm3, xmm4
psubd xmm5, xmm6
pshufd xmm4, xmm3, 0xf5
pmuludq xmm3, xmm0
pshufd xmm0, xmm0, 0xf5
pshufd xmm3, xmm3, 0xe8
pmuludq xmm0, xmm4
pshufd xmm4, xmm0, 0xe8
movdqa xmm0, xmm3
punpckldq xmm0, xmm4
pshufd xmm3, xmm5, 0xf5
pmuludq xmm5, xmm1
pshufd xmm1, xmm1, 0xf5
pshufd xmm4, xmm5, 0xe8
pmuludq xmm1, xmm3
pshufd xmm3, xmm1, 0xe8
movdqa xmm1, xmm4
punpckldq xmm1, xmm3
add esi, 8
cmp edx, esi
je 0x44999c
movdqu xmm3, xmmword [ecx + esi*4]
movdqa xmm4, xmm3
pcmpeqd xmm4, xmm2
movd ebx, xmm4
test bl, 1
je 0x449908
mov dword [ecx + esi*4], 1
pextrw ebx, xmm4, 2
test bl, 1
je 0x44991a
mov dword [ecx + esi*4 + 4], 1
pextrw ebx, xmm4, 4
test bl, 1
je 0x44992c
mov dword [ecx + esi*4 + 8], 1
pextrw ebx, xmm4, 6
test bl, 1
je 0x44993e
mov dword [ecx + esi*4 + 0xc], 1
movdqu xmm5, xmmword [ecx + esi*4 + 0x10]
movdqa xmm6, xmm5
pcmpeqd xmm6, xmm2
movd ebx, xmm6
test bl, 1
je 0x44995d
mov dword [ecx + esi*4 + 0x10], 1
pextrw ebx, xmm6, 2
test bl, 1
je 0x44996f
mov dword [ecx + esi*4 + 0x14], 1
pextrw ebx, xmm6, 4
test bl, 1
je 0x449981
mov dword [ecx + esi*4 + 0x18], 1
pextrw ebx, xmm6, 6
test bl, 1
je 0x449890
mov dword [ecx + esi*4 + 0x1c], 1
jmp 0x449890
pshufd xmm2, xmm0, 0xf5
pshufd xmm3, xmm1, 0xf5
pmuludq xmm3, xmm2
pmuludq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
pmuludq xmm0, xmm1
pshufd xmm1, xmm3, 0xaa
pmuludq xmm1, xmm3
pmuludq xmm1, xmm0
movd esi, xmm1
jmp 0x4499e1
mov ebx, dword [ecx + edx*4]
test ebx, ebx
jne 0x4499dd
mov dword [ecx + edx*4], 1
mov ebx, 1
imul esi, ebx
inc edx
cmp eax, edx
jne 0x4499ca
test esi, esi
mov ebx, dword [esp + 0x34]
js 0x449a09
je 0x449aa6
movzx eax, word [edi + 0x34]
push eax
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_calloc
add esp, 8
test eax, eax
jne 0x449aad
mov eax, 0x80030000
cmp dword [esp + 0x14], 1
je 0x449bf8
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x449a89
mov ecx, dword [esp + 0x1c]
cmp ecx, 2
jb 0x449a89
mov dword [esp + 4], ecx
mov edi, dword [esp + 0x18]
cmp edi, 1
adc edi, 0
mov eax, dword [ebx + 0x34]
test eax, 0x400000
jne 0x449a74
mov esi, dword [esp + 4]
shr eax, 0xe
and eax, 0xfc
push ebx
push esi
call dword [eax + 0x523704]
add esp, 8
movzx eax, word [ebx + 0x34]
push eax
push 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov eax, dword [ebx + 0x34]
movzx ecx, ax
add esi, ecx
dec edi
jne 0x449a46
mov eax, dword [esp + 4]
and eax, 0xfffffffe
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov eax, 0x80030000
mov ecx, dword [esp + 0x24]
cmp ecx, 2
jb 0x449bf8
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov eax, 0x80030000
jmp 0x449bf5
mov eax, 1
xor esi, esi
mov dword [esp + 8], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], edi
cmp dword [esp + 0x14], 1
sete al
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x30]
lea edx, [ecx + 0x220]
pxor xmm0, xmm0
movdqu xmmword [esp + 0x88], xmm0
movdqu xmmword [esp + 0x78], xmm0
movdqu xmmword [esp + 0x68], xmm0
movdqu xmmword [esp + 0x58], xmm0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
movups xmm0, xmmword [ebx]
movaps xmmword [esp + 0x40], xmm0
movsd xmm0, qword [ebx + 0x10]
movsd qword [esp + 0x50], xmm0
mov dword [esp + 0x58], 0xd
mov byte [esp + 0x98], 1
movaps xmm0, xmmword [esp + 0x10]
movups xmmword [esp + 0x68], xmm0
movq xmm0, qword [esp + 0x20]
movq qword [esp + 0x78], xmm0
mov dword [esp + 0xc], 0
lea eax, [esp + 0xc]
lea ebx, [esp + 0x40]
push eax
push ebx
call fcn.004236c0
add esp, 8
mov eax, dword [esp + 0xc]
cmp byte [esp + 4], 0
jne 0x449bf8
test edi, edi
mov ecx, dword [esp + 8]
je 0x449be2
cmp ecx, 2
jb 0x449be2
mov dword [esp + 4], eax
cmp esi, 1
adc esi, 0
mov dword [esp + 0x18], esi
mov eax, dword [edi + 0x34]
test eax, 0x400000
jne 0x449bce
mov ebx, dword [esp + 8]
nop word cs:[eax + eax]
shr eax, 0xe
and eax, 0xfc
push edi
push ebx
call dword [eax + 0x523704]
add esp, 8
movzx eax, word [edi + 0x34]
push eax
push 0
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov eax, dword [edi + 0x34]
movzx ecx, ax
add ebx, ecx
dec esi
jne 0x449ba0
mov eax, dword [esp + 8]
and eax, 0xfffffffe
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x24]
cmp ecx, 2
jb 0x449bf8
push ecx
mov esi, eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov eax, esi
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret