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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4a5128
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
jne 0x44a97e
xor eax, eax
jmp 0x44b0e5
fld dword [esp + 0xd4]
fmul dword [0x4acd88]
mov eax, dword [ebp + 0x18]
fld st(0)
fcos
mov ecx, dword [eax]
mov esi, dword [eax + 8]
mov edx, dword [eax + 4]
mov edi, dword [eax + 0xc]
lea eax, [esi + ecx]
mov dword [esp + 0x4c], edx
cdq
sub eax, edx
mov dword [esp + 0x48], ecx
mov ebx, eax
mov eax, dword [esp + 0x4c]
sar ebx, 1
sub ecx, ebx
add eax, edi
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x4c]
cdq
sub eax, edx
mov dword [esp + 0x44], ebx
sar eax, 1
sub ecx, eax
mov dword [esp + 0x40], eax
fstp dword [esp + 0x34]
fsin
fstp dword [esp + 0x30]
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
fld st(0)
fmul dword [esp + 0x34]
fstp dword [esp + 0x2c]
fild dword [esp + 0x1c]
fld st(0)
fmul dword [esp + 0x30]
fstp dword [esp + 0x18]
fild dword [esp + 0x44]
fst dword [esp + 0x60]
fstp dword [esp + 0x20]
fld dword [esp + 0x2c]
fsub dword [esp + 0x18]
fadd dword [esp + 0x20]
fadd qword [0x4aa708]
call fcn.00470a50
fmul dword [esp + 0x34]
mov dword [esp + 0x28], eax
fstp dword [esp + 0x14]
fmul dword [esp + 0x30]
fild dword [esp + 0x40]
fst dword [esp + 0x64]
fld st(0)
fadd st(2)
fadd dword [esp + 0x14]
fadd qword [0x4aa708]
call fcn.00470a50
sub esi, ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], esi
fild dword [esp + 0x1c]
fld st(0)
fmul dword [esp + 0x34]
fst dword [esp + 0x24]
fsub dword [esp + 0x18]
fadd dword [esp + 0x20]
fadd qword [0x4aa708]
call fcn.00470a50
fmul dword [esp + 0x30]
mov esi, eax
fld st(0)
fadd st(2)
fadd dword [esp + 0x14]
fadd qword [0x4aa708]
call fcn.00470a50
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x38], eax
sub edi, ecx
mov dword [esp + 0x1c], edi
fild dword [esp + 0x1c]
fld st(0)
fmul dword [esp + 0x30]
fstp dword [esp + 0x18]
fld dword [esp + 0x24]
fsub dword [esp + 0x18]
fadd dword [esp + 0x20]
fadd qword [0x4aa708]
call fcn.00470a50
fmul dword [esp + 0x34]
mov edi, eax
fst dword [esp + 0x14]
fadd st(1)
fadd st(2)
fadd qword [0x4aa708]
call fcn.00470a50
fstp st(0)
fld dword [esp + 0x2c]
fsub dword [esp + 0x18]
mov dword [esp + 0x1c], eax
fadd dword [esp + 0x20]
fadd qword [0x4aa708]
call fcn.00470a50
fld dword [esp + 0x14]
fadd st(1)
mov ebx, eax
fadd st(2)
fadd qword [0x4aa708]
call fcn.00470a50
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
fstp st(0)
cmp eax, esi
fstp st(0)
jge 0x44ab20
mov ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x44ab28
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], esi
cmp edi, dword [esp + 0x10]
jge 0x44ab32
mov dword [esp + 0x10], edi
cmp ebx, dword [esp + 0x10]
jge 0x44ab3c
mov dword [esp + 0x10], ebx
cmp ecx, esi
jle 0x44ab42
mov esi, ecx
cmp edi, esi
jle 0x44ab48
mov esi, edi
cmp ebx, esi
jle 0x44ab4e
mov esi, ebx
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
cmp ecx, edi
mov edx, ecx
jl 0x44ab5e
mov edx, edi
mov ebx, dword [esp + 0x1c]
cmp ebx, edx
jge 0x44ab68
mov edx, ebx
mov eax, dword [esp + 0x14]
cmp eax, edx
jge 0x44ab72
mov edx, eax
cmp ecx, edi
jg 0x44ab78
mov ecx, edi
cmp ebx, ecx
jle 0x44ab7e
mov ecx, ebx
cmp eax, ecx
jle 0x44ab84
mov ecx, eax
mov ebx, dword [esp + 0x10]
sub ecx, edx
sub esi, ebx
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x14], esi
call fcn.004451e0
mov edx, dword [ebp]
mov dword [esp + 0xcc], 0
push edx
call fcn.00444480
push eax
lea ecx, [esp + 0x6c]
call fcn.00445930
test eax, eax
jne 0x44abe6
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 0x44b0e5
mov eax, dword [ebp]
mov edi, dword [0x4a92a4]
push eax
call edi
mov ecx, dword [ebp]
mov esi, eax
push ecx
mov dword [esp + 0x28], esi
call dword [0x4a92a8]
mov edx, dword [ebp]
push edx
call edi
mov eax, dword [esp + 0x68]
push eax
call edi
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x20]
test eax, eax
je 0x44ac1e
mov esi, eax
jmp 0x44ac28
mov ecx, dword [ebp + 0x14]
mov esi, 1
shl esi, cl
mov edi, dword [ebp + 0x14]
lea ecx, [edi - 1]
cmp ecx, 0x1f
ja case.0x44ac3f.5
xor edx, edx
mov dl, byte [ecx + 0x44b114]
jmp dword [edx*4 + 0x44b100]
cmp dword [ebp + 0x58], 0xffffff
jne case.0x44ac3f.5
mov eax, edi
mov edi, dword [esp + 0x18]
imul eax, dword [esp + 0x14]
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
mov ecx, eax
or eax, 0xffffffff
sar ecx, 5
imul ecx, dword [esp + 0x28]
shl ecx, 2
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp case.0x44ac3f.5
xor ebx, ebx
test esi, esi
jle case.0x44ac3f.3
mov eax, dword [ebp + 0x58]
mov ecx, dword [esp + 0x24]
shr eax, 0x10
add ecx, 0x29
cmp byte [ecx - 1], al
jne 0x44acb3
xor edx, edx
mov dl, byte [ebp + 0x59]
cmp byte [ecx], dl
jne 0x44acb3
mov dl, byte [ecx + 1]
cmp dl, byte [ebp + 0x58]
je 0x44acbd
inc ebx
add ecx, 4
cmp ebx, esi
jl 0x44ac9d
jmp case.0x44ac3f.3
cmp edi, 4
jne 0x44acc9
mov eax, ebx
shl eax, 4
or ebx, eax
mov eax, edi
mov edi, dword [esp + 0x18]
imul eax, dword [esp + 0x14]
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 + 0x28]
shl ecx, 2
mov eax, ebx
mov edx, ecx
shl eax, 0x10
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 [esp + 0x24]
cmp dword [eax + 0x28], 0x7c00
jne 0x44ad40
mov edx, dword [ebp + 0x58]
xor eax, eax
mov al, byte [ebp + 0x58]
mov ecx, eax
and eax, 0x3ffffff8
and ecx, 0x1fffff8
shr edx, 0x10
shl ecx, 5
and edx, 0xff
add ecx, eax
shr edx, 3
lea eax, [edx + ecx*4]
mov dword [esp + 0x18], eax
jmp case.0x44ac3f.5
mov edx, dword [ebp + 0x58]
xor eax, eax
mov al, byte [ebp + 0x58]
mov ecx, eax
and eax, 0x1ffffffc
and ecx, 0xfffff8
shr edx, 0x10
shl ecx, 5
and edx, 0xff
add ecx, eax
shr edx, 3
lea eax, [edx + ecx*8]
mov dword [esp + 0x18], eax
jmp case.0x44ac3f.5
mov ecx, dword [ebp + 0x58]
xor edx, edx
shr ecx, 0x10
mov dh, cl
xor eax, eax
mov dl, byte [ebp + 0x59]
mov al, byte [ebp + 0x58]
shl edx, 8
or edx, eax
mov dword [esp + 0x18], edx
mov ecx, dword [ebp]
mov esi, dword [0x4a92a8]
push ecx
call esi
mov edx, dword [esp + 0x68]
push edx
call esi
mov eax, dword [ebp]
mov esi, dword [0x4a92a4]
push eax
call esi
push eax
call fcn.004443b0
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
push ecx
call esi
push eax
call fcn.004443b0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
test eax, eax
mov dword [esp + 0x10], 0
jle 0x44b0a8
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], 0
test eax, eax
jle 0x44b093
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
sub edx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], edx
fild dword [esp + 0x38]
lea eax, [eax + eax*2]
mov dword [esp + 0x24], eax
fld st(0)
fmul dword [esp + 0x30]
fstp dword [esp + 0x3c]
fmul dword [esp + 0x34]
fstp dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
sub ecx, eax
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
fld st(0)
fmul dword [esp + 0x34]
fadd dword [esp + 0x60]
fadd dword [esp + 0x3c]
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x44ae50
fadd qword [0x4aa708]
jmp 0x44ae56
fsub qword [0x4aa708]
call fcn.00470a50
fmul dword [esp + 0x30]
mov edi, eax
fsubr dword [esp + 0x58]
fadd dword [esp + 0x64]
fcom qword [0x4aa6f8]
fnstsw ax
test ah, 1
jne 0x44ae7e
fadd qword [0x4aa708]
jmp 0x44ae84
fsub qword [0x4aa708]
call fcn.00470a50
mov esi, dword [0x4a91d8]
mov ebx, eax
mov eax, dword [ebp + 0x18]
push ebx
push edi
mov edx, dword [eax + 0x14]
push edx
call esi
test eax, eax
je 0x44afdd
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [edx + 0x14]
push ecx
push eax
call esi
test eax, eax
je 0x44afdd
mov ecx, dword [ebp]
mov eax, dword [esp + 0x1c]
test ecx, ecx
je 0x44af3c
cmp dword [ebp + 0x14], 0x18
jne 0x44af3c
cmp edi, dword [ebp + 8]
jge 0x44af3c
test edi, edi
jl 0x44af3c
cmp ebx, dword [ebp + 0xc]
jge 0x44af3c
test ebx, ebx
jl 0x44af3c
mov edx, eax
xor esi, esi
test edx, edx
jne 0x44af00
push ecx
call dword [0x4a92a4]
push eax
call fcn.004443b0
mov esi, 1
mov edx, dword [ebp + 0xc]
lea ecx, [edi + edi*2]
sub edx, ebx
xor ebx, ebx
dec edx
imul edx, dword [ebp + 0x10]
add eax, edx
add ecx, eax
xor eax, eax
mov bl, byte [ecx + 1]
mov al, byte [ecx + 2]
mov bh, byte [ecx]
shl ebx, 8
or ebx, eax
test esi, esi
mov dword [esp + 0x5c], ebx
je 0x44af34
mov ecx, dword [ebp]
push ecx
call dword [0x4a92a8]
mov esi, dword [0x4a91d8]
jmp 0x44af40
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x18]
add eax, edx
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [ecx + 0x14]
add eax, edx
push eax
push ecx
call esi
test eax, eax
je 0x44b073
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x2c]
test ecx, ecx
je 0x44b073
cmp dword [esp + 0x7c], 0x18
jne 0x44b073
mov edx, eax
xor esi, esi
test edx, edx
jne 0x44af9c
push ecx
call dword [0x4a92a4]
push eax
call fcn.004443b0
mov esi, 1
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x4c]
sub ecx, edx
sub ecx, edi
mov edi, dword [esp + 0x24]
dec ecx
mov edx, ebx
imul ecx, dword [esp + 0x78]
add ecx, edi
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 0x44b073
mov ecx, dword [esp + 0x68]
push ecx
jmp 0x44b06d
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x84]
add edx, ecx
push edx
mov ecx, dword [eax + 0x14]
push ecx
call esi
test eax, eax
je 0x44b073
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x2c]
test ecx, ecx
je 0x44b073
cmp dword [esp + 0x7c], 0x18
jne 0x44b073
mov edx, eax
xor esi, esi
test edx, edx
jne 0x44b031
push ecx
call dword [0x4a92a4]
push eax
call fcn.004443b0
mov esi, 1
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
sub ecx, edx
sub ecx, ebx
mov edx, dword [esp + 0x24]
dec ecx
imul ecx, dword [esp + 0x78]
add ecx, edx
add ecx, eax
mov eax, dword [esp + 0x18]
mov edx, eax
shr edx, 0x10
mov byte [ecx], dl
xor edx, edx
mov dl, ah
mov byte [ecx + 2], al
test esi, esi
mov byte [ecx + 1], dl
je 0x44b073
mov eax, dword [esp + 0x68]
push eax
call dword [0x4a92a8]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
inc eax
add edx, 3
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jl 0x44ae1b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x44add8
mov ecx, dword [esp + 0x68]
mov esi, dword [0x4a92a8]
push ecx
call esi
mov edx, dword [ebp]
push edx
call esi
mov eax, dword [esp + 0x68]
push eax
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 4