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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 8
push esi
xor esi, esi
cmp eax, esi
jne 0x537a0f
push 0x506
call fcn.00531cc0
xor eax, eax
pop esi
add esp, 8
ret
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
fild qword [esp + 4]
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov edx, dword [esp + 0x1c]
push edi
fidiv dword [esp + 8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
fstp qword [0x7dc588]
fild qword [esp + 8]
mov edi, dword [eax + 4]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov esi, dword [0x5cfe98]
fidiv dword [esp + 8]
cmp esi, 0x2601
pop edi
fstp qword [0x7dc578]
jne 0x537a7d
pop esi
add esp, 8
jmp 0x537aa0
cmp esi, 0x2602
pop esi
jne 0x537a8e
add esp, 8
jmp 0x537ea0
add esp, 8
jmp 0x538510
sub esp, 0x10
xor ecx, ecx
xor edx, edx
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov cl, byte [edi + 0xd]
mov eax, dword [edi + 0x10]
div ecx
xor ecx, ecx
xor edx, edx
mov dword [0x7dc520], eax
mov cl, byte [esi + 0xd]
mov eax, dword [esi + 0x10]
div ecx
mov dword [0x7dc5b0], eax
xor eax, eax
mov al, byte [edi + 0xd]
dec eax
je 0x537d68
dec eax
je 0x537c28
sub eax, 2
jne 0x537e88
mov edx, dword [edi + 0x14]
xor ebx, ebx
mov dword [0x7dc544], edx
mov eax, dword [esi + 0x14]
mov dword [0x7dc560], eax
mov eax, dword [esp + 0x30]
xor edi, edi
cmp eax, ebx
mov dword [0x7dc534], edi
jbe 0x537e88
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
fild qword [esp + 0x10]
mov eax, edi
imul eax, dword [0x7dc5b0]
fdiv qword [0x7dc578]
mov dword [0x7dc5a0], eax
call fcn.0050a970
imul eax, dword [0x7dc520]
mov dword [0x7dc5a4], eax
mov eax, dword [esp + 0x2c]
xor ebp, ebp
cmp eax, ebx
mov dword [0x7dc530], ebp
jbe 0x537c0b
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebx
fild qword [esp + 0x18]
xor ecx, ecx
mov cl, byte [esi + 0xc]
fdiv qword [0x7dc588]
mov edi, ecx
imul edi, ebp
mov dword [0x7dc598], edi
call fcn.0050a970
mov ecx, dword [esp + 0x24]
xor edx, edx
mov dl, byte [ecx + 0xc]
xor ecx, ecx
imul eax, edx
mov dword [0x7dc59c], eax
mov dword [0x7dc5c0], ecx
cmp byte [esi + 0xc], bl
jbe 0x537bf2
jmp 0x537bab
mov edi, dword [0x7dc598]
mov eax, dword [0x7dc59c]
mov ebp, dword [0x7dc5a4]
lea edx, [ecx + eax]
mov eax, dword [0x7dc544]
add edx, ebp
add ecx, edi
mov edi, dword [0x7dc5a0]
mov edx, dword [eax + edx*4]
mov eax, dword [0x7dc560]
add ecx, edi
mov dword [eax + ecx*4], edx
mov ecx, dword [0x7dc5c0]
inc ecx
xor edx, edx
mov dword [0x7dc570], ebx
mov dword [0x7dc5c0], ecx
mov dl, byte [esi + 0xc]
cmp ecx, edx
jb 0x537ba0
mov ebp, dword [0x7dc530]
mov eax, dword [esp + 0x2c]
inc ebp
cmp ebp, eax
mov dword [0x7dc530], ebp
jb 0x537b59
mov edi, dword [0x7dc534]
mov eax, dword [esp + 0x30]
inc edi
cmp edi, eax
mov dword [0x7dc534], edi
jb 0x537b14
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov eax, dword [edi + 0x14]
xor ebx, ebx
mov dword [0x7dc5bc], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 0x14]
xor edi, edi
cmp eax, ebx
mov dword [0x7dc540], ecx
mov dword [0x7dc534], edi
jbe 0x537e88
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
fild qword [esp + 0x18]
mov eax, edi
imul eax, dword [0x7dc5b0]
fdiv qword [0x7dc578]
mov dword [0x7dc5a0], eax
call fcn.0050a970
imul eax, dword [0x7dc520]
mov dword [0x7dc5a4], eax
mov eax, dword [esp + 0x2c]
xor ebp, ebp
cmp eax, ebx
mov dword [0x7dc530], ebp
jbe 0x537d4b
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
fild qword [esp + 0x10]
xor edx, edx
mov dl, byte [esi + 0xc]
fdiv qword [0x7dc588]
mov edi, edx
imul edi, ebp
mov dword [0x7dc598], edi
call fcn.0050a970
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov cl, byte [edx + 0xc]
imul eax, ecx
xor ecx, ecx
mov dword [0x7dc59c], eax
mov dword [0x7dc5c0], ecx
mov dl, byte [esi + 0xc]
cmp dl, bl
jbe 0x537d32
jmp 0x537ce8
mov edi, dword [0x7dc598]
mov eax, dword [0x7dc59c]
mov edx, dword [0x7dc5a4]
mov ebp, dword [0x7dc5a0]
add eax, ecx
add ecx, edi
add eax, edx
mov edx, dword [0x7dc5bc]
add ecx, ebp
mov ax, word [edx + eax*2]
mov edx, dword [0x7dc540]
mov word [edx + ecx*2], ax
mov ecx, dword [0x7dc5c0]
inc ecx
xor eax, eax
mov dword [0x7dc570], ebx
mov dword [0x7dc5c0], ecx
mov al, byte [esi + 0xc]
cmp ecx, eax
jb 0x537cdd
mov ebp, dword [0x7dc530]
mov eax, dword [esp + 0x2c]
inc ebp
cmp ebp, eax
mov dword [0x7dc530], ebp
jb 0x537c94
mov edi, dword [0x7dc534]
mov eax, dword [esp + 0x30]
inc edi
cmp edi, eax
mov dword [0x7dc534], edi
jb 0x537c4f
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov eax, dword [esp + 0x30]
xor ebx, ebx
xor edi, edi
cmp eax, ebx
mov dword [0x7dc534], edi
jbe 0x537e88
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
fild qword [esp + 0x18]
mov eax, edi
imul eax, dword [0x7dc5b0]
fdiv qword [0x7dc578]
mov dword [0x7dc5a0], eax
call fcn.0050a970
imul eax, dword [0x7dc520]
mov dword [0x7dc5a4], eax
mov eax, dword [esp + 0x2c]
xor ebp, ebp
cmp eax, ebx
mov dword [0x7dc530], ebp
jbe 0x537e75
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
fild qword [esp + 0x10]
xor ecx, ecx
mov cl, byte [esi + 0xc]
fdiv qword [0x7dc588]
mov edi, ecx
imul edi, ebp
mov dword [0x7dc598], edi
call fcn.0050a970
mov ecx, dword [esp + 0x24]
xor edx, edx
mov dl, byte [ecx + 0xc]
xor ecx, ecx
imul eax, edx
mov dword [0x7dc59c], eax
mov dword [0x7dc5c0], ecx
cmp byte [esi + 0xc], bl
jbe 0x537e5c
jmp 0x537e15
mov edi, dword [0x7dc598]
mov eax, dword [0x7dc59c]
mov ebp, dword [0x7dc5a4]
lea edx, [ecx + eax]
mov eax, dword [esp + 0x24]
add edx, ebp
mov ebp, dword [esi + 0x14]
mov eax, dword [eax + 0x14]
add ebp, ecx
add ebp, edi
mov cl, byte [edx + eax]
mov edx, dword [0x7dc5a0]
xor eax, eax
mov byte [edx + ebp], cl
mov ecx, dword [0x7dc5c0]
inc ecx
mov dword [0x7dc570], ebx
mov dword [0x7dc5c0], ecx
mov al, byte [esi + 0xc]
cmp ecx, eax
jb 0x537e0a
mov ebp, dword [0x7dc530]
mov eax, dword [esp + 0x2c]
inc ebp
cmp ebp, eax
mov dword [0x7dc530], ebp
jb 0x537dc3
mov edi, dword [0x7dc534]
mov eax, dword [esp + 0x30]
inc edi
cmp edi, eax
mov dword [0x7dc534], edi
jb 0x537d7e
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
sub esp, 0x30
xor ecx, ecx
xor edx, edx
push ebx
mov ebx, dword [esp + 0x38]
push ebp
push esi
mov cl, byte [ebx + 0xd]
mov eax, dword [ebx + 0x10]
div ecx
mov esi, dword [esp + 0x44]
xor ecx, ecx
xor edx, edx
push edi
mov dword [0x7dc520], eax
mov cl, byte [esi + 0xd]
mov eax, dword [esi + 0x10]
div ecx
mov dword [0x7dc5b0], eax
xor eax, eax
mov al, byte [ebx + 0xd]
dec eax
je 0x538309
dec eax
je 0x5380f3
sub eax, 2
jne 0x538504
mov edx, dword [ebx + 0x14]
xor ebp, ebp
mov dword [0x7dc544], edx
mov eax, dword [esi + 0x14]
mov dword [0x7dc560], eax
mov eax, dword [esp + 0x50]
cmp eax, ebp
mov dword [0x7dc534], ebp
jbe 0x538504
mov ecx, dword [0x7dc534]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ecx
fild qword [esp + 0x10]
fdiv qword [0x7dc578]
call fcn.0050a970
imul eax, dword [0x7dc520]
mov dword [0x7dc5a0], eax
mov eax, dword [esp + 0x4c]
xor edi, edi
cmp eax, ebp
mov dword [0x7dc530], edi
jbe 0x5380d2
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebp
fild qword [esp + 0x18]
jmp 0x537f63
mov edi, dword [0x7dc530]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebp
fild qword [esp + 0x20]
fdiv st(1)
fst qword [0x7dc548]
fmul st(1)
fst qword [0x7dc558]
call fcn.0050a970
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebp
fild qword [esp + 0x28]
fsubr qword [0x7dc558]
fstp qword [0x7dc550]
fld qword [0x5cff18]
fmul qword [0x7dc550]
fst qword [0x7dc568]
fcos
fsubr qword [0x5a8418]
fmul qword [0x5a8460]
fstp qword [0x7dc528]
fld qword [0x7dc558]
fdiv qword [0x7dc588]
call fcn.0050a970
xor ecx, ecx
xor edx, edx
mov cl, byte [ebx + 0xc]
imul ecx, eax
mov dword [0x7dc598], ecx
mov dl, byte [ebx + 0xc]
inc eax
imul eax, edx
xor edx, edx
mov dword [0x7dc59c], eax
mov dl, byte [esi + 0xc]
mov ebp, edx
mov edx, dword [0x7dc534]
imul edx, dword [0x7dc5b0]
imul ebp, edi
add ebp, edx
xor edi, edi
mov dword [0x7dc5b4], ebp
mov dword [0x7dc5c0], edi
mov dl, byte [esi + 0xc]
test dl, dl
jbe 0x5380b7
jmp 0x538034
mov ecx, dword [0x7dc598]
mov eax, dword [0x7dc59c]
mov ebp, dword [0x7dc5b4]
mov edx, dword [0x7dc5a0]
add ecx, edi
add ecx, edx
mov edx, dword [0x7dc544]
fld qword [0x5a8418]
mov ecx, dword [edx + ecx*4]
add eax, edi
add eax, dword [0x7dc5a0]
mov dword [0x7dc570], ecx
fsub qword [0x7dc528]
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov eax, dword [edx + eax*4]
mov dword [esp + 0x34], ecx
fild qword [esp + 0x30]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
fmulp st(1)
fild qword [esp + 0x38]
mov dword [0x7dc580], eax
fmul qword [0x7dc528]
faddp st(1)
call fcn.0050a970
mov ecx, dword [0x7dc560]
add edi, ebp
xor edx, edx
mov dword [ecx + edi*4], eax
mov edi, dword [0x7dc5c0]
inc edi
mov dword [0x7dc5c0], edi
mov dl, byte [esi + 0xc]
cmp edi, edx
jb 0x538023
mov eax, dword [0x7dc530]
mov ecx, dword [esp + 0x4c]
inc eax
xor ebp, ebp
cmp eax, ecx
mov dword [0x7dc530], eax
jb 0x537f5d
fstp st(0)
mov eax, dword [0x7dc534]
mov ecx, dword [esp + 0x50]
inc eax
cmp eax, ecx
mov dword [0x7dc534], eax
jb 0x537f12
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [ebx + 0x14]
xor ebp, ebp
mov dword [0x7dc5bc], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esi + 0x14]
cmp eax, ebp
mov dword [0x7dc540], ecx
mov dword [0x7dc534], ebp
jbe 0x538504
mov edx, dword [0x7dc534]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], edx
fild qword [esp + 0x38]
fdiv qword [0x7dc578]
call fcn.0050a970
imul eax, dword [0x7dc520]
mov dword [0x7dc5a0], eax
mov eax, dword [esp + 0x4c]
xor edi, edi
cmp eax, ebp
mov dword [0x7dc530], edi
jbe 0x5382e8
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ebp
fild qword [esp + 0x30]
jmp 0x538169
mov edi, dword [0x7dc530]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebp
fild qword [esp + 0x28]
fdiv st(1)
fst qword [0x7dc548]
fmul st(1)
fst qword [0x7dc558]
call fcn.0050a970
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebp
fild qword [esp + 0x20]
fsubr qword [0x7dc558]
fstp qword [0x7dc550]
fld qword [0x5cff18]
fmul qword [0x7dc550]
fst qword [0x7dc568]
fcos
fsubr qword [0x5a8418]
fmul qword [0x5a8460]
fstp qword [0x7dc528]
fld qword [0x7dc558]
fdiv qword [0x7dc588]
call fcn.0050a970
xor ecx, ecx
lea edx, [eax + 1]
mov cl, byte [ebx + 0xc]
imul ecx, eax
xor eax, eax
mov dword [0x7dc598], ecx
mov al, byte [ebx + 0xc]
imul edx, eax
xor eax, eax
mov dword [0x7dc59c], edx
mov al, byte [esi + 0xc]
mov ebp, eax
mov eax, dword [0x7dc534]
imul eax, dword [0x7dc5b0]
imul ebp, edi
add ebp, eax
xor edi, edi
mov dword [0x7dc5b4], ebp
mov dword [0x7dc5c0], edi
mov al, byte [esi + 0xc]
test al, al
jbe 0x5382cd
jmp 0x53823d
mov ecx, dword [0x7dc598]
mov edx, dword [0x7dc59c]
mov ebp, dword [0x7dc5b4]
mov ebx, dword [0x7dc5a0]
add ecx, edi
add ecx, ebx
mov ebx, dword [0x7dc5bc]
fld qword [0x5a8418]
xor eax, eax
add edx, edi
mov ax, word [ebx + ecx*2]
mov ecx, dword [0x7dc5a0]
fsub qword [0x7dc528]
mov dword [0x7dc570], eax
mov dword [esp + 0x18], eax
xor eax, eax
add edx, ecx
mov dword [esp + 0x1c], eax
xor ecx, ecx
fild qword [esp + 0x18]
mov cx, word [ebx + edx*2]
mov dword [esp + 0x14], eax
fmulp st(1)
mov dword [esp + 0x10], ecx
mov dword [0x7dc580], ecx
fild qword [esp + 0x10]
fmul qword [0x7dc528]
faddp st(1)
call fcn.0050a970
mov ecx, dword [0x7dc540]
add edi, ebp
xor edx, edx
mov word [ecx + edi*2], ax
mov edi, dword [0x7dc5c0]
inc edi
mov dword [0x7dc5c0], edi
mov dl, byte [esi + 0xc]
cmp edi, edx
jb 0x53822b
mov ebx, dword [esp + 0x44]
mov eax, dword [0x7dc530]
mov ecx, dword [esp + 0x4c]
inc eax
xor ebp, ebp
cmp eax, ecx
mov dword [0x7dc530], eax
jb 0x538163
fstp st(0)
mov eax, dword [0x7dc534]
mov ecx, dword [esp + 0x50]
inc eax
cmp eax, ecx
mov dword [0x7dc534], eax
jb 0x538118
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [esp + 0x50]
xor ebp, ebp
cmp eax, ebp
mov dword [0x7dc534], ebp
jbe 0x538504
mov eax, dword [0x7dc534]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], eax
fild qword [esp + 0x38]
fdiv qword [0x7dc578]
call fcn.0050a970
imul eax, dword [0x7dc520]
mov dword [0x7dc5a0], eax
mov eax, dword [esp + 0x4c]
xor edi, edi
cmp eax, ebp
mov dword [0x7dc530], edi
jbe 0x5384ed
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ebp
fild qword [esp + 0x30]
jmp 0x53836d
mov edi, dword [0x7dc530]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebp
fild qword [esp + 0x28]
fdiv st(1)
fst qword [0x7dc548]
fmul st(1)
fst qword [0x7dc558]
call fcn.0050a970
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebp
fild qword [esp + 0x20]
fsubr qword [0x7dc558]
fstp qword [0x7dc550]
fld qword [0x5cff18]
fmul qword [0x7dc550]
fst qword [0x7dc568]
fcos
fsubr qword [0x5a8418]
fmul qword [0x5a8460]
fstp qword [0x7dc528]
fld qword [0x7dc558]
fdiv qword [0x7dc588]
call fcn.0050a970
xor ecx, ecx
xor edx, edx
mov cl, byte [ebx + 0xc]
lea ebp, [eax + 1]
imul ecx, eax
mov dword [0x7dc598], ecx
mov dl, byte [ebx + 0xc]
imul ebp, edx
mov edx, dword [0x7dc534]
xor eax, eax
imul edx, dword [0x7dc5b0]
mov dword [0x7dc59c], ebp
mov al, byte [esi + 0xc]
mov ebp, eax
imul ebp, edi
add ebp, edx
xor edi, edi
mov dword [0x7dc5b4], ebp
mov dword [0x7dc5c0], edi
mov al, byte [esi + 0xc]
test al, al
jbe 0x5384d2
jmp 0x53843c
mov ecx, dword [0x7dc598]
mov ebp, dword [0x7dc5b4]
mov edx, dword [0x7dc5a0]
lea eax, [edi + ecx]
mov ecx, dword [ebx + 0x14]
add eax, edx
xor edx, edx
mov dl, byte [eax + ecx]
mov ecx, dword [0x7dc59c]
fld qword [0x5a8418]
fsub qword [0x7dc528]
mov eax, edx
lea edx, [edi + ecx]
mov ecx, dword [0x7dc5a0]
mov dword [0x7dc570], eax
mov dword [esp + 0x18], eax
add edx, ecx
mov ecx, dword [ebx + 0x14]
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x1c], eax
mov bl, byte [edx + ecx]
mov dword [esp + 0x14], eax
fild qword [esp + 0x18]
mov ecx, ebx
fmulp st(1)
mov dword [esp + 0x10], ecx
mov dword [0x7dc580], ecx
fild qword [esp + 0x10]
fmul qword [0x7dc528]
faddp st(1)
call fcn.0050a970
mov edx, dword [esi + 0x14]
mov ebx, dword [esp + 0x44]
add edx, edi
mov byte [edx + ebp], al
mov edi, dword [0x7dc5c0]
inc edi
xor eax, eax
mov dword [0x7dc5c0], edi
mov al, byte [esi + 0xc]
cmp edi, eax
jb 0x538430
mov eax, dword [0x7dc530]
mov ecx, dword [esp + 0x4c]
inc eax
xor ebp, ebp
cmp eax, ecx
mov dword [0x7dc530], eax
jb 0x538367
fstp st(0)
mov eax, dword [0x7dc534]
mov ecx, dword [esp + 0x50]
inc eax
cmp eax, ecx
mov dword [0x7dc534], eax
jb 0x53831d
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
sub esp, 0x5c
xor ecx, ecx
xor edx, edx
push ebx
push ebp
mov ebp, dword [esp + 0x68]
push esi
mov esi, dword [esp + 0x70]
push edi
mov cl, byte [ebp + 0xd]
mov eax, dword [ebp + 0x10]
div ecx
xor ecx, ecx
xor edx, edx
mov dword [0x7dc520], eax
mov cl, byte [esi + 0xd]
mov eax, dword [esi + 0x10]
div ecx
mov dword [0x7dc5b0], eax
xor eax, eax
mov al, byte [ebp + 0xd]
dec eax
je 0x538ef1
dec eax
je 0x538a28
sub eax, 2
jne 0x539389
mov edi, dword [ebp + 0x14]
mov eax, dword [esp + 0x7c]
mov dword [0x7dc544], edi
mov edx, dword [esi + 0x14]
dec eax
mov ebx, 0
mov dword [0x7dc560], edx
mov dword [esp + 0x7c], eax
mov dword [0x7dc534], ebx
je 0x538861
fld qword [0x5a8418]
fdiv qword [0x7dc578]
mov ebp, dword [0x7dc534]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ebp
fild qword [esp + 0x14]
fmul st(1)
call fcn.0050a970
mov ebx, dword [0x7dc520]
imul eax, ebx
inc ebp
mov dword [0x7dc5a0], eax
mov dword [esp + 0x1c], ebp
xor ebp, ebp
mov dword [esp + 0x20], ebp
fild qword [esp + 0x1c]
fmul st(1)
call fcn.0050a970
imul eax, ebx
fstp st(0)
mov dword [0x7dc5a4], eax
mov eax, dword [esp + 0x78]
cmp eax, ebp
mov dword [0x7dc530], ebp
jbe 0x538844
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x24], eax
xor eax, eax
inc ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
fild qword [esp + 0x24]
mov dword [esp + 0x30], eax
fild qword [esp + 0x2c]
fld st(1)
fdiv qword [0x7dc588]
mov edx, dword [0x7dc530]
xor ebp, ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebp
fstp qword [0x7dc4d0]
fild qword [esp + 0x34]
fdiv st(2)
fstp qword [0x7dc548]
fld st(1)
fmul qword [0x7dc548]
fld st(0)
call fcn.0050a970
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebp
fild qword [esp + 0x3c]
mov eax, dword [esp + 0x70]
xor ebx, ebx
fsubr st(1)
fstp qword [0x7dc550]
fstp st(0)
fld qword [0x5a8418]
fsub qword [0x7dc550]
fstp qword [0x7dc4d8]
fld qword [0x7dc548]
fmul qword [0x7dc4d0]
fstp qword [0x7dc558]
fld qword [0x7dc558]
mov bl, byte [eax + 0xc]
call fcn.0050a970
imul ebx, eax
fld qword [0x7dc558]
fadd qword [0x5a8418]
mov dword [0x7dc598], ebx
call fcn.0050a970
mov edx, dword [esp + 0x70]
xor ecx, ecx
mov cl, byte [edx + 0xc]
imul eax, ecx
xor ecx, ecx
mov dword [0x7dc59c], eax
mov dword [0x7dc5c0], ecx
mov dl, byte [esi + 0xc]
test dl, dl
jbe 0x538784
mov edx, dword [0x7dc5a0]
add edx, ebx
mov dword [esp + 0x10], edx
mov edx, dword [0x7dc5a0]
add edx, eax
mov dword [esp + 0x74], edx
mov edx, dword [0x7dc5a4]
add ebx, edx
add eax, edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x48], ebp
add edx, ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x60], ebp
mov edx, dword [edi + edx*4]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x10]
fild qword [esp + 0x44]
add edx, ecx
mov edx, dword [edi + edx*4]
fmul qword [0x7dc550]
mov dword [esp + 0x4c], edx
lea edx, [eax + ecx]
fild qword [esp + 0x4c]
fmul qword [0x7dc4d8]
faddp st(1)
fstp qword [ecx*8 + 0x7dc4e0]
mov edx, dword [edi + edx*4]
mov dword [esp + 0x54], edx
lea edx, [ebx + ecx]
fild qword [esp + 0x54]
mov edx, dword [edi + edx*4]
inc ecx
mov dword [esp + 0x5c], edx
xor edx, edx
fmul qword [0x7dc550]
fild qword [esp + 0x5c]
mov dword [0x7dc5c0], ecx
fmul qword [0x7dc4d8]
faddp st(1)
fstp qword [ecx*8 + 0x7dc4f8]
mov dl, byte [esi + 0xc]
cmp ecx, edx
jb 0x5386f8
mov eax, dword [0x7dc534]
xor ebp, ebp
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebp
fild qword [esp + 0x64]
imul eax, dword [0x7dc5b0]
fdiv st(1)
xor ebx, ebx
fstp qword [0x7dc548]
fld qword [0x5a8418]
fsub qword [0x7dc548]
fstp qword [0x7dc4d8]
mov bl, byte [esi + 0xc]
mov dword [0x7dc5c0], ebp
imul ebx, dword [0x7dc530]
add ebx, eax
mov dword [0x7dc5b4], ebx
mov al, byte [esi + 0xc]
test al, al
jbe 0x538829
jmp 0x5387e1
mov ebx, dword [0x7dc5b4]
fld qword [0x7dc4d8]
fmul qword [ebp*8 + 0x7dc4e0]
fld qword [0x7dc548]
fmul qword [ebp*8 + 0x7dc500]
faddp st(1)
call fcn.0050a970
mov ecx, dword [0x7dc560]
add ebx, ebp
xor edx, edx
mov dword [ecx + ebx*4], eax
mov ebp, dword [0x7dc5c0]
inc ebp
mov dword [0x7dc5c0], ebp
mov dl, byte [esi + 0xc]
cmp ebp, edx
jb 0x5387db
mov edi, dword [0x7dc544]
mov eax, dword [0x7dc530]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, ecx
mov dword [0x7dc530], eax
jb 0x538611
fstp st(0)
fstp st(0)
mov eax, dword [0x7dc534]
mov ecx, dword [esp + 0x7c]
inc eax
cmp eax, ecx
mov dword [0x7dc534], eax
jb 0x538589
mov ebp, dword [esp + 0x70]
xor ebx, ebx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], eax
fild qword [esp + 0x64]
fdiv qword [0x7dc578]
call fcn.0050a970
imul eax, dword [0x7dc520]
mov dword [0x7dc5a0], eax
mov eax, dword [esp + 0x78]
cmp eax, ebx
mov dword [0x7dc530], ebx
jbe 0x539389
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
jmp 0x5388ac
mov ebp, dword [esp + 0x70]
fld qword [0x7dc588]
fdivr st(1)
mov ecx, dword [0x7dc530]
xor ebx, ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ebx
fstp qword [0x7dc4d0]
fild qword [esp + 0x64]
fdiv st(1)
fst qword [0x7dc548]
fmul st(1)
fst qword [0x7dc558]
call fcn.0050a970
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [0x7dc558]
fmul qword [0x5cff18]
fst qword [0x7dc568]
fcos
fsubr qword [0x5a8418]
fmul qword [0x5a8460]
fstp qword [0x7dc528]
fld qword [0x7dc548]
fmul qword [0x7dc4d0]
mov bl, byte [ebp + 0xc]
fld st(0)
call fcn.0050a970
imul ebx, eax
fadd qword [0x5a8418]
mov dword [0x7dc598], ebx
call fcn.0050a970
xor edx, edx
mov ecx, dword [0x7dc5b0]
mov dl, byte [ebp + 0xc]
imul ecx, dword [esp + 0x7c]
imul eax, edx
xor ebx, ebx
mov dword [0x7dc59c], eax
mov bl, byte [ebp + 0xc]
xor ebp, ebp
imul ebx, dword [0x7dc530]
add ebx, ecx
mov dword [0x7dc5c0], ebp
mov dword [0x7dc5b4], ebx
mov cl, byte [esi + 0xc]
test cl, cl
jbe 0x538a05
jmp 0x53898b
mov eax, dword [0x7dc59c]
mov ebx, dword [0x7dc5b4]
mov edx, dword [0x7dc598]
mov ecx, dword [0x7dc5a0]
add edx, ebp
add eax, ebp
add edx, ecx
add eax, ecx
mov edx, dword [edi + edx*4]
mov ecx, dword [edi + eax*4]
mov dword [esp + 0x54], edx
xor edx, edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x4c], ecx
fild qword [esp + 0x54]
fld qword [0x5a8418]
fsub qword [0x7dc528]
mov dword [esp + 0x50], edx
fmulp st(1)
fild qword [esp + 0x4c]
fmul qword [0x7dc528]
faddp st(1)
call fcn.0050a970
mov edx, dword [0x7dc560]
add ebx, ebp
mov dword [edx + ebx*4], eax
mov ebp, dword [0x7dc5c0]
mov edi, dword [0x7dc544]
inc ebp
xor eax, eax
mov dword [0x7dc5c0], ebp
mov al, byte [esi + 0xc]
cmp ebp, eax
jb 0x538980
mov eax, dword [0x7dc530]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, ecx
mov dword [0x7dc530], eax
jb 0x5388a8
mov eax, esi
pop edi
pop esi
pop ebp
fstp st(0)
pop ebx
add esp, 0x5c
ret
mov edi, dword [ebp + 0x14]
mov eax, dword [esp + 0x7c]
mov dword [0x7dc5bc], edi
mov ecx, dword [esi + 0x14]
dec eax
mov ebx, 0
mov dword [0x7dc540], ecx
mov dword [esp + 0x7c], eax
mov dword [0x7dc534], ebx
je 0x538d26
fld qword [0x5a8418]
fdiv qword [0x7dc578]
mov ebp, dword [0x7dc534]
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], ebp
fild qword [esp + 0x64]
fmul st(1)
call fcn.0050a970
mov ebx, dword [0x7dc520]
imul eax, ebx
inc ebp
mov dword [0x7dc5a0], eax
mov dword [esp + 0x5c], ebp
xor ebp, ebp
mov dword [esp + 0x60], ebp
fild qword [esp + 0x5c]
fmul st(1)
call fcn.0050a970
imul eax, ebx
fstp st(0)
mov dword [0x7dc5a4], eax
mov eax, dword [esp + 0x78]
cmp eax, ebp
mov dword [0x7dc530], ebp
jbe 0x538d09
mov ecx, dword [esp + 0x7c]
mov edx, eax
xor eax, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
inc ecx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
fild qword [esp + 0x4c]
fld st(1)
fdiv qword [0x7dc588]
mov edx, dword [0x7dc530]
xor ebx, ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ebx
fstp qword [0x7dc4d0]
fild qword [esp + 0x44]
fdiv st(2)
fstp qword [0x7dc548]
fld st(1)
fmul qword [0x7dc548]
fld st(0)
call fcn.0050a970
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
fild qword [esp + 0x3c]
mov ebp, dword [esp + 0x70]
fsubr st(1)
fstp qword [0x7dc550]
fstp st(0)
fld qword [0x5a8418]
fsub qword [0x7dc550]
fstp qword [0x7dc4d8]
fld qword [0x7dc548]
fmul qword [0x7dc4d0]
fstp qword [0x7dc558]
fld qword [0x7dc558]
mov bl, byte [ebp + 0xc]
call fcn.0050a970
imul ebx, eax
fld qword [0x7dc558]
fadd qword [0x5a8418]
mov dword [0x7dc598], ebx
call fcn.0050a970
xor ecx, ecx
mov cl, byte [ebp + 0xc]
imul eax, ecx
xor ecx, ecx
mov dword [0x7dc59c], eax
mov dword [0x7dc5c0], ecx
mov dl, byte [esi + 0xc]
test dl, dl
jbe 0x538c48
mov ebp, dword [0x7dc5a0]
lea edx, [ebx + ebp]
add ebp, eax
mov dword [esp + 0x74], ebp
mov ebp, dword [0x7dc5a4]
add ebp, ebx
mov ebx, dword [0x7dc5a4]
add eax, ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
xor ebx, ebx
add eax, ecx
mov bx, word [edi + eax*2]
lea eax, [edx + ecx]
mov dword [esp + 0x10], ebx
xor ebx, ebx
fild dword [esp + 0x10]
mov bx, word [edi + eax*2]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], ebx
add eax, ecx
fmul qword [0x7dc550]
fild dword [esp + 0x10]
xor ebx, ebx
fmul qword [0x7dc4d8]
faddp st(1)
fstp qword [ecx*8 + 0x7dc4e0]
mov bx, word [edi + eax*2]
lea eax, [ecx + ebp]
mov dword [esp + 0x10], ebx
xor ebx, ebx
fild dword [esp + 0x10]
mov bx, word [edi + eax*2]
inc ecx
mov dword [esp + 0x10], ebx
xor eax, eax
fmul qword [0x7dc550]
fild dword [esp + 0x10]
mov dword [0x7dc5c0], ecx
fmul qword [0x7dc4d8]
faddp st(1)
fstp qword [ecx*8 + 0x7dc4f8]
mov al, byte [esi + 0xc]
cmp ecx, eax
jb 0x538bc0
mov eax, dword [0x7dc534]
xor ebp, ebp
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebp
fild qword [esp + 0x34]
imul eax, dword [0x7dc5b0]
fdiv st(1)
xor ebx, ebx
fstp qword [0x7dc548]
fld qword [0x5a8418]
fsub qword [0x7dc548]
fstp qword [0x7dc4d8]
mov bl, byte [esi + 0xc]
mov dword [0x7dc5c0], ebp
imul ebx, dword [0x7dc530]
add ebx, eax
mov dword [0x7dc5b4], ebx
mov al, byte [esi + 0xc]
test al, al
jbe 0x538cee
jmp 0x538ca5
mov ebx, dword [0x7dc5b4]
fld qword [0x7dc4d8]
fmul qword [ebp*8 + 0x7dc4e0]
fld qword [0x7dc548]
fmul qword [ebp*8 + 0x7dc500]
faddp st(1)
call fcn.0050a970
mov ecx, dword [0x7dc540]
add ebx, ebp
xor edx, edx
mov word [ecx + ebx*2], ax
mov ebp, dword [0x7dc5c0]
inc ebp
mov dword [0x7dc5c0], ebp
mov dl, byte [esi + 0xc]
cmp ebp, edx
jb 0x538c9f
mov edi, dword [0x7dc5bc]
mov eax, dword [0x7dc530]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, ecx
mov dword [0x7dc530], eax
jb 0x538ade
fstp st(0)
fstp st(0)
mov eax, dword [0x7dc534]
mov ecx, dword [esp + 0x7c]
inc eax
cmp eax, ecx
mov dword [0x7dc534], eax
jb 0x538a54
mov ebp, dword [esp + 0x70]
xor ebx, ebx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], eax
fild qword [esp + 0x64]
fdiv qword [0x7dc578]
call fcn.0050a970
imul eax, dword [0x7dc520]
mov dword [0x7dc5a0], eax
mov eax, dword [esp + 0x78]
cmp eax, ebx
mov dword [0x7dc530], ebx
jbe 0x539389
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
jmp 0x538d71
mov ebp, dword [esp + 0x70]
fld qword [0x7dc588]
fdivr st(1)
mov ecx, dword [0x7dc530]
xor ebx, ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ebx
fstp qword [0x7dc4d0]
fild qword [esp + 0x64]
fdiv st(1)
fst qword [0x7dc548]
fmul st(1)
fst qword [0x7dc558]
call fcn.0050a970
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [0x7dc558]
fmul qword [0x5cff18]
fst qword [0x7dc568]
fcos
fsubr qword [0x5a8418]
fmul qword [0x5a8460]
fstp qword [0x7dc528]
fld qword [0x7dc548]
fmul qword [0x7dc4d0]
mov bl, byte [ebp + 0xc]
fld st(0)
call fcn.0050a970
imul ebx, eax
fadd qword [0x5a8418]
mov dword [0x7dc598], ebx
call fcn.0050a970
xor edx, edx
mov ecx, dword [0x7dc5b0]
mov dl, byte [ebp + 0xc]
imul ecx, dword [esp + 0x7c]
imul eax, edx
xor ebx, ebx
mov dword [0x7dc59c], eax
mov bl, byte [ebp + 0xc]
xor ebp, ebp
imul ebx, dword [0x7dc530]
add ebx, ecx
mov dword [0x7dc5c0], ebp
mov dword [0x7dc5b4], ebx
mov cl, byte [esi + 0xc]
test cl, cl
jbe 0x538ece
jmp 0x538e50
mov eax, dword [0x7dc59c]
mov ebx, dword [0x7dc5b4]
mov edx, dword [0x7dc598]
add eax, ebp
lea ecx, [edx + ebp]
mov edx, dword [0x7dc5a0]
add ecx, edx
xor edx, edx
mov dx, word [edi + ecx*2]
mov ecx, dword [0x7dc5a0]
mov dword [esp + 0x74], edx
add eax, ecx
fild dword [esp + 0x74]
fld qword [0x5a8418]
fsub qword [0x7dc528]
xor ecx, ecx
mov cx, word [edi + eax*2]
fmulp st(1)
mov dword [esp + 0x74], ecx
fild dword [esp + 0x74]
fmul qword [0x7dc528]
faddp st(1)
call fcn.0050a970
mov edx, dword [0x7dc540]
add ebx, ebp
mov word [edx + ebx*2], ax
mov ebp, dword [0x7dc5c0]
mov edi, dword [0x7dc5bc]
inc ebp
xor eax, eax
mov dword [0x7dc5c0], ebp
mov al, byte [esi + 0xc]
cmp ebp, eax
jb 0x538e45
mov eax, dword [0x7dc530]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, ecx
mov dword [0x7dc530], eax
jb 0x538d6d
mov eax, esi
pop edi
pop esi
pop ebp
fstp st(0)
pop ebx
add esp, 0x5c
ret
mov eax, dword [esp + 0x7c]
mov edi, 0
dec eax
mov dword [0x7dc534], edi
mov dword [esp + 0x7c], eax
je 0x5391de
fld qword [0x5a8418]
fdiv qword [0x7dc578]
mov ebx, dword [0x7dc534]
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], ebx
fild qword [esp + 0x64]
fmul st(1)
call fcn.0050a970
mov edi, dword [0x7dc520]
mov ebp, eax
imul ebp, edi
inc ebx
mov dword [0x7dc5a0], ebp
mov dword [esp + 0x5c], ebx
xor ebx, ebx
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fmul st(1)
call fcn.0050a970
imul eax, edi
fstp st(0)
mov dword [0x7dc5a4], eax
mov eax, dword [esp + 0x78]
cmp eax, ebx
mov dword [0x7dc530], ebx
jbe 0x5391c1
mov edx, dword [esp + 0x7c]
mov ecx, eax
xor eax, eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
inc edx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
fild qword [esp + 0x4c]
fld st(1)
fdiv qword [0x7dc588]
mov eax, dword [0x7dc530]
xor edi, edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edi
fstp qword [0x7dc4d0]
fild qword [esp + 0x44]
fdiv st(2)
fstp qword [0x7dc548]
fld st(1)
fmul qword [0x7dc548]
fld st(0)
call fcn.0050a970
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edi
fild qword [esp + 0x3c]
mov ebx, dword [esp + 0x70]
xor ecx, ecx
fsubr st(1)
fstp qword [0x7dc550]
fstp st(0)
fld qword [0x5a8418]
fsub qword [0x7dc550]
fstp qword [0x7dc4d8]
fld qword [0x7dc548]
fmul qword [0x7dc4d0]
fstp qword [0x7dc558]
mov cl, byte [ebx + 0xc]
fld qword [0x7dc558]
mov edi, ecx
call fcn.0050a970
imul edi, eax
fld qword [0x7dc558]
fadd qword [0x5a8418]
mov dword [0x7dc598], edi
call fcn.0050a970
xor edx, edx
xor ecx, ecx
mov dl, byte [ebx + 0xc]
mov dword [0x7dc5c0], ecx
imul eax, edx
mov dword [0x7dc59c], eax
mov dl, byte [esi + 0xc]
test dl, dl
jbe 0x539102
mov edx, dword [esp + 0x70]
xor ebx, ebx
mov edx, dword [edx + 0x14]
add edx, ecx
mov dword [esp + 0x74], edx
add edx, eax
mov bl, byte [edx + ebp]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x14], ebx
add edx, edi
fild dword [esp + 0x14]
xor ebx, ebx
mov bl, byte [edx + ebp]
mov edx, dword [esp + 0x70]
fmul qword [0x7dc550]
mov dword [esp + 0x74], ebx
mov ebp, dword [0x7dc5a4]
fild dword [esp + 0x74]
xor ebx, ebx
fmul qword [0x7dc4d8]
faddp st(1)
fstp qword [ecx*8 + 0x7dc4e0]
mov edx, dword [edx + 0x14]
add edx, ecx
mov dword [esp + 0x74], edx
add edx, eax
mov bl, byte [edx + ebp]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x14], ebx
add edx, edi
fild dword [esp + 0x14]
xor ebx, ebx
inc ecx
mov bl, byte [edx + ebp]
mov ebp, dword [0x7dc5a0]
fmul qword [0x7dc550]
mov dword [esp + 0x74], ebx
xor edx, edx
fild dword [esp + 0x74]
mov dword [0x7dc5c0], ecx
fmul qword [0x7dc4d8]
faddp st(1)
fstp qword [ecx*8 + 0x7dc4f8]
mov dl, byte [esi + 0xc]
cmp ecx, edx
jb 0x53905a
mov eax, dword [0x7dc534]
xor ebx, ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebx
fild qword [esp + 0x34]
imul eax, dword [0x7dc5b0]
fdiv st(1)
xor ecx, ecx
fstp qword [0x7dc548]
fld qword [0x5a8418]
fsub qword [0x7dc548]
fstp qword [0x7dc4d8]
mov cl, byte [esi + 0xc]
mov dword [0x7dc5c0], ebx
mov edi, ecx
imul edi, dword [0x7dc530]
add edi, eax
mov dword [0x7dc5b4], edi
mov al, byte [esi + 0xc]
test al, al
jbe 0x5391a6
jmp 0x539161
mov edi, dword [0x7dc5b4]
fld qword [0x7dc4d8]
fmul qword [ebx*8 + 0x7dc4e0]
fld qword [0x7dc548]
fmul qword [ebx*8 + 0x7dc500]
faddp st(1)
call fcn.0050a970
mov edx, dword [esi + 0x14]
add edx, edi
mov byte [edx + ebx], al
mov ebx, dword [0x7dc5c0]
inc ebx
xor eax, eax
mov dword [0x7dc5c0], ebx
mov al, byte [esi + 0xc]
cmp ebx, eax
jb 0x53915b
mov ebp, dword [0x7dc5a0]
mov eax, dword [0x7dc530]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, ecx
mov dword [0x7dc530], eax
jb 0x538f98
fstp st(0)
fstp st(0)
mov eax, dword [0x7dc534]
mov ecx, dword [esp + 0x7c]
inc eax
cmp eax, ecx
mov dword [0x7dc534], eax
jb 0x538f0b
mov ebp, dword [esp + 0x70]
xor edi, edi
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], ecx
fild qword [esp + 0x64]
fdiv qword [0x7dc578]
call fcn.0050a970
imul eax, dword [0x7dc520]
mov dword [0x7dc5a0], eax
mov eax, dword [esp + 0x78]
cmp eax, edi
mov dword [0x7dc530], edi
jbe 0x539389
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edi
fild qword [esp + 0x64]
jmp 0x53922f
mov ebp, dword [esp + 0x70]
mov edi, dword [0x7dc530]
fld qword [0x7dc588]
fdivr st(1)
xor ebx, ebx
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], ebx
fstp qword [0x7dc4d0]
fild qword [esp + 0x64]
fdiv st(1)
fst qword [0x7dc548]
fmul st(1)
fst qword [0x7dc558]
call fcn.0050a970
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [0x7dc558]
fmul qword [0x5cff18]
fst qword [0x7dc568]
fcos
fsubr qword [0x5a8418]
fmul qword [0x5a8460]
fstp qword [0x7dc528]
fld qword [0x7dc548]
fmul qword [0x7dc4d0]
mov bl, byte [ebp + 0xc]
fld st(0)
call fcn.0050a970
imul ebx, eax
fadd qword [0x5a8418]
mov dword [0x7dc598], ebx
call fcn.0050a970
xor edx, edx
mov ecx, dword [0x7dc5b0]
mov dl, byte [ebp + 0xc]
imul ecx, dword [esp + 0x7c]
imul eax, edx
mov dword [0x7dc59c], eax
xor eax, eax
mov al, byte [ebp + 0xc]
mov ebp, eax
imul ebp, edi
add ebp, ecx
xor edi, edi
mov dword [0x7dc5b4], ebp
mov dword [0x7dc5c0], edi
mov al, byte [esi + 0xc]
test al, al
jbe 0x539370
jmp 0x539303
mov ebx, dword [0x7dc598]
mov ebp, dword [0x7dc5b4]
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 0x14]
lea ecx, [edi + eax]
mov eax, dword [0x7dc5a0]
lea edx, [ecx + ebx]
xor ebx, ebx
mov bl, byte [edx + eax]
mov edx, dword [0x7dc59c]
mov dword [esp + 0x74], ebx
add ecx, edx
fild dword [esp + 0x74]
fld qword [0x5a8418]
fsub qword [0x7dc528]
xor edx, edx
mov dl, byte [ecx + eax]
fmulp st(1)
mov dword [esp + 0x74], edx
fild dword [esp + 0x74]
fmul qword [0x7dc528]
faddp st(1)
call fcn.0050a970
mov ecx, dword [esi + 0x14]
xor edx, edx
add ecx, ebp
mov byte [ecx + edi], al
mov edi, dword [0x7dc5c0]
inc edi
mov dword [0x7dc5c0], edi
mov dl, byte [esi + 0xc]
cmp edi, edx
jb 0x5392f7
mov eax, dword [0x7dc530]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, ecx
mov dword [0x7dc530], eax
jb 0x539225
fstp st(0)
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret