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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4a5108
push eax
mov dword fs:[0], esp
sub esp, 0xb4
push ebx
push ebp
mov ebp, ecx
push esi
push edi
cmp dword [ebp], 0
je 0x44a486
fld dword [esp + 0xd4]
fmul dword [0x4acd88]
mov eax, dword [ebp + 0x18]
fld st(0)
fcos
mov edx, dword [eax]
mov esi, dword [eax + 8]
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 0xc]
lea eax, [esi + edx]
mov dword [esp + 0x4c], edx
cdq
sub eax, edx
mov dword [esp + 0x58], ebx
mov edi, eax
lea eax, [ebx + ecx]
cdq
sub eax, edx
mov dword [esp + 0x50], ecx
mov ebx, eax
mov eax, dword [esp + 0x4c]
sar edi, 1
sub eax, edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x14], eax
sar ebx, 1
sub ecx, ebx
mov dword [esp + 0x44], ebx
fstp dword [esp + 0x38]
fsin
fstp dword [esp + 0x40]
fild dword [esp + 0x14]
mov dword [esp + 0x14], ecx
fst dword [esp + 0x1c]
fmul dword [esp + 0x38]
fstp dword [esp + 0x3c]
fild dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x40]
fstp dword [esp + 0x20]
fild dword [esp + 0x48]
fst dword [esp + 0x5c]
fstp dword [esp + 0x10]
fld dword [esp + 0x3c]
fsub dword [esp + 0x20]
fadd dword [esp + 0x10]
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x44a1f7
fadd qword [0x4aa708]
jmp 0x44a1fd
fsub qword [0x4aa708]
call fcn.00470a50
fmul dword [esp + 0x38]
fld dword [esp + 0x1c]
fmul dword [esp + 0x40]
mov dword [esp + 0x2c], eax
fstp dword [esp + 0x34]
fild dword [esp + 0x44]
fst dword [esp + 0x60]
fst dword [esp + 0x18]
fadd dword [esp + 0x34]
fadd st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x44a23d
fadd qword [0x4aa708]
jmp 0x44a243
fsub qword [0x4aa708]
call fcn.00470a50
sub esi, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], esi
fild dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x38]
fst dword [esp + 0x1c]
fsub dword [esp + 0x20]
fadd dword [esp + 0x10]
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x44a27d
fadd qword [0x4aa708]
jmp 0x44a283
fsub qword [0x4aa708]
call fcn.00470a50
fmul dword [esp + 0x40]
mov edi, eax
fst dword [esp + 0x20]
fadd dword [esp + 0x18]
faddp st(1)
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x44a2ad
fadd qword [0x4aa708]
jmp 0x44a2b3
fsub qword [0x4aa708]
call fcn.00470a50
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x58]
sub eax, ebx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fld st(0)
fmul dword [esp + 0x40]
fstp dword [esp + 0x24]
fld dword [esp + 0x1c]
fsub dword [esp + 0x24]
fadd dword [esp + 0x10]
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x44a2f5
fadd qword [0x4aa708]
jmp 0x44a2fb
fsub qword [0x4aa708]
call fcn.00470a50
fmul dword [esp + 0x38]
mov ebx, eax
fld st(0)
fadd dword [esp + 0x20]
fadd dword [esp + 0x18]
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x44a325
fadd qword [0x4aa708]
jmp 0x44a32b
fsub qword [0x4aa708]
call fcn.00470a50
fld dword [esp + 0x3c]
fsub dword [esp + 0x24]
mov dword [esp + 0x1c], eax
fadd dword [esp + 0x10]
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x44a355
fadd qword [0x4aa708]
jmp 0x44a35b
fsub qword [0x4aa708]
call fcn.00470a50
fadd dword [esp + 0x18]
mov esi, eax
fadd dword [esp + 0x34]
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x44a37f
fadd qword [0x4aa708]
jmp 0x44a385
fsub qword [0x4aa708]
call fcn.00470a50
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
cmp edx, edi
mov dword [esp + 0x30], edx
jl 0x44a39e
mov dword [esp + 0x30], edi
cmp ebx, dword [esp + 0x30]
jge 0x44a3a8
mov dword [esp + 0x30], ebx
cmp esi, dword [esp + 0x30]
jge 0x44a3b2
mov dword [esp + 0x30], esi
cmp edx, edi
jg 0x44a3b8
mov edx, edi
cmp ebx, edx
jle 0x44a3be
mov edx, ebx
cmp esi, edx
jle 0x44a3c4
mov edx, esi
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
cmp ecx, ebx
mov esi, ecx
jl 0x44a3d4
mov esi, ebx
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x2c], esi
cmp edi, esi
jge 0x44a3e6
mov esi, edi
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x10]
cmp eax, esi
jge 0x44a3f4
mov esi, eax
mov dword [esp + 0x2c], esi
cmp ecx, ebx
jg 0x44a3fa
mov ecx, ebx
cmp edi, ecx
jle 0x44a400
mov ecx, edi
cmp eax, ecx
jle 0x44a406
mov ecx, eax
mov edi, dword [esp + 0x30]
sub ecx, esi
sub edx, edi
mov esi, ecx
mov ebx, edx
lea ecx, [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x34], esi
call fcn.004451e0
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xcc], 0
test eax, eax
jne 0x44a44e
mov ecx, dword [ebp]
push ecx
call fcn.00444480
push eax
lea ecx, [esp + 0x6c]
call fcn.00445930
jmp 0x44a462
mov eax, dword [ebp + 0x14]
push 0xffffff
push eax
push esi
push ebx
lea ecx, [esp + 0x78]
call fcn.00445600
test eax, eax
jne 0x44a48d
push eax
push eax
push str.Revolve_the_failure
call fcn.0048eabe
lea ecx, [esp + 0x68]
mov dword [esp + 0xcc], 0xffffffff
call fcn.004453d0
xor eax, eax
jmp 0x44a8fd
mov edx, dword [ebp]
mov esi, dword [0x4a92a4]
push edx
call esi
mov edi, eax
mov eax, dword [ebp]
push eax
mov dword [esp + 0x2c], edi
call dword [0x4a92a8]
mov ecx, dword [ebp]
push ecx
call esi
mov edx, dword [esp + 0x68]
push edx
call esi
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x20]
test eax, eax
je 0x44a4c5
mov edi, eax
jmp 0x44a4cf
mov ecx, dword [ebp + 0x14]
mov edi, 1
shl edi, cl
mov esi, dword [ebp + 0x14]
lea ecx, [esi - 1]
cmp ecx, 0x1f
ja case.0x44a4e6.3
xor eax, eax
mov al, byte [ecx + 0x44a928]
jmp dword [eax*4 + 0x44a918]
cmp dword [ebp + 0x58], 0xffffff
jne case.0x44a4e6.3
mov eax, esi
mov edi, dword [esp + 0x14]
imul eax, ebx
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
mov ecx, eax
sar ecx, 5
imul ecx, dword [esp + 0x34]
shl ecx, 2
or eax, 0xffffffff
mov edx, ecx
jmp 0x44a58e
xor ebx, ebx
test edi, edi
jle case.0x44a4e6.3
mov eax, dword [ebp + 0x58]
mov ecx, dword [esp + 0x28]
shr eax, 0x10
add ecx, 0x29
cmp byte [ecx - 1], al
jne 0x44a549
xor edx, edx
mov dl, byte [ebp + 0x59]
cmp byte [ecx], dl
jne 0x44a549
mov dl, byte [ecx + 1]
cmp dl, byte [ebp + 0x58]
je 0x44a553
inc ebx
add ecx, 4
cmp ebx, edi
jl 0x44a533
jmp case.0x44a4e6.3
cmp esi, 4
jne 0x44a55f
mov eax, ebx
shl eax, 4
or ebx, eax
mov eax, esi
mov edi, dword [esp + 0x14]
imul eax, dword [esp + 0x1c]
add eax, 0x1f
mov bh, bl
cdq
and edx, 0x1f
add eax, edx
mov ecx, eax
mov al, bl
sar ecx, 5
imul ecx, dword [esp + 0x34]
mov eax, ebx
shl ecx, 2
shl eax, 0x10
mov edx, ecx
mov ax, bx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp]
mov esi, dword [0x4a92a8]
push eax
call esi
mov ecx, dword [esp + 0x68]
push ecx
call esi
mov edx, dword [ebp]
mov edi, dword [0x4a92a4]
push edx
call edi
push eax
call fcn.004443b0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
push eax
call edi
push eax
call fcn.004443b0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
test eax, eax
mov dword [esp + 0x18], 0
jle 0x44a8c6
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], 0
test eax, eax
jle 0x44a8ab
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x3c], 0
lea ecx, [eax + eax*2]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0xd8]
test eax, eax
jne 0x44a651
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
add eax, edx
test eax, eax
jl 0x44a87d
cmp eax, dword [ebp + 8]
jge 0x44a87d
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x18]
lea eax, [edx + ecx]
test eax, eax
jl 0x44a8ab
cmp eax, dword [ebp + 0xc]
jge 0x44a8ab
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
sub eax, edi
add eax, esi
sub ecx, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
fild dword [esp + 0x28]
add ecx, eax
mov dword [esp + 0x28], ecx
fild dword [esp + 0x28]
fld st(0)
fmul dword [esp + 0x38]
fld st(2)
fmul dword [esp + 0x40]
faddp st(1)
fadd dword [esp + 0x5c]
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x44a6a8
fadd qword [0x4aa708]
jmp 0x44a6ae
fsub qword [0x4aa708]
call fcn.00470a50
fxch st(1)
fmul dword [esp + 0x38]
fxch st(1)
fmul dword [esp + 0x40]
mov esi, eax
fsubp st(1)
fadd dword [esp + 0x60]
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x44a6dc
fadd qword [0x4aa708]
jmp 0x44a6e2
fsub qword [0x4aa708]
call fcn.00470a50
mov ebx, eax
mov eax, dword [ebp + 0x18]
push ebx
push esi
mov edx, dword [eax + 0x14]
push edx
call dword [0x4a91d8]
test eax, eax
je 0x44a87d
mov ecx, dword [ebp]
mov eax, dword [esp + 0x14]
test ecx, ecx
je 0x44a773
cmp dword [ebp + 0x14], 0x18
jne 0x44a773
cmp esi, dword [ebp + 8]
jge 0x44a773
test esi, esi
jl 0x44a773
cmp ebx, dword [ebp + 0xc]
jge 0x44a773
test ebx, ebx
jl 0x44a773
mov edx, eax
xor edi, edi
test edx, edx
jne 0x44a73d
push ecx
call dword [0x4a92a4]
push eax
call fcn.004443b0
mov edi, 1
mov edx, dword [ebp + 0xc]
lea ecx, [esi + esi*2]
sub edx, ebx
xor ebx, ebx
dec edx
imul edx, dword [ebp + 0x10]
add eax, edx
add ecx, eax
xor eax, eax
mov bh, byte [ecx]
mov al, byte [ecx + 2]
mov bl, byte [ecx + 1]
shl ebx, 8
or ebx, eax
test edi, edi
mov dword [esp + 0x64], ebx
je 0x44a777
mov ecx, dword [ebp]
push ecx
call dword [0x4a92a8]
jmp 0x44a777
mov ebx, dword [esp + 0x64]
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x44a7eb
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x24]
test ecx, ecx
je 0x44a87d
cmp dword [esp + 0x7c], 0x18
jne 0x44a87d
xor esi, esi
test eax, eax
jne 0x44a7b5
push ecx
call dword [0x4a92a4]
push eax
call fcn.004443b0
mov esi, 1
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x18]
sub ecx, edx
mov edx, ebx
dec ecx
imul ecx, dword [esp + 0x78]
add ecx, eax
mov eax, dword [esp + 0x3c]
add ecx, eax
xor eax, eax
shr edx, 0x10
mov al, bh
mov byte [ecx], dl
test esi, esi
mov byte [ecx + 1], al
mov byte [ecx + 2], bl
je 0x44a87d
jmp 0x44a872
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x50]
mov ecx, dword [ebp + 0x18]
add eax, edx
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x50]
mov ecx, dword [ecx + 0x14]
add edx, eax
push edx
push ecx
call dword [0x4a91d8]
test eax, eax
je 0x44a87d
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x24]
test ecx, ecx
je 0x44a87d
cmp dword [esp + 0x7c], 0x18
jne 0x44a87d
mov edx, eax
xor esi, esi
test edx, edx
jne 0x44a83f
push ecx
call dword [0x4a92a4]
push eax
call fcn.004443b0
mov esi, 1
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
sub ecx, edi
sub ecx, edx
mov edx, ebx
dec ecx
imul ecx, dword [esp + 0x78]
add ecx, eax
mov eax, dword [esp + 0x20]
add ecx, eax
xor eax, eax
shr edx, 0x10
mov al, bh
mov byte [ecx], dl
test esi, esi
mov byte [ecx + 1], al
mov byte [ecx + 2], bl
je 0x44a87d
mov ecx, dword [esp + 0x68]
push ecx
call dword [0x4a92a8]
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov ecx, 3
add esi, ecx
add edx, ecx
mov ecx, dword [esp + 0x1c]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x20], edx
jl 0x44a60f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x44a5e8
mov esi, dword [0x4a92a8]
mov edx, dword [esp + 0x68]
push edx
call esi
mov eax, dword [ebp]
push eax
call esi
mov ecx, dword [esp + 0x68]
push ecx
call fcn.00444480
push eax
mov ecx, ebp
call fcn.00445930
lea ecx, [esp + 0x68]
mov esi, eax
mov dword [esp + 0xcc], 0xffffffff
call fcn.004453d0
mov eax, esi
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xc0
ret 8