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

Disassembly:
sub esp, 0x7c
cmp byte [0x6dfc99], 0
je 0x449ad3
push esi
push 0xec
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, eax
add esp, 4
test esi, esi
je 0x44956e
push dword [esp + 0x84]
mov ecx, esi
call fcn.00434540
mov dword [esi], 0x620ee4
mov dword [esi + 0x74], 0
mov dword [esi + 0x78], 0
mov dword [esi + 0x7c], 0
mov dword [esi + 0x90], 0
mov dword [esi + 0x94], 0
mov dword [esi + 0x98], 0x80
mov dword [esi + 0x9c], 0xffffffff
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa8], 0
mov dword [esi + 0xac], 0
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0xcc], 0
mov dword [esi + 0xd0], 0
mov dword [esi + 0xd4], 0x80
mov dword [esi + 0xd8], 0xffffffff
mov dword [esi + 0xdc], 0
mov dword [esi + 0xe4], 0
mov dword [esi + 0xe8], 0
jmp 0x449570
xor esi, esi
mov dword [0x6dfb88], esi
cmp byte [esi + 8], 0
jne 0x449ac9
push ebx
push ebp
push edi
mov ecx, esi
call fcn.00446d70
mov eax, dword [esi + 0xb4]
lea ecx, [esi + 0xb0]
sub eax, dword [esi + 0xdc]
mov edi, 0x20
lea ebp, [edi - 0x1f]
cmp eax, 0x5b8d80
jge 0x449846
push 0x5b8d80
call fcn.0044bab0
mov eax, 0x2dc6c8
bsr ebx, eax
mov eax, 0x2dc6c7
mov dword [esp + 0x14], ebx
setne byte [esp + 0x13]
bsr ecx, eax
mov eax, 0x1f
mov dword [esp + 0x18], ecx
setne dl
sub eax, ecx
test dl, dl
mov ecx, edi
cmovne ecx, eax
mov eax, 0x1f
sub eax, ebx
sub edi, ecx
shl eax, 0x1a
mov ecx, 0xfc000000
cmp byte [esp + 0x13], 0
mov ebx, ebp
cmovne ecx, eax
mov eax, dword [esi + 0xe8]
sar ecx, 0x1f
not ecx
and ecx, edi
shl ebx, cl
test eax, eax
je 0x44961d
cmp eax, ebx
jge 0x449846
mov dword [esi + 0xe8], ebx
mov edi, dword [esi + 0xe4]
test edi, edi
je 0x44965a
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x449642
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push 0
push 0
push edi
call dword [eax + 0x10]
mov edi, eax
mov dword [esi + 0xe4], edi
mov ebx, dword [esi + 0xe8]
test ebx, ebx
je 0x449846
cmp ebx, 1
ja 0x44968c
test edi, edi
je 0x4496f3
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x449684
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push 0
push 0
jmp 0x4496e9
mov edx, dword [0x6f6568]
lea ecx, [ebx*4]
test edi, edi
jne 0x4496c5
test edx, edx
jne 0x4496ba
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
lea edx, [ebx*4]
push edi
push edx
push edi
mov eax, dword [ecx]
jmp 0x4496ea
mov eax, dword [edx]
push 0
push ecx
mov ecx, edx
push 0
jmp 0x4496ea
test edx, edx
jne 0x4496e2
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
lea edx, [ebx*4]
push 0
push edx
mov eax, dword [ecx]
jmp 0x4496e9
mov eax, dword [edx]
push 0
push ecx
mov ecx, edx
push edi
call dword [eax + 0x10]
mov dword [esi + 0xe4], eax
xor edi, edi
test ebx, ebx
jle 0x449726
nop dword [eax]
mov edx, dword [esi + 0xe8]
lea eax, [esi + 0xe0]
mov ecx, dword [esi + 0xe4]
dec edx
and edx, edi
test ecx, ecx
cmovne eax, ecx
inc edi
mov dword [eax + edx*4], 0xffffffff
cmp edi, ebx
jl 0x449700
cmp dword [esi + 0xd0], 0
lea ecx, [esi + 0xbc]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
jge 0x44976c
call fcn.00609320
nop
int3
cmp dword [ecx + 0x14], 0
je 0x44977f
lea ecx, [esp + 0x24]
call fcn.00410370
mov ecx, dword [esp + 0x2c]
movups xmm0, xmmword [esp + 0x24]
mov eax, dword [esp + 0x34]
lea edx, [esi + 0xb0]
mov dword [esp + 0x54], edx
movups xmmword [esp + 0x58], xmm0
movq xmm0, qword [esp + 0x34]
movq qword [esp + 0x68], xmm0
cmp eax, dword [ecx + 0x14]
jge 0x449846
nop dword [eax]
mov eax, dword [esp + 0x68]
push 0
lea ecx, [eax + eax*4]
mov eax, dword [edx]
push dword [eax + ecx*4]
lea ebx, [eax + ecx*4]
call fcn.00449e80
mov ecx, dword [esi + 0xe8]
mov edi, eax
dec ecx
lea eax, [esi + 0xe0]
and edi, ecx
add esp, 8
mov dword [ebx + 0x10], edi
mov edx, dword [esi + 0xe8]
mov ecx, dword [esi + 0xe4]
dec edx
and edx, edi
test ecx, ecx
cmovne eax, ecx
mov eax, dword [eax + edx*4]
mov dword [ebx + 0xc], eax
lea eax, [esi + 0xe0]
mov edx, dword [esi + 0xe8]
mov ecx, dword [esi + 0xe4]
dec edx
and edx, edi
test ecx, ecx
cmovne eax, ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + edx*4], ecx
lea ecx, [esp + 0x58]
mov eax, dword [esp + 0x5c]
not eax
and dword [esp + 0x64], eax
call fcn.00410370
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x68]
cmp ecx, dword [eax + 0x14]
jge 0x449841
mov edx, dword [esp + 0x54]
jmp 0x4497b0
mov ebp, 1
mov eax, dword [esi + 0x78]
lea ecx, [esi + 0x74]
sub eax, dword [esi + 0xa0]
cmp eax, 0x7a1200
jge 0x449ac6
push 0x7a1200
call fcn.0044bab0
mov eax, 0x3d0908
bsr edi, eax
mov eax, 0x3d0907
mov dword [esp + 0x1c], edi
setne bl
bsr ecx, eax
mov eax, 0x1f
mov dword [esp + 0x20], ecx
setne dl
sub eax, ecx
test dl, dl
mov ecx, 0x20
mov edx, 0xfc000000
cmovne ecx, eax
mov eax, 0x20
sub eax, ecx
mov ecx, 0x1f
sub ecx, edi
shl ecx, 0x1a
test bl, bl
cmovne edx, ecx
sar edx, 0x1f
not edx
and eax, edx
mov ecx, eax
mov eax, dword [esi + 0xac]
shl ebp, cl
test eax, eax
je 0x4498ce
cmp eax, ebp
jge 0x449ac6
mov dword [esi + 0xac], ebp
mov edi, dword [esi + 0xa8]
test edi, edi
je 0x44990b
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x4498f3
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push 0
push 0
push edi
call dword [eax + 0x10]
mov edi, eax
mov dword [esi + 0xa8], edi
mov ebp, dword [esi + 0xac]
test ebp, ebp
je 0x449ac6
cmp ebp, 1
ja 0x449937
test edi, edi
je 0x44997c
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x449931
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
push 0
push 0
jmp 0x449970
mov ecx, dword [0x6f6568]
lea ebx, [ebp*4]
test edi, edi
jne 0x44995e
test ecx, ecx
jne 0x449957
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
push 0
push ebx
push 0
jmp 0x449971
test ecx, ecx
jne 0x44996d
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
push 0
push ebx
push edi
mov eax, dword [ecx]
call dword [eax + 0x10]
mov dword [esi + 0xa8], eax
xor edx, edx
test ebp, ebp
jle 0x4499a8
mov eax, dword [esi + 0xa8]
lea ecx, [esi + 0xa4]
test eax, eax
cmovne ecx, eax
mov eax, dword [esi + 0xac]
dec eax
and eax, edx
inc edx
mov dword [ecx + eax*4], 0xffffffff
cmp edx, ebp
jl 0x449982
cmp dword [esi + 0x94], 0
lea ecx, [esi + 0x80]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
jge 0x4499ee
call fcn.00609320
nop
int3
cmp dword [ecx + 0x14], 0
je 0x449a01
lea ecx, [esp + 0x3c]
call fcn.00410370
mov ecx, dword [esp + 0x44]
movups xmm0, xmmword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
lea edx, [esi + 0x74]
mov dword [esp + 0x70], edx
movups xmmword [esp + 0x74], xmm0
movq xmm0, qword [esp + 0x4c]
movq qword [esp + 0x84], xmm0
cmp eax, dword [ecx + 0x14]
jge 0x449ac6
mov ebp, dword [esp + 0x84]
mov eax, dword [edx]
lea ecx, [ebp*4]
add ecx, ebp
lea ebx, [eax + ecx*4]
push 0
push dword [ebx]
call fcn.00449e80
mov ecx, dword [esi + 0xac]
lea edx, [esi + 0xa4]
mov edi, eax
dec ecx
and edi, ecx
add esp, 8
mov dword [ebx + 0x10], edi
mov ecx, dword [esi + 0xa8]
test ecx, ecx
mov eax, dword [esi + 0xac]
cmovne edx, ecx
dec eax
and eax, edi
lea ecx, [esi + 0xa4]
mov eax, dword [edx + eax*4]
mov dword [ebx + 0xc], eax
mov eax, dword [ecx + 4]
test eax, eax
cmovne ecx, eax
mov eax, dword [esi + 0xac]
dec eax
and eax, edi
mov dword [ecx + eax*4], ebp
lea ecx, [esp + 0x74]
mov eax, dword [esp + 0x78]
not eax
and dword [esp + 0x80], eax
call fcn.00410370
mov eax, dword [esp + 0x7c]
mov ebp, dword [esp + 0x84]
cmp ebp, dword [eax + 0x14]
jge 0x449ac6
mov edx, dword [esp + 0x70]
jmp 0x449a35
pop edi
pop ebp
pop ebx
mov eax, dword [0x6dfb88]
pop esi
add esp, 0x7c
ret
mov eax, dword [esp + 0x80]
add esp, 0x7c
ret